Clean 2.3

From Clean
Revision as of 12:59, 14 July 2011 by Bas Lijnse (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

New in version 2.3

Clean 2.3 is the latest release of Clean. You can download it from the Download Clean page.

Language additions:

  • Unboxed and boxed array expressions and comprehensions, for example:
 {# 0,1,2 } // an array of type .{#Int}
 {! 0,1,2 } // an array of type .{!Int}
 {# e+e \\ e <- [0,1,2] } // an array of type .{#Int}
 {! e+e \\ e <- [0,1,2] } // an array of type .{!Int}
  • Record and array updates after # can also be written as:
 # r & x = 1
   instead of
 # r = {r & x = 1}
   or
 # a & [i] = x
   instead of
 # a = {a & [i] = x}
   Multiple updates are also allowed, for example:
 # r & x = 1,
       y = 2,
       z = 3
   instead of
 # r = {r & x=1, y=2, z=3}
   Multiple fields and indices are also possible, for example:
 # r & a.[i].x = y
   instead of
 # r = {r & a.[i].x = y}
  • A generic function can be imported explicitly, for example:
 from StdGeneric import generic bimap

Windows libraries:

  • Renamed ArgEnvWindows to ArgEnv.
  • The Tcp library has been split in a part that does not depend on Object IO and a part that does. This new library (TCPIP) should now be used.
  • Ported MersenneTwister, Gast en Dynamics (without dynamic linking) to 64 bit Windows.
  • Removed GEC and Hilde.

Linux libraries:

  • Renamed stdenv to StdEnv.
  • Ported Directory and MersenneTwister.