You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This task is automatically imported from the old Task Issue Board and it was originally created by Keziah Wesley.
Original issue is here.
Currently Tree boxes its variant field, of enum type Variant. Some Variant variants are over 900 bytes, while others are small; the current wastes memory by boxing the enum rather than its variants. Fixing this will require adding a box flag to the tagged enum macro that is used for Variant.
The text was updated successfully, but these errors were encountered:
Implements #5453.
Syntax changes:
- Eliminate old non-decimal number syntax.
- Unspaced application like `f(x)` is now an error.
- Applying `:` to a non-QN in statement context is allowed and produces
a `TypeAnnotated` (fixes#6152).
API changes:
- All fixed-content tokens are now distinct types.
Error improvements (fixes#5444), especially for:
- Out-of-context expressions/statements
- Statement syntaxes
- Named-app syntax
- Unspaced-application errors
- Number syntax
- Private annotations (fixes#10137)
- Parens (fixes#6741)
- Type defs (fixes#8633)
- Fix some panics caused by invalid expressions, found by parsing non-Enso code.
- Reject some operations in pattern context, e.g. `1 + 1 = 2`.
- Eliminate `export` with `all` or `hiding` (#10258).
Improve Rust parsing performance by 33%; now 20 MB/s on my bench machine:
- Stream lexer to parser.
- New, faster parser for type defs, statements, numbers.
- More efficient tree layout (fixes#5452).
Improve backend parsing performance additionally:
- Backend now uses optimized parser build (in debug builds,
debug-assertions are still enabled).
Build improvements:
- Fix some redundancy between `sbt` and build script: now only `sbt`
compiles JNI and generates parser's Java bindings for backend use.
Build script generates Java to a different directory when parser
serialization self-test is requested.
- Improve `sbt` detection of changed parser; this should reduce the need
for clean builds in CI.
Testing:
- Add binary target for fuzzing with AFL.
This task is automatically imported from the old Task Issue Board and it was originally created by Keziah Wesley.
Original issue is here.
Currently
Tree
boxes its variant field, of enum typeVariant
. SomeVariant
variants are over 900 bytes, while others are small; the current wastes memory by boxing the enum rather than its variants. Fixing this will require adding abox
flag to the tagged enum macro that is used forVariant
.The text was updated successfully, but these errors were encountered: