# Changelog ## 0.1.0 - Standard library is shipped with the compiler now in the [stl/](stl/) directory. - Changed template definition and usage syntax to named arguments in `#()` instead of `::<>` (See [philosophy/template_troubles.md](philosophy/template_troubles.md)) - Fix #16: Incorrect operator prescedence for | and & - Show template arguments on hover - Add --nocolor for terminals that don't support it - Add --upto (flatten, typecheck, lint, instantiation, etc) for improved debugging - Add --debug-whitelist for --debug-ing specific modules - Add output & error regression test: [test.sus_regression.sh] ### Technical Changes - Lints are now a separate compile stage - For Abstract Types and Domains, switch to Hindley-Milner type checking - All builtin names (bool, int, true, false) are now defined in [stl/core.sus](stl/core.sus). This is so the templating system works for all of them. - Since link_info is now shared between Modules, Types and Constants, we now share all code for templating, typing, etc. - Instructions are now part of LinkInfo. ## 0.1.1 - Change sus stl installation directory to $HOME/.sus/VERSION/stl ## 0.2.0 - Add Template Inference - Type - Generative Value - Latency Count Inference #69 - `extern` verilog modules can now have template arguments #42 - Add if/when distinction #43 - Add `assert`, `clog2` and `sizeof` - Rename standard library: stl => std - Add doc-comments #63 - Generated SystemVerilog now uses unpacked arrays to represent SUS arrays, instead of the original packed arrays. - https://sus-lang.org is now live! ### Technical Changes - Hindley-Milner for Concrete Typing - Submodule Instantiation done During Concrete Typing - tree-sitter-sus has been merged into sus-compiler and is no longer a separate repository - Rewrote HM Unifier because it didn't properly handle infinite types #55 - Add test.sus_regression.sh testing to CI - Fix test.sus_regression.sh was not OS independent #40 - The CI now enforces rustfmt and clippy warnings #62 - Fix double Panics on Drop #45 - Update tree-sitter to 0.24.7 #54 - Update Clap to 4.5 #32 - Many refactors ### SUS-LSP changes: - Disable restarting on compiler crash for easier debugging - Add `when` keyword