Skip to content

Commit 745c9d7

Browse files
committed
releasing 1.0
1 parent d053233 commit 745c9d7

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

CHANGELOG.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
1-
# next release
2-
* you can now call a function expecting (xs ~ rewritten-expr) given
3-
(xs ~ expr). previously you could only call a function expecting
4-
(xs ~ expr) given (xs ~ rewritten-expr).
1+
# 1.0
2+
* Now supports ghc-8.10! Unfortunately, ghc-8.6 and ghc-8.8 are no longer
3+
supported.
4+
* Now using ghc's builtin iteration limit instead of a hardcoded internal
5+
limit. Since ghc's limit is much smaller than our internal limit was, you may
6+
need to add something like `{-# OPTIONS_GHC -fconstraint-solver-iterations=100 #-}`
7+
if ghc recommends you to do so.
8+
* Now making use of givens. That is, you can now call a function expecting
9+
(xs ~ rewritten-expr) given (xs ~ expr). Previously, you could only call a
10+
function expecting (xs ~ expr) given (xs ~ rewritten-expr).
11+
* Now supports instance constraints. That is, you can now call a function which
12+
requires an `Eq (Vec rewritten-expr)` given an `Eq (Vec expr)`. Previously,
13+
we only supported equality constraints (`expr ~ rewritten-expr`).
14+
* Now works with type variables of kind Nat and Symbol.
15+
* The generated code now passes ghc's core-lint check.
16+
* Error messages involving rewritten constraints now include the relevant
17+
rewrite rules.
18+
* Bugfix: a spurious "the substitution forms a cycle" message was sometimes
19+
emitted even when the substitution rules did not form a cycle (see #15).
20+
* Bugfix: rewrite rules were sometimes not firing (see #21).
21+
* Bugfix: error messages were sometimes missing the error location (see #17).
522

623
# 0.1
724
* initial release

package.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: typelevel-rewrite-rules
2-
version: 0.1
2+
version: 1.0
33
synopsis: Solve type equalities using custom type-level rewrite rules
44
description: A typechecker plugin which allows the user to specify a set of domain-specific rewrite rules. These get applied whenever the compiler is unable to solve a type equality constraint, in the hope that the rewritten equality constraint will be easier to solve.
55
homepage: https://github.com/gelisam/typelevel-rewrite-rules#readme

typelevel-rewrite-rules.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ cabal-version: 1.12
44
--
55
-- see: https://github.com/sol/hpack
66
--
7-
-- hash: 9f48bb7a095b5c1013eea7fd9a710bcd26767997c67b53ced080af167cd221bd
7+
-- hash: 7433f0d507fa4c45ff48ddb8ea9bd1de4b7e5ce7ea203fbd5abd344eead851ec
88

99
name: typelevel-rewrite-rules
10-
version: 0.1
10+
version: 1.0
1111
synopsis: Solve type equalities using custom type-level rewrite rules
1212
description: A typechecker plugin which allows the user to specify a set of domain-specific rewrite rules. These get applied whenever the compiler is unable to solve a type equality constraint, in the hope that the rewritten equality constraint will be easier to solve.
1313
category: Type System

0 commit comments

Comments
 (0)