Skip to content

Releases: Glistix/glistix

v0.6.0

19 Jan 23:40
a6e416d
Compare
Choose a tag to compare
  • Base Gleam version: v1.6.3

  • Updated Glistix to Gleam v1.6.3 (#34 and #35).

    • Remarkably for Docker container users, this release brings a new scratch container without anything installed other than the Glistix compiler, which is useful for Nix target users.
    • In addition, this release brings variant inference in pattern matching, allowing one to access and update fields specific to each matched type variant in a case expression, as well as more LSP code actions such as to add missing type annotations to a function.
    • You can read more in the official Gleam blog post here: https://gleam.run/news/context-aware-compilation/

v0.5.0

23 Dec 20:28
beea657
Compare
Choose a tag to compare
  • Base Gleam version: v1.5.1

  • You can now try Glistix in your browser! Check out the Glistix online playground at https://glistix.github.io/playground

    • The new playground supports compiling Gleam to Nix and quickly sharing Gleam code compiled to Nix to the web.
    • It only supports importing the Gleam standard library for now, at an older version (0.38), but there are plans to include more packages in the future, such as glistix_nix.
    • Huge thanks to the Gleam team for providing the base code for the playground!
    • Read more at the dedicated book page, which you can find by clicking here.
  • Updated Glistix to Gleam v1.5.1 (#26 and #29).

    • This release brings great improvements to diagnostics and to the LSP. For example, there is now support for completion of local variables and arguments in functions, as well as missing module imports and missing case clauses suggestions, which are all very welcome quality of life features.
    • In addition, you can now omit :utf8 in BitArray segments, writing just <<"Hello">> instead of <<"Hello":utf8>>.
    • You can read more in the official Gleam blog post here: https://gleam.run/news/convenient-code-actions/
  • Glistix now supports being compiled to WASM through the compiler-wasm crate (#22).

    • The Glistix web files are now distributed on every release with the -browser suffix.
    • This was essential to have the playground work!
  • Glistix now pins the Rust version it uses in its official flake through fenix, so you can compile Glistix from source using Nix more reliably (#25).

v0.4.0

07 Sep 23:07
Compare
Choose a tag to compare
  • Base Gleam version: v1.4.1

  • Updated Glistix to Gleam v1.4.1 (#15 and #19).

    • This release adds label punning syntax (writing function(data:) instead of function(data: data)), adds support for the <> (string concatenation) operator in const variables' definitions, as well as several language server improvements (listing document symbols, completion for record fields on access, signature help when calling functions, and so on).
    • The JavaScript target also received support for endianness (little and big) and signedness (signed and unsigned integers) options on bit arrays, as well as sized float options (32-bit and 64-bit) and pattern matching on utf8 bit arrays. These options are not yet supported on the Nix target (but will be on a future Glistix release).
    • The gleam docs (and thus the equivalent glistix docs) command received support for --target, allowing you to pick the target used to compile the project to retrieve docs for. This can be handy to generate Nix-specific docs with glistix docs --target nix.

v0.3.0

29 Jul 01:51
Compare
Choose a tag to compare
  • Base Gleam version: v1.3.2

  • Updated Glistix to Gleam v1.3.2 (#8, #11 and #12).

    • This release improves LSP autocomplete, adds arithmetic operation support to case clause guards, adds version specifier support to gleam add, and brings several other improvements and bug fixes to the compiler.
    • A prebuilt Wasm binary, in order to use the compiler in the browser, has been added to releases.
  • Ported some fixes for the JavaScript target from Gleam 1.3 to the Nix target as well (#13).

    • This fixes a miscompilation when using a record constructor alias in a constant (see gleam-lang/gleam#3294).
    • A similar fix has been made to record constructor aliases in case clause guards as well (see gleam-lang/gleam#3447).
    • This also adds a compile-time error when trying to use a non-byte-aligned bit array on the Nix target (which currently only supports byte-aligned bit arrays).
    • Finally, this ensures gleam.nix (exported to the build folder and used to import the Nix prelude) isn't unnecessarily rewritten to avoid problems with watchers.
  • Added Nix target support to language tests in the compiler (#10).

    • This change doesn't directly affect Glistix users, but adds some proper testing of Gleam's language features to the Nix target, improving the likelihood of bugs being caught in the Nix target implementation.

v0.2.0

12 Jun 23:23
Compare
Choose a tag to compare
  • Updated Glistix to Gleam v1.2.1 (#1 and #3).
    • This brings great improvements to the LSP, as well as many important bug fixes and improvements to diagnostics.
    • Target aarch64-unknown-linux-gnu was added to CI.
  • Ported some fixes for the JavaScript target from Gleam v1.2.0 to the Nix target as well (#2).

v0.1.0

27 Apr 01:13
Compare
Choose a tag to compare

Initial (beta) release of ✨ Glistix ❄️, a fork of the Gleam compiler which allows compiling Gleam to Nix.

Glistix v0.1.0 is based on Gleam v1.1.0, more specifically gleam-lang/gleam@a2180e7 .