← Back to context

Comment by pkal

2 days ago

I recently realized that "pure functional" has two meanings, one is no side-effects (functional programmers, especially of languages like Haskell use it this way) and the other is that it doesn't have imperative fragments (the jump ISWIM to SASL dropped the non-functional parts inherited from ALGOL 60). A question seems to be whether you want to view sequencing as syntax sugar for lambda expressions or not?

I'm working with Python and I'm sympathetic to the problem so I'd be curious if you have examples of what Python issues are fixed with OCaml.

  • A few ways in which Python is not really functional:

    The scoping rules of Python are not lexical

    Lambdas in Python are not multiline

    Recursion is not a practical way to write code due to stack overflows

    Monkey patching