[MLton-user] Fixpoints

Henry Cejtin henry.cejtin@sbcglobal.net
Fri, 04 Aug 2006 16:00:34 -0500


I  agree  that  having  what  could  be  merely  implementation details (if a
function can/is staged or not) leak out into the type is bad, but as  Stephen
points out, in an eager side-effect containing language, that certainly isn't
always just an implementation detail.  The  most  important  argument  to  me
though  about  why I prefer the tupled world to the curried one in general is
that MOST of the time, I  build  expressions  by  nesting  constant  function
applications.   In that world, composition is one of the most frequently used
operations.  I can't do that in general with a curried function.

Connected to this is  one  of  my  peeves  with  ML  syntax:  the  fact  that
application  associates to the left.  Clearly this was done to curry (BAD BAD
pun) favor from the people who use curried arguments, but the  VAST  majority
of  the  time  I  want  to  apply  a  function  to  the  result of a function
application, not apply the result of a function to a variable.