diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-02-29 11:15:58 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-02-29 11:15:58 +0100 |
commit | 1e7cd49b76c0764b9e424aa6702929005c235cb9 (patch) | |
tree | db8f655bd6b9ae1bf1fa194afe10a13f6cb3bc92 /CHANGELOG.md | |
parent | 35c7ad122ef87107b5e2872895eacb99c3693d45 (diff) |
add CHANGELOG.md to cabal file
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r-- | CHANGELOG.md | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..dca715c1 --- /dev/null +++ b/CHANGELOG.md | |||
@@ -0,0 +1,92 @@ | |||
1 | |||
2 | # v0.5 | ||
3 | |||
4 | - compiler | ||
5 | - support local pattern matching functions | ||
6 | - support recursive local definitions | ||
7 | - more polymorph type for equality constraints | ||
8 | (~) :: forall a . a -> a -> Type | ||
9 | - tuples are representated as heterogeneous lists | ||
10 | - support one-element tuple syntax: (( element )) | ||
11 | - reduction: don't overnormalize (String -/-> [Char]) | ||
12 | - compiler optimization: names have Int identifiers | ||
13 | - libraries/OpenGL API | ||
14 | - use the advantage of heterogeneous lists | ||
15 | (simplified and more complete type family instances) | ||
16 | - needed to explicitly denote one-element attribute tuples | ||
17 | - set programmable point size with ProgramPointSize | ||
18 | - use lists instead of streams | ||
19 | - rename | ||
20 | - fetch_ --> fetch; fetchArrays_ --> fetchArrays | ||
21 | - zeroComp --> zero; oneComp --> one | ||
22 | - codegen | ||
23 | - generate functions in shaders (previously functions were inlined) | ||
24 | - normalized variable names in the generated pipeline | ||
25 | - optimization: remove duplicate shader programs | ||
26 | - pretty printed shader programs | ||
27 | - include compiler version in the generated pipeline as a string info field | ||
28 | - testenv | ||
29 | - performance benchmarks (time and memory consumption) | ||
30 | - other | ||
31 | - parsec dependency changed to megaparsec | ||
32 | - registered on stackage too (next to HackageDB) | ||
33 | |||
34 | |||
35 | # v0.4 - tagged on Feb 5, 2016 | ||
36 | |||
37 | - compiler | ||
38 | - support type synonyms | ||
39 | - support simple import lists (hiding + explicit) | ||
40 | - support multiple guards | ||
41 | - handle constructor operator fixities, also in patterns | ||
42 | - definitions are allowed in any order (not just bottom-up) | ||
43 | - desugar node definitions (more robust, previously node definition handling was ad-hoc) | ||
44 | - support qualified module imports | ||
45 | - better tooltip ranges & types | ||
46 | - bugfix: fix looping in type checking of recursive definitions | ||
47 | - compiler optimization | ||
48 | - separate types and values (vs. church style lambda) | ||
49 | - separate use of neutral terms | ||
50 | - erease lambda variable type | ||
51 | - erease univ. pol. arguments of constructors | ||
52 | - erease univ. pol. arguments of case functions | ||
53 | - speed up 'eval' function | ||
54 | - tried to speedup with cache max. de bruin indices | ||
55 | - use less 'try' in parser | ||
56 | - libraries | ||
57 | - always put base library modules to include path | ||
58 | - OpenGL API: simplify CullMode: remove FrontFace it is always ccw | ||
59 | - OpenGL API: simplify Depth images handling | ||
60 | - testenv | ||
61 | - language feature tests framework | ||
62 | - other | ||
63 | - released on HackageDB | ||
64 | |||
65 | |||
66 | # v0.3 - tagged on Jan 18, 2016 | ||
67 | |||
68 | - compiler | ||
69 | - complete rewrite from scratch | ||
70 | - use De Bruijn indices instead of String names | ||
71 | - pattern match compilation | ||
72 | - compositional type inference is replaced by a zipper-based approach | ||
73 | which plays better together with dependent types | ||
74 | - libraries/OpenGL API | ||
75 | - interpolation handling is decoupled from vertex shader descriptions | ||
76 | - introduce Stream data type; use just two types of streams instead of 4 | ||
77 | - testenv | ||
78 | - use Travis CI (continuous integration) with a docker image | ||
79 | - timeout for tests | ||
80 | |||
81 | |||
82 | # first DSL compiler - tagged on Jun 14, 2015 | ||
83 | |||
84 | - supports a fair amount of Haskell98 language features | ||
85 | - partially supports GADTs and type families | ||
86 | - supports explicit type application | ||
87 | - supports row polymorphism and swizzling | ||
88 | - uses compositional typing for better error messages | ||
89 | - OpenGL API provided in attached Builtins and Prelude modules | ||
90 | - generates LambdaCube3D IR (intermediate representation) | ||
91 | |||
92 | |||