- Catch-up with
base
- Update for latest
alex
templates
- Typechecker is 𝜖 faster
- Fix bug in typechecker
- Fix bug in typechecking against inferred signatures.
- Fix bug in prelude
- Add
armabi
method of exporting Kempe functions, so thatkc
generates suitable code for M1 darwin. - Add
cdecl
subcommand to generate C headers for exported functions
- More efficient IR generation; don't copy bytes from a source to the same destination
- Fix bugs in
case
IR generation
- Fix bug in unification
- Fix bug so that
and
andor
instructions print correctly for x86 assembler - Add lints for
dip(+) +
to+ +
, (associative dip)dup and
toid
, etc. - Add lints for
swap swap
and1 drop
etc. - Add
join
forMaybe
andEither
- Last branch of case statement always falls through (more efficient code)
- Add
absInt
andchocie
functions to prelude. - Add lints for
swap >
,swap *
&c. - Fix bug in typing
>=
,>
,!=
- Fix bug in arm control-flow analysis
- Fix bugs in IR optimization pass
- Improve IR optimization
- Add
fromMaybe
andfromRight
functions
- 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.
- GHC 8.0.2 and 8.2.2
- Improve performance + generated code
- Fix bug in monomorphization of patterns
- Performance improvements when assembling x86
- Fix pattern match exhaustiveness checker
- More lenient command-line parser
- Add aarch64 backend
- Change type of shifts, they no longer take an
Int8
as the second argument.
- Tweak some RTS flags for faster performance
lib/gaussian.kmp
hasmult
function- A couple inefficiencies under the hood
- Case statements with a single branch are plain and efficient.
- Add
safeDiv
andsafeMod
toprelude/arith.kmp
- Performance improvements under the hood (use
IntSet
s for liveness analysis)
- 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.
- Add optimizations (simplify code so that liveness analysis is quicker)
- Fix major bug in kind-checker
- Fix bug in type assignment
- Better debug pretty-printer
- Pattern match exhaustiveness checker so that pattern matches don't do something heinous at runtime
Initial release