summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorCsaba Hruska <csaba.hruska@gmail.com>2016-02-29 11:15:58 +0100
committerCsaba Hruska <csaba.hruska@gmail.com>2016-02-29 11:15:58 +0100
commit1e7cd49b76c0764b9e424aa6702929005c235cb9 (patch)
treedb8f655bd6b9ae1bf1fa194afe10a13f6cb3bc92 /CHANGELOG.md
parent35c7ad122ef87107b5e2872895eacb99c3693d45 (diff)
add CHANGELOG.md to cabal file
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md92
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