Programming Language Theory: Difference between revisions
| Line 24: | Line 24: | ||
===Untyped λ-calculus=== | ===Untyped λ-calculus=== | ||
BNF grammar: | BNF grammar: | ||
<pre>λ-term ::= λ-app | λ-abst | | <pre>λ-term ::= λ-app | λ-abst | var | ||
λ-app ::= λ-term λ-term | λ-app ::= λ-term λ-term | ||
λ-abst ::= 'λ | λ-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> | ||