gluon v0.11.0 Release Notes
Release Date: 2019-02-11 // about 5 years ago-
๐ Performance
- ๐ Re-use the value buffers used in fixed structures (40ca7bfd)
- Avoid recursing when zonking a type without variables (4a482c76)
- Avoid recursing in gather_foralls (6a38f437)
- โก๏ธ Optimized definition_name for the non-
:
case (1713a442) - Avoid recursing more in occurs check (c0acb066)
- Use VecMap for type variable -> type lookup (e5f086c9)
- ๐ฏ Avoid some clones when adding implicit bindings (86b2c9a6)
- Use HashTrie over RedBlackTree (878f311a)
- Avoid allocating new ArcKind in Type::kind (2911d7ef)
- Properly rename type projections (fb6f3e14)
- ๐ Don't allocate individual boxes for values in Fixed{Map,Vec} (b2532a17)
- ๐ Speedup global metadata lookup (2c0477c7)
- ๐ Intern alias groups in translation (e20a1dba)
- Avoid some recursion when unpacking aliases with
AliasRef::typ
(64edfb05) - Avoid recomputing generalization for the same type (0732ce1a)
- Compare and hash types by the minimum necessary (75174cdf)
- Avoid doing two hash lookups in interning (e3a3556c)
- base: Remove an indirection in aliases (8327a035)
- check:
- Re-use the allocations for variables (d569cdc2)
- Cuts the max memory use roughly in half on the lisp benchmark (5b91b6d3)
- Avoid allocations for the field duplication check (18abf71e)
- Partition implicit lookup more (e80f683d)
- Don't look in the global context for non-globals (45bc2ad6)
- Optmize occurs check (2ce4ec07)
- kindcheck:
- ๐ metadata: Use Arc to do shallow clones of Metadata (-4%) (4faf41b0)
- ๐ parser:
- translate: Fix N2 behavior in translation due to type replacements. (14fc70fb)
๐ Features
๐ Bug Fixes
- Honor the compiler settings through all import!'s (4da5b5f9)
- check: Take the parameters of record type fields into account when inserting forall (b390db10)
- doc: Don't display an empty module section (39478e07)
- kindcheck: Force scoped type variables to have the same type in each scope (cadbc29c)
- ๐ rename: Don't try to rename symbols if they are only defined in an earlier compilation (56c115ed)
- std.http: Don't let one slow TLS connection block the server (68cc1286)