diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2026-03-22 13:16:21 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2026-03-22 13:16:21 +0100 |
| commit | 4fed459d89b6b3abcce8028b19af806b48a38bd7 (patch) | |
| tree | e3bec85996ad03286b261d8f32eb456e35b164e0 /lambda-calcul/haskell/plan.md | |
| parent | afb965ca75a106063c36195a1c180baebe610115 (diff) | |
| download | lambda-nantes-4fed459d89b6b3abcce8028b19af806b48a38bd7.tar.gz | |
Add builtin arithmetic operators
* also allow choosing evaluator
* ensures equivalence of evaluators up-to α-renaming
* checks server accepts answers from challenge
Diffstat (limited to 'lambda-calcul/haskell/plan.md')
| -rw-r--r-- | lambda-calcul/haskell/plan.md | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lambda-calcul/haskell/plan.md b/lambda-calcul/haskell/plan.md index 724b719..7c5627e 100644 --- a/lambda-calcul/haskell/plan.md +++ b/lambda-calcul/haskell/plan.md @@ -83,7 +83,7 @@ self-evaluating value — it needs no reduction. This is the smallest possible e ### What it is -Depends on Extension 1. Add `+`, `-`, `*`, `/`, `mod`, `=`, `<` as first-class built-in +Depends on Extension 1. Add `+`, `-`, `*`, `div`, `mod`, `=`, `<` as first-class built-in functions. The key interpreter challenge beyond the trivial "add a case" is *partial application*: `(+ 1)` must be a valid value — a closure waiting for its second argument — rather than an error. @@ -99,7 +99,7 @@ rather than an error. reads back as a neutral application. **`Minilang.Lambda.Parser`** -- Builtin names (`+`, `-`, `*`, `/`, `mod`, `=`, `<`) are already valid identifiers under +- Builtin names (`+`, `-`, `*`, `div`, `mod`, `=`, `<`) are already valid identifiers under the current `extraIdentifierChars` definition, so no parser change is needed beyond registering them as known names. |
