Steve D'Aprano <steve+pyt...@pearwood.info>: > On Tue, 4 Oct 2016 11:27 pm, Ben Bacarisse wrote: > >> Haskell defines let (it's version of multiple mutually recursive >> bindings) in terms of the least fix point of a lambda function whose >> (pattern) parameter binds the expressions in the definitions. > > It binds *the expression* itself? Not the value of the expression?
Don't know about Haskell, but in a truly functional programming language it wouldn't make a difference. > And (shamelessly using Python syntax) if I have a function: > > def spam(x): > print(x) > print(x+1) > > and then call it: > > spam(time.sleep(60) or 1) > > it will sleep for 60 seconds, print 1, then sleep for another 60 seconds, > then print 2. Is that right? A truly functional programming language wouldn't have side effects (in this case, it wouldn't sleep). Marko -- https://mail.python.org/mailman/listinfo/python-list