Changes in Clean 1.1 The paragraph numbers in this summary refer to the Clean Reference Manual 1.1. ---------------------------------------------------------------------------- Changes in the Language The syntax and semantics of classes are improved. The overload declaration is incorporated in the class declaration. It is now also possible to combine uniqueness typing with type (constructor) classes (see 8.4) Curly braces are used for arrays instead of the ugly '{:' ':}' pair (see 4.9) There are different kind of array implementations for optimal efficiency (lazy, strict, unboxed). The class concept makes it possible to define overloaded functions which can deal with all of them (although we are not yet completely happy with the current solution) (see 8.1.5). Uniqueness type attribute equations can now also be specified by the programmer. This allows the definition of higher order functions like 'bind' such that they can now also be applied to possibly unique arguments without enforcing unnecessary restrictions (see 9.3.2). Arrays can be used as an instantiation of classes (see 8.4). A string is not a basic type anymore but has become synonym for an (unboxed) array of character (the type String is now defined as type synonym in module StdString). Macro definitions can contain local definitions (which are substituted as well) (see 11.1). Macros can be applied curried (see 11.1). Constructors for which also functions are defined are kicked out (there were not used very often and it complicated the compiler). ---------------------------------------------------------------------------- Changes in the Standard Environment The Standard Environment has slightly changed (sorry about this inconvenience) (see appendix B). Some operators and functions are moved to other modules to increase orthogonality. The priority of some operators have been changed (see B.1.16 for a list of operators). We also had to rename some functions (e.g. # to size/length) because these symbols are reserved for a handy syntax extension which will become available in the next release (see B.1.7 and B.1.10). ---------------------------------------------------------------------------- Bug fixes We've fixed many bugs. If you find any bugs in this release, please report them to clean-bugs@cs.kun.nl.