lambdacube-compiler v0.5 Release Notes
-
- compiler
- support local pattern matching functions
- support recursive local definitions
- more polymorph type for equality constraints (~) :: forall a . a -> a -> Type
- tuples are representated as heterogeneous lists
- support one-element tuple syntax: (( element ))
- reduction: don't overnormalize (String -/-> [Char])
- compiler optimization: names have Int identifiers
- libraries/OpenGL API
- use the advantage of heterogeneous lists (simplified and more complete type family instances)
- needed to explicitly denote one-element attribute tuples
- set programmable point size with ProgramPointSize
- use lists instead of streams
- rename
- fetch_ --> fetch; fetchArrays_ --> fetchArrays
- zeroComp --> zero; oneComp --> one
- codegen
- generate functions in shaders (previously functions were inlined)
- normalized variable names in the generated pipeline
- optimization: remove duplicate shader programs
- pretty printed shader programs
- include compiler version in the generated pipeline as a string info field
- ✅ testenv
- performance benchmarks (time and memory consumption)
- other
- parsec dependency changed to megaparsec
- registered on stackage too (next to HackageDB)
- compiler