Commit 3bbe6ee2 authored by Björn Peemöller 's avatar Björn Peemöller

CHANGELOG.md added

parent f5499f5f
Change log for curry-frontend
=============================
Version 0.3.9 (under development)
=================================
* Implementation of module pragmas added. Module pragmas of the following
types are now parsed and represented in the abstract syntax tree:
~~~ {.curry}
{-# LANGUAGE LANG_EXT+ #-}
{-# OPTIONS "string" #-}
{-# OPTIONS_TOOL "string" #-}
module Main where
~~~
where
- `LANGEXT+` is a non-empty, comma-separated list of the following
language extensions: `AnonFreeVars`, `FunctionalPatterns`,
`NoImplicitPrelude`, `Records`
- `TOOL` is either `KICS2`, `PAKCS`, or some other tool, represented
as `Unknown String`.
While the distinct language pragmas enable the respective language
extensions, the OPTIONS pragma is ignored.
All other texts given in the pragma braces is ignored and treated as
a nested comment.
* Error message for different arities of function equations now also
report the corresponding source code positions.
Version 0.3.8
=============
* Implemented warnings for non-exhaustive pattern matchings
both in function declarations and `case`-expressions - fixes #349.
* Extended options to enable/disable certain types of warnings.
* Fixed problem when defining an operator directly after an import statement
without import restrictions - fixes #494.
* Fixed bug w.r.t. polymorphically typed local variables - fixes #480.
* Fixed missing polymorphism in record labels - fixes #445.
* Dumping of intermediate structures improved.
* Fixed bug in type checking w.r.t. recursive type synonyms - fixes 489.
* Reactivation of Curry interface files.
During adaption of the MCC frontend to FlatCurry the Curry interface
files have been deactivated and replaced by FlatCurry's interface
files. To allow the later addition of type classes to Curry,
they have now been reactivated.
* Implemented missing semantics of functional patterns in combination
with non-linear left-hand-sides and as-patterns.
* Various improvements.
Version 0.3.7
=============
* Support for typed FlatCurry expressions added. Now additional type
information given by the programmer as in
~~~ {.curry}
null (unknown :: [()])
~~~
is represented in FlatCurry and cann therefore be processed by other
programs like PAKCS or KICS2.
Version 0.3.6
=============
* Error messages are now sorted according to their source code position.
Version 0.3.5
=============
* Improved reporting of mutiple type signatures.
Version 0.3.4
=============
* Bug in renaming phase fixed.
Version 0.3.3
=============
* Corrected translation of `fcase`-expressions.
Version 0.3.2
=============
* Non-linear left-hand-sides now work with guarded expressions - fixes #328.
* Implemented precedence check - fixes #327.
* Case completion refactored and corrected - fixes #323.
* Various improvements and refactorings.
Version 0.3.1
=============
* Corrected renaming of anonymous free variables - fixes #288.
Version 0.3.0
=============
* Massive refactoring of the previous version.
* All compiler warnings removed.
* Fixed various implementation bugs (#9, #16, #19, #29, #289).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment