3 ms·
Specific changes to address previous feedback: * Added an "above-the-fold" introductory example. * Added the "eod" function to match the end of the input. *
by kstenerud 4y ago
Specific changes to address previous feedback:
* Added an "above-the-fold" introductory example.
* Added the "eod" function to match the end of the input.
* Removed the "when" function and replaced it with switch syntax.
* Renamed the "bind" function to the "var" function.
* Removed "any_type" from the grammar.
* Introduced "bits" as a formal type. "expression" now refers to expressions of any type.
* The "bits" type can also be compared to produce a condition.
* Added the "!="" comparator.
* Split numbers into singular types and set types.
* Number sets can now be constructed using alternatives and exclusion.
* Removed "real" since it's just a number with no invariant. Use "number" and "numbers" instead.
* "signed" and "unsigned" have been renamed to "sinteger" and "uinteger" to emphasize the integer invariant.
* ieee754 special floating point values NaN, inf, and negative 0 are now generated via special functions, and have no "number" representation.
* Modulo division now uses truncation, following with most popular languages.
* Undefined arithmetic operations are no longer allowed.
* The variadic parameter specifier can only be applied to the last argument of a function (bugfix).
* Clarified what the parameter value 0 does in some functions.
* Removed alternatives operation for type names.
* Added note about Unicode equivalence and normalization.
* Removed character encoding length restriction.
* Switched out some contrived examples for real-world examples (UDP, Ethernet, RTP, TR-DOS file descriptor).