10.1 Changes in Oz, Mozart libraries and UI

10.1.1 Loops

* patterns are now supported:

for X#in L do ... end

* iterator expressions with a bit of a C-flavor are supported:

for X in Init;Cond;Next do ... end

for example:

for I in 1;I<5;I+do ... end

also iterators of the form E1..E2, E1..E2;E3, E1;E3 as before.

* nullary break and continue procedures can be obtained using loop features, e.g:

for break:B X in L do ...{B}... end

* EXPERIMENTAL: loops can be used as expressions using a hidden accumulator, e.g.:

        {Show
         for collect:C
             L in Ls
         do 
            for X in L do 
               if {IsOdd X} then {C X} end 
            end 
         end}

This experimental facility uses loop features collect, append, prepend, minimize, maximize, count, sum, multiply, return, default. For more information check the documentation (``Loop Support'').

10.1.2 ``Failed'' Futures and Module Manager

10.1.3 Spaces

A full treatment of spaces is available in the Christian Schulte's doctoral dissertation "Programming Constraint Services", from the Mozart publications page.

10.1.4 Distribution Subsystem

10.1.5 Constraint Systems

Constraint systems (finite domains, finite sets) have undergone, as usual, various improvements and bug fixes. Check the documentation.

10.1.6 Port Improvements

10.1.7 Pickling Format

Unfortunately, old pickles cannot be read by this new system. We do plan to have a generic conversion tool, but face a lack of human resources.

10.1.8 `ozl --rewrite'

The Oz linker (ozl) now supports a new command-line option, `--rewrite', which allows to transform the import URLs used by the output functor. Check the documentation for details.


Version 1.4.0 (20080702)