gluon v0.6.0 Release Notes

Release Date: 2017-10-10 // over 6 years ago
  • ๐Ÿ› Bug Fixes

    • โœ… format/tests/pretty_print.rs (de858796)
    • Replace 'env!("OUT_DIR")' with 'env::var("OUT_DIR").unwrap()' (366c6306)
    • Preserve comments inside types (4a216da8)
    • Mark lines of recursive function definitions (4d5a4b67)
    • Don't crash when querying types on unit expressions (1c36bbbd)
    • Report completions in let patterns (c6172991)
    • Visit Expr::Tuple { typ } (640154b2)
    • Deserilize partial applications properly (0efed42b)
    • Preserve parentheses in nested patterns (d7e238da)
    • Correctly visit all core expressions when walking the tree (0ad8ce00)
    • Preserve newlines between record fields properly (8f169ad3)
    • Don't lose parts of literals when formatting (7b538496)
    • check: Indent types in error messages correctly (6ff9a217)
    • completion:
      • Complete type constructors which are implicitly imported (d336ad37)
    • format:
      • Indent long record pattern matches (c2a5cf34)
      • Preserve block comments in some places (ca125bf1)
      • Preserve comments between let bindings and their bodies (f9836f9c)
    • repl: Evaluate IO expressions automatically in the repl (d9e6e952, closes #334)
    • resolve: Leave aliases over opque types alone (3ac0fd61)

    ๐Ÿ”‹ Features

    • Add impls of VmType, Pushable, Getable for all integer types (0a53bd52)
    • Allow gluon types to be generated from rust types (35d9b804)
    • Provide a way to get all* symbols of a module (d6df46fd)
    • Add find_all_symbols (0602f8d6)
    • Allow doc comments on fields in types (3e9ce940)
    • Vastly improve when comments are kept during formatting (91522578)
    • Display type information about function arguments (fe2ec28d)
    • Fallback to returning information about the enclosing expression (3a8e4c0b)
    • Give more control over what data is returned for completions (7d0bc359)
    • Constant fold binary expressions (10b77ac3)
    • ๐Ÿ–จ Print the commit hash when passing --version to the gluon executable (3a1e5969)
    • ๐Ÿ“œ Rewrite the parser to be Result based instead of continuation based (488b6bdf)
    • Add bytecode serialization and loading (f5d6c752)
    • Make serde an optional dependency (a17c0c75)
    • base: Allow the width to be adjusted before displaying types (2d1d3867)
    • ๐Ÿ“œ parser:
      • Allow projection on types in the parser (b3aaabdf)
      • Let gluon files specify shebang (d104deea)
    • vm:
      • Allow generating a simple ffi binding for rust types (31034b5a)
      • Add parse functions for floats and integers (7e5f70d0)

    ๐ŸŽ Performance

    • vm: Avoid generating unnecessary catch-alls (ebcdba96)