Clean 2.3
From Clean
New in version 2.3
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.