Monday, 19 October 2009

Magritte for VASt

Over the past month or so I have been doing some work for National Spaarfonds, including porting Magritte to VA Smalltalk. They are generously offering this work back to the community and I am happy to announce that I have just uploaded the first version of the VASt Magritte port to VAStGoodies.

You'll want to start with the VASt 8.0.1 [128] developer preview image and then load the configuration map from VAStGoodies. There are currently four failing tests: three caused (I think) by method inlining and one by differences in error handling behaviour. I haven't yet determined what (if anything) can be done about these.

A version of Pier ported to Seaside 3.0 and VASt won't be far behind but I have some more cleanup to do first in order to make sure it loads into a clean image.

4 comments:

louis andriese said...

VASt 8.0.1 developer preview can be found at http://www.instantiations.com/forum/viewtopic.php?f=12&t=3577

Julian Fitzell said...

Thanks... I couldn't seem to find it on Google. I'll update the post.

Davorin Rusevljan said...

It would be interesting to hear how easy/hard it was, and what are the most difficult points in porting Magritte to another platform?

Although it is not officiall part of the Seaside stack, I guess many Seasiders would probably consider it necessary.

So do you have some word of advice to people who would like to port Magritte to some other Smalltalk like Dolphin?

Thanks!

Julian Fitzell said...

The answer is, not that hard: I think it took me on the order of 2-4 days. In my case, Seaside's portability layer had already been ported to VAST so I modified Magritte to use that. I also changed the packaging around a little bit.

In theory, it should now be much easier for other platforms (particularly ones that already have Seaside ported) although I would say the port is a bit "rough" in the sense that I got it working but it the platform-specific code could still do with being cleaned up.

If you want to try porting Magritte to another platform, I would recommend starting by porting Grease from the Seaside30 repository and then using my modified Magritte source code which is currently at http://source.lukas-renggli.ch/magritte2/ as a starting point.

I've been meaning to write a post on Grease for a little while now so maybe I'll try to do that and touch on porting Magritte with it at the same time.