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:
      • Remove the alias dependence for variants (8c4678c7)
      • Remove the alias dependence for variants (16980eb4)
    • 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)

    ๐ŸŽ 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 as if (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:
      • removed explicit eq parameter from elem (b8c1c2a9)
      • fix a couple typos in a couple std modules (d4c1ddf0)
    • vm: Forward all functions in the VmType impl of RuntimeResult (9d6c7f45)

    ๐Ÿ’ฅ Breaking Changes

    • Make std.json.de.deserialize simpler to use (0a6b2517, breaks #)
    • std: Add Read File and Write File instances (1b86ae44, breaks #)