packages feed

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