Oz and Mozart Users Mailing List

Mogul and backward compatability (pickles...)


From: Simon Beaumont (simon.beaumont@mac.com)
Date: Sat Dec 06 2003 - 16:09:36 CET


Having followed some discussion on the hackers list regarding the lack of
compatability of pickle format from 1.3.0 -> 1.2.5 (there may be others..
since I am trying to install the graphs package which I think hails from
1.2.0 since I cannot unpack it with ozmake 1.2.5 either).

Whilst I expect that there might be changes in both the syntax and semantics
of the language that would require some retrofitting of old code - is this
pickle format (as far as I understand the essential representation of
serialised of oz objects) likely to continue to change in the future?

The impact on code libraries can be removed by using Denys' zlib integration
to compress packages in the future (this still leaves a lot of potentially
useful code languishing in obscurity), but more importantly it means that
distributed instances of MozartOz need to be on the same pickle version at
least (in fact the first thing I tried was to talk to an 1.2.5 instance with
1.3.0 - I didn't expect this to work since I was aware of the incompatible
change and I was not dissapointed). From my view, having to ensure the
revision levels of all instances of the engine in a distributed environment
could be a disinsentive to distribution in the first place.

Coming from the industrial landscape painted by java where backward
compatability (of byte code) is a strong feature. (I think the success of
java has a lot to do with this - imagine if the latest JDK couldn't run last
weeks byte code...) - surely one of the advantages of a "virtual machine"
architecture is that we are not hidebound by binary compatability issues when
moving from platform to platform.

Anyway I didn't come on here to gripe - I fully realise that the ambitions
and constraints upon MozartOz development are very different from Java (which
is really why I'm here :-)
- the bottom line is - would it be in order to suggest that current mozart-oz
users could help out by porting any Mogul contributions they use so that the
community can continue to enjoy previous effort and work and seek to enhance
and reengineer rather than re-invent?

More specifically let's assume sometime soon 1.3.0 hits the streets (read
official release) users would need a migration route (and I don't think
installing multiple old versions of oz would appeal to many in spite of
Denys' excellent idea to partition .oz by version; in fact how far back does
OSX (e.g.) go as an Oz platform? - so this option might not be feasible for
all users) to port those old mogul contribs and give them a new lease...

I for one would rather spend some effort and time refreshing mogul rather
than writing stuff from scratch. So can anyone unpack me a 1.2.0 package for
starters?

Regards,

Simon
-
Please send submissions to users@mozart-oz.org
and administriva mail to users-request@mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.
Please send bug reports to bugs@mozart-oz.org.



This archive was generated by hypermail 2b29.