gluon v0.10.0 Release Notes
Release Date: 2019-01-05 // over 5 years ago-
๐ Features
- Implement extensible effects (40185f22)
- ๐ Recover from more parser errors and errors in imports (693b560a)
- Improve error recovery in let and do (ed5670c3)
- Make std.json.de.deserialize simpler to use (0a6b2517, breaks #)
- Add seq expressions (f452c2e3)
- ๐ Display submodules in module documentation (fdab790f)
- Add --open to gluon doc (89a93c59)
- Don't have format depend on the main crate (55005236)
- Add std.effect.alt (b9d65fb1)
- Allow the prompt and color to be set from the REPL (3aa8f7d8)
- ๐ Let row polymorphic record types be parsed (fb41cde3)
- Use i64 as the integer type in the vm (7ed0c1ef)
- Add feature to switch debug status inside repl (b48d180c)
- Add general purpose debugging status (92797784)
- check:
- std:
- Move
when
to std.applicative (2fd47247) - Add the Reader effect (14322f7e)
- Add the State effect (092a0d05)
- Add open_file_with and create_file to std.io (5b2a031f)
- Add std.io.throw (ef756280)
- Add Read File and Write File instances (1b86ae44, breaks #)
- Add std.array.is_empty (8a65bc0f)
- Add std.io.write (571e827c)
- Add std.array.slice (d5f8e190)
- Add std.io.read (689a42cc)
- Add std.disposable (066655d1)
- Expose functions for overflowing/saturating arithmetic in std.int and std.byte (ebfb68a0)
- Move
๐ Performance
- Don't have generalize_type be N2 (16ba38a2)
- ๐ Remove redundant HashMap (7a07da19)
- doc: Parallelize the documentation output (f3b24712)
๐ Bug Fixes
- ๐ Sort the modules in the documentation (1193d729)
- ๐ Rewrite higher ranked type inference to support ST (b52a1471)
- Display the alias in type errors in more cases (61a9a6fe)
- Consistently put
then
on the same line asif
(6d00a89c, closes #495) - ๐ Handle implicit forall insertion better (27be87ef)
- Handle exhaustive matching on forall wrapper variants (8789f6a3)
- Handle forall before variant constructors (8b2fcbed)
- Handle forall before variant constructors (7e472abd)
- Fix get_debug_level method to return cloned value instead of using lock (f1c40257)
- Use fmt::Display trait to obtain to_string method (cdc13ce4)
- ๐จ Prevent printing out the contents of functions to the repl when debug status is not set (3824695a)
- check:
- Abort implicit checking immediately on infinite loops (b4e859c5)
- Multiple fixes with higher ranked types (67a502f7, closes #603)
- Distionguish forall in the top of aliases (69b0753b)
- Avoid instantiating higher ranked types in function arguments (2750d242)
- Distionguish forall in the top of aliases (aee2389c)
- Avoid instantiating higher ranked types in function arguments (f4fc5451)
- std:
- vm: Forward all functions in the VmType impl of RuntimeResult (9d6c7f45)
๐ฅ Breaking Changes