kempe-0.2.0.13: CHANGELOG.md
# kempe
## 0.2.0.13
* Update for latest `alex` templates
## 0.2.0.12
* Typechecker is 𝜖 faster
## 0.2.0.11
* Fix bug in typechecker
## 0.2.0.10
* Fix bug in typechecking against inferred signatures.
* Fix bug in prelude
## 0.2.0.9
* Add `armabi` method of exporting Kempe functions, so that `kc` generates
suitable code for M1 darwin.
* Add `cdecl` subcommand to generate C headers for exported functions
## 0.2.0.8
* More efficient IR generation; don't copy bytes from a source to the same
destination
* Fix bugs in `case` IR generation
## 0.2.0.7
* Fix bug in unification
* Fix bug so that `and` and `or` instructions print correctly for x86 assembler
* Add lints for `dip(+) +` to `+ +`, (associative dip) `dup and` to `id`, etc.
* Add lints for `swap swap` and `1 drop` etc.
* Add `join` for `Maybe` and `Either`
* Last branch of case statement always falls through (more efficient code)
## 0.2.0.6
* Add `absInt` and `chocie` functions to prelude.
* Add lints for `swap >`, `swap *` &c.
* Fix bug in typing `>=`, `>`, `!=`
## 0.2.0.5
* Fix bug in arm control-flow analysis
* Fix bugs in IR optimization pass
* Improve IR optimization
* Add `fromMaybe` and `fromRight` functions
## 0.2.0.4
* Kind-check external function declarations
* Fix bug in inliner where functions within `dip(...)`s were not inlined
* Fix unification bug where solved constraints were not back-substituted correctly.
## 0.2.0.3
* GHC 8.0.2 and 8.2.2
## 0.2.0.2
* Improve performance + generated code
* Fix bug in monomorphization of patterns
## 0.2.0.1
* Performance improvements when assembling x86
* Fix pattern match exhaustiveness checker
* More lenient command-line parser
## 0.2.0.0
* Add aarch64 backend
* Change type of shifts, they no longer take an `Int8` as the second argument.
## 0.1.1.3
* Tweak some RTS flags for faster performance
* `lib/gaussian.kmp` has `mult` function
* A couple inefficiencies under the hood
## 0.1.1.2
* Case statements with a single branch are plain and efficient.
* Add `safeDiv` and `safeMod` to `prelude/arith.kmp`
## 0.1.1.1
* Performance improvements under the hood (use `IntSet`s for liveness
analysis)
## 0.1.1.0
* Fix internal pretty-printer (exposed as hidden `fmt` subcommand)
* Optimize IR cases
* Fix padding
* Fix bug in lexer (for C foreign calls)
* Support down to GHC 8.0.2
* Unification no longer takes pathologically long time
* Add test files so source distribution passes
* Some sort of imports now supported.
## 0.1.0.2
* Add optimizations (simplify code so that liveness analysis is quicker)
* Fix major bug in kind-checker
* Fix bug in type assignment
## 0.1.0.1
* Better debug pretty-printer
* Pattern match exhaustiveness checker so that pattern matches don't do
something heinous at runtime
## 0.1.0.0
Initial release