|[28 earlier articles]|
|Re: Multiple return values firstname.lastname@example.org (1997-05-08)|
|Re: Multiple return values email@example.com (1997-05-13)|
|Re: Multiple return values firstname.lastname@example.org (Ray Dillinger) (1997-05-13)|
|Re: Multiple return values email@example.com (Jan Vorbrueggen) (1997-05-14)|
|Re: Multiple return values firstname.lastname@example.org (1997-05-14)|
|Re: Multiple return values email@example.com (Mark Tillotson) (1997-05-25)|
|Re: Multiple return values firstname.lastname@example.org (1997-05-25)|
|Re: Multiple return values email@example.com (1997-05-30)|
|From:||firstname.lastname@example.org (Henry Baker)|
|Date:||25 May 1997 13:55:09 -0400|
|References:||97-04-091 97-04-112 97-05-273|
Mark Tillotson <email@example.com> wrote:
> Huh? Mathematically a function is simply a many-1 binary relation
> defined for the whole of its domain. Any talk of more than one
> argument is shorthand for using cartesian products, which you can do
> with the result just as easily. In fact functions really don't have
> anything to do with calculation!!
You are correct, but the cartesian product mapping is only one of many
possible mappings. Currying, for example, is _not_ isomorphic to your
cartesian product argument (except in the computed results), and seems
to work just fine for many functional and/or graph-reduction
> The implementors of Fortran didn't, it seems, want to implement
> closures and curried functions, and set a(n) historical precedent.
I'm afraid that the implementors of Fortran didn't _know_ about
closures and curried functions, so I don't think that leaving them out
was an explicit choice on their part.
BTW, as my 'lively linear lisp' paper shows, GC (at least tracing GC)
is not 'required' for closures and curried functions. See my paper on
running closures in a Postscript interpreter for more info:
ftp://ftp.netcom.com/pub/hb/hbaker/ForthStack.html (also .ps.Z)
Return to the
Search the comp.compilers archives again.