Skip to content

Releases: jparoz/huck

Version 0.3.0

04 Mar 06:50
Compare
Choose a tag to compare

This release includes the following additions to the compiler:

  • An intermediate representation type ir::Module, converted from ast::Module before code generation. This simplifies the code generator, removing duplication where two Huck constructs compile to the same Lua; as well as forcing all errors to be caught before code generation. It will also form the basis of later optimisations.
  • A variety of ergonomic features including:
    • Importing binops from another module
    • Importing type constructors from another module
    • Renaming imports using as
    • Using normal names as binops with backticks: foo = 1 `plus` 2;
  • Type arity checking: The compiler now checks for invalid type signatures such as foo : Int Bool -> Bool Int;
  • Fixes for many other typechecker bugs
  • Many more tests and general robustness improvements

Full Changelog: 0.2.1...0.3.0

Version 0.2.1

31 Jan 07:34
Compare
Choose a tag to compare

The main changes in this version are to do with the module system. Previously it was basically ad-hoc shove everything into a file; now we have proper hygienic imports, name resolution, inline Lua, and a basic Prelude.

Version 0.1.1

31 Dec 02:40
Compare
Choose a tag to compare
Version 0.1.1 Pre-release
Pre-release

This is the first time I've tried to clean up the project to a point that it might be vaguely understandable, so it seems like a good moment to mark. Lots of things probably still don't make sense, but I will continue to work on these in the next few versions.