Programming Language Theory: Difference between revisions

No edit summary
Line 90: Line 90:
* Currying: <tt>(λx, y. x + y)</tt> rather than <tt>(λx. (λy. x + y))</tt>
* Currying: <tt>(λx, y. x + y)</tt> rather than <tt>(λx. (λy. x + y))</tt>
* Numeric literals rather than Church encoding
* Numeric literals rather than Church encoding
==Programming Language Design==
===Syntax===
Pierce describes three means for describing language syntax, using ''terms'' to refer to language definitions involving at least one terminal:
* Induction on successive terms (of which EBNF is a compact notation)
* Inference from axioms (terminals) and successive inference terms
* Concrete definition (generative grammar) placing successive sets of alternate terms in bijection with the ordinals
===Semantics===


==Sources==
==Sources==