commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Erik Price <>
Subject (OT): Re: [Jelly] Functional Jelly Redux, was Re: Jelly and X++
Date Wed, 12 Feb 2003 16:52:35 GMT

Todd Jonker wrote:
> On 2/11/03 7:15 PM, 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?
> 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.


View raw message