In Haskell, all functions are curried by default, so you can partially apply a function merely by applying it to fewer than the supported number of arguments.
Also, it is worth noting that laziness-by-default in Haskell makes it so that you can use ordinary functions to define control structures, rather than needing to turn to metaprogramming like you do in Lisp.
In Haskell, all functions are curried by default, so you can partially apply a function merely by applying it to fewer than the supported number of arguments.
Also, it is worth noting that laziness-by-default in Haskell makes it so that you can use ordinary functions to define control structures, rather than needing to turn to metaprogramming like you do in Lisp.