You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Erik Price <ep...@ptc.com> on 2003/02/12 17:52:35 UTC

(OT): Re: [Jelly] Functional Jelly Redux, was Re: Jelly and X++


Todd Jonker wrote:
> On 2/11/03 7:15 PM, mdiggory@latte.harvard.edu wrote:
> 
> 
>>Can you briefly clarify "Functional Model" (even with just a link to
>>somewhere else) since it can be easily confused with other definitions
>>of functional programming?
>>
>>-Mark
> 
> 
> Good question, Mark.  I'll do my best without digging too deep into the
> COMP411 archive...

Hey Todd, thanks for writing this up.  I've heard of FP before and 
others have explained it but this one really cinched it for me.  (Or 
maybe I was just ready to understand it this time.)

> In the real world, however, imperative languages reign, and there are
> relatively few purely-functional languages, and not a one that's commonly
> used outside of academia.  They _are_ used quite a bit in academia, since
> they allow for very complete and rigorous mathematical models and analyses,
> useful for things like proving correctness of programs.  The Lambda Calculus
> is in fact very widely used means of defining the semantics of programming
> languages, whether they by functional or imperative or "other".
> 
> There are, however, quite a few "mostly functional" languages that provide
> imperative features, but where the bulk of the  programming is typically
> done in a functional way.  Lisp, Scheme, and ML all fall into this
> category... In those languges the use of an assignment is a pretty rare
> sighting.
> 
> [ Most OO languages are pretty aggressively imperative.  It's damn near
> impossible to write a useful Java program without using an assignment. ]

I don't know if it qualifies as a "functional programming language", but 
I've just recently learned that Python treats functions as first class 
objects which can be declared anonymously and passed around as any other 
value.  It is also a respectable OO scripting language in its own right.

I think it lets you take a FP paradigm approach but does not require it 
of you.



Erik


Re: (OT): Re: [Jelly] Functional Jelly Redux, was Re: Jelly and X++

Posted by Todd Jonker <tv...@pobox.com>.
On 2/12/03 11:52 AM, eprice@ptc.com wrote:

> Hey Todd, thanks for writing this up.  I've heard of FP before and
> others have explained it but this one really cinched it for me.  (Or
> maybe I was just ready to understand it this time.)

I'm glad to have been useful!  :-)


> I don't know if it qualifies as a "functional programming language", but
> I've just recently learned that Python treats functions as first class
> objects which can be declared anonymously and passed around as any other
> value.  It is also a respectable OO scripting language in its own right.
> 
> I think it lets you take a FP paradigm approach but does not require it
> of you.

Yeah, Python is one of those mixed-paradigm languages.  I'm sure Python
lovers would be able to write in detail about how first-class functions are
useful.  Thanks for bringing up a great example.


.T.

-- 
                 War is NOT a necessity!

  http://UnitedForPeace.org/    http://MoveOn.org/
  http://NotInOurName.net/      http://CWG.org/