Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

@thrown: This makes programming with multivariable functions very clean but partial application incredibly messy

In lambdatalk the implementation of lambdas does not make them closures (no free variables) but is such that they accept de facto partial application and a number of values higher than the number of arguments. This compensates for the lack of closure. So for instance:

((lambda (x)) (lambda (y)) (lambda (z)) (lambda (w) (+ x y z w))) (1 2 3 4))

is written this way

{{{{{lambda {x y z w} {+ x y z w}} 1} 2} 3} 4} -> 10

and obviously

{{lambda {x y z w} {+ x y z w}} 1 2 3 4} -> 10



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: