Clean 2.3

From Clean
Jump to: navigation, search

Contents

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.
Personal tools