ocaml: phase 1/5/6 float arithmetic +./-./*./. (+5 tests, 372 total)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 27s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 27s
Tokenizer: +. -. *. /. (with -. avoiding clash with negative float literals). Parser table places dotted ops at int-precedence levels. Eval routes to host SX +/-/*//. HM types them Float->Float->Float; literal floats now infer as Float (was Int). OCaml-style 1.5 +. 2.5 : Float works end-to-end through tokenize + parse + eval + infer.
This commit is contained in:
@@ -373,6 +373,12 @@ the "mother tongue" closure: OCaml → SX → OCaml. This means:
|
||||
|
||||
_Newest first._
|
||||
|
||||
- 2026-05-08 Phase 1+5+6 — Float arithmetic (`+.` `-.` `*.` `/.`)
|
||||
(+5 tests, 372 total). Tokenizer recognises the dotted operators.
|
||||
Parser table places them at int's level (7 / 8). Eval routes them
|
||||
to host SX `+`/`-`/`*`/`/` (which works for both ints and floats).
|
||||
HM types them `Float -> Float -> Float`; `1.5 +. 2.5 : Float`.
|
||||
Float type added to formatter as a plain `Float` ctor.
|
||||
- 2026-05-08 Phase 6 — List.combine/split/iter2/fold_left2/map2 (+4
|
||||
tests, 367 total). Mechanical pair-walk OCaml implementations,
|
||||
failwith on length-mismatch matching Stdlib semantics. List module
|
||||
|
||||
Reference in New Issue
Block a user