forked from granule-project/granule
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog
75 lines (60 loc) · 2.97 KB
/
changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# 0.7.7.2
- LLVM compiler separated into its own project to make building easier at the moment (see https://github.com/granule-project/granule-compiler-llvm).
- Built-ins now get internally kind checked earlier, reducing the chance of us making malformed built-ins.
- A couple of missing examples and tests added.
- `case` expressions are now restricted to matching on non-indexed data types, with a helpful messages (this avoids pitfalls with dependent case)
- Various small bug fixes.
# 0.7.7.1
- Some small fixes
- Tweaks to improve error messages
# 0.7.7.0
- Standard library changes
- `Cake`: back in to StdLib
- `Choice`: new library (provides linear tensor)
- `Prelude` change: generalised `pull`, `comp`, `unbox`
- `Vec` addition: `pushVec`
- `Graph` bug fixes: `size` and `vertexcount` changed due to a bug fix in Granule;
- Modules can now have headers where data constructors can be hidden on export,
e.g. module Cake hiding (Cake, Happy) where...
- Fixed some bugs in `grepl` (now reads the .granule config file instead of its own)
- `grepl` can now give the type of general expressions (if the checker can infer it)
- Various refactorings in the compilation of constraints to SMT; fixes a bug with `Graph` lib
# 0.7.6.0
- LLVM compiler for a simple subset now included.
- Various internal changes which allow effect modalities (graded possibility) to be richer.
- Type-level sets support improved with some syntax changes, e.g., <{Read, Write}>.
- Nat-graded monads now provided.
- Some renaming, R and W replaced with Stdin and Stdio so as to avoid conflicts with HandleType.
- More flexibility when combining different grading types.
- Type holes.
- `grin` renamed to `grepl`.
- Various tweaks to the standard library and various bug fixes.
# 0.7.2.0
- Ability to include additional predicates in type signatures
- More pervasive unicode support
- Support fewer type annotations
- Literate mode for LaTeX/Granule files
- Integers can be linearly consumed in patterns
- Some bug fixes
# 0.7.1.0
- Various improvements to error reporting
- New features for allowing interacting between coeffects due to nested unboxing
- Bug fixes on linearity in nested cases expressions
- FileIO modality renamed to IO
- Some internal reworking of security levels to match the theory
# 0.7.0.0
- Functions can now be written as a set of equations, and this is the best way to get dependent pattern matching
- Various key bug fixes
- Existentials
# 0.6.0.5
- IOMode is now a primitive type rather than being used primitively but being defined in a library
# 0.6.0.4
- Improved type support in `grin`
- Refactoring to how ASTs are internally represented
- Some fixes regarding consumption effects in pattern matches.
# 0.6.0.1
Simplified internals of kinds and coeffect types
# 0.6.0.0
Granule REPL added, called 'grin'
# 0.5.5.7
Session type duality and fork, forkRep, send, recv, close primitives.