blaise/docs
Graeme Geldenhuys aeb3e4ae8d feat(lang): extend High/Low to ordinal types; targeted float error
High and Low previously accepted only arrays and strings.  They now
also accept any ordinal type — Integer, Int64, UInt32, UInt64,
SmallInt, Word, Byte, Boolean, and enums — as either a type name or
an expression.  The result type matches the argument type so
High(Int64) round-trips through 64-bit code paths without truncation.
Bounds are folded at compile time to a literal QBE copy.

Floating-point arguments now produce a targeted error message
("not defined for floating-point types; use MaxDouble/MinDouble or
Math.Infinity") instead of the generic "must be an array or string".

docs/language-rationale.adoc records the decision; docs/grammar.ebnf
is updated to reflect the broadened intrinsic signatures.
2026-05-22 14:40:06 +01:00
..
benchmark.txt docs(benchmark): post-cutover measurements and libc baseline bench 2026-05-16 18:36:55 +01:00
design.adoc fix(semantic): type-check indirect-call arguments; doc record-param ABI 2026-05-05 00:42:11 +01:00
future-improvements.adoc feat(math): add ArcSin, ArcCos, Sinh, Cosh, Tanh builtins with Single dispatch 2026-05-17 01:56:35 +01:00
grammar.ebnf feat(lang): extend High/Low to ordinal types; targeted float error 2026-05-22 14:40:06 +01:00
language-rationale.adoc feat(lang): extend High/Low to ordinal types; targeted float error 2026-05-22 14:40:06 +01:00
testing-strategy.adoc docs: add testing strategy document 2026-05-16 00:38:58 +01:00