All Versions
4
Latest Version
0.6
Avg Release Cycle
152 days
Latest Release
1804 days ago

Changelog History

  • v0.6 Changes

    November 16, 2016
    • compiler speedup
    • ⬇️ reduced memory usage
  • v0.5 Changes

    • 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)
  • v0.4 Changes

    February 05, 2016
    • compiler
      • support type synonyms
      • support simple import lists (hiding + explicit)
      • support multiple guards
      • handle constructor operator fixities, also in patterns
      • definitions are allowed in any order (not just bottom-up)
      • desugar node definitions (more robust, previously node definition handling was ad-hoc)
      • support qualified module imports
      • better tooltip ranges & types
      • bugfix: fix looping in type checking of recursive definitions
    • compiler optimization
      • separate types and values (vs. church style lambda)
      • separate use of neutral terms
      • erease lambda variable type
      • erease univ. pol. arguments of constructors
      • erease univ. pol. arguments of case functions
      • speed up 'eval' function
      • tried to speedup with cache max. de bruin indices
      • use less 'try' in parser
    • libraries
      • always put base library modules to include path
      • OpenGL API: simplify CullMode: remove FrontFace it is always ccw
      • OpenGL API: simplify Depth images handling
    • ✅ testenv
      • language feature tests framework
    • other
      • released on HackageDB
  • v0.3 Changes

    January 18, 2016
    • compiler
      • complete rewrite from scratch
      • use De Bruijn indices instead of String names
      • pattern match compilation
      • compositional type inference is replaced by a zipper-based approach which plays better together with dependent types
    • libraries/OpenGL API
      • interpolation handling is decoupled from vertex shader descriptions
      • introduce Stream data type; use just two types of streams instead of 4
    • ✅ testenv
      • use Travis CI (continuous integration) with a docker image
      • timeout for tests