Programming Language Theory: Difference between revisions
| Line 24: | Line 24: | ||
===Untyped λ-calculus=== | ===Untyped λ-calculus=== | ||
BNF grammar: | BNF grammar: | ||
< | <pre>λ-term ::= λ-app | λ-abst | ''var'' | ||
λ-app ::= λ-term λ-term | λ-app ::= λ-term λ-term | ||
λ-abst ::= 'λ'''var'''.' λ-term</ | λ-abst ::= 'λ'''var'''.' λ-term</pre> | ||
Two operators (function ''definition'' and ''application'') upon one operand type (λ-expression). | Two operators (function ''definition'' and ''application'') upon one operand type (λ-expression). | ||
* Function definition: <tt>(λ''boundparam''. body)</tt> | * Function definition: <tt>(λ''boundparam''. body)</tt> | ||