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

100%.

The lambda calculus forms the backbone of most theories of programming languages. Functional programmers use enriched forms of it directly, but all others, at least the useful ones, do make use of lambda-calculus techniques.

The LC demarcates the border between high and low-level languages. High-level programming languages have reducible expressions, low-level ones are flat. HLPLs have notion of heirarchical variable scope, within which some variables are "bound" while others are "free" and escape to a parent environment; while LLPLs often have a flat dictionary of variables, if at all.

The lambda-calculus can also be higher-level than mainstream languages. Most PLs treat functions with identical bodies as different, due to name/pointer inequality. In the LC, two forms are equal if they reduce to the same basic form, and names of bound variables are insignificant.



Any sufficiently advanced C program has redefined LISP poorly; any sufficiently advanced LISP program has redefined C poorly.

I can't recall where I first read this conjecture (booze; mobile).


You butchered Greenspun's Tenth Rule (booze; dekstop)

http://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule


Completely butchered. Thanks for the link.




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

Search: