[Seaside] VW port in public Cincom Store?

Cees de Groot cg@cdegroot.com
Fri, 03 May 2002 10:15:27 +0200


avi@beta4.com said:
> Oh, really? I was under the impression it wasn't.  My mistake. 

The only difference between VW5i4 and VW5i4NC is a global somewhere that says 
"I'm the non-commercial version" and the extra license agreement box. All 
neatly packaged in a parcel that you could just unload if you wanted to. I 
must say, an awfully reasonable way to deal with the NC version.

I'll try to identify the strangest hickups today and post them on the list. 
Step two, when stuff is working, is to identify spots where the Squeak code 
could be adapted to keep stuff more portable:
- _ vs. :=. We might want to hack the VW parser ;-)
- The {foo->bar. baz->quux} construct. (Array with: foo->bar with: baz->quux) 
works and is reasonably concise, but a VW parser hack would be even better 
(the Cincom Smalltalk newsletter, available from their site, has somewhere in 
the back issues an article on playing with the VW and Squeak parsers)/
- A biggy: in lots of places, Seaside does not care about the differences 
between Symbols and Strings, because Squeak finds 'foo' to be equal to #foo. 
In numerous places, Seaside's dictionaries hold String keys but are accessed 
with Symbol keys, and vice versa. I've hacked Symbol>>= and String>>= in VW to 
use the same rules as Squeak, but I fear that might break a lot of code 
(probably a point worth discussing on comp.lang.smalltalk).
- Apart from that, a lot of protocol is used in Squeak that is not available 
in VW, especially on String, SequencableCollection, and similar useful spots. 
The 'Seaside - VW Port' parcel holds the result of adding all these methods to 
VW, and it's an awfully long list; we might want to try to move Seaside back a 
bit to more (ANSI?) standard protocol in order to make other ports easier as 
well.

Regards,

Cees
-- 
Cees de Groot               http://www.cdegroot.com     <cg@cdegroot.com>
GnuPG 1024D/E0989E8B 0016 F679 F38D 5946 4ECD  1986 F303 937F E098 9E8B