Re: Porting to Darwin
talksmall <[email protected]> Tue, 1 Jul 2008 01:24:31 -0700 (PDT)
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <85d8adec-5afa-4bf3-8f2b-04c7759810c4@z66g2000hsc.googlegroups.com> |
On Jul 1, 7:10 am, Colin Putney <[email protected]> wrote: > On 30-Jun-08, at 10:52 PM, Brian de Alwis wrote: > > On Jun 30, 7:42 pm, Colin Putney <[email protected]> wrote: > >> Shouldn't be too difficult. I'm not a VM hacker, but if you guys get > >> Strongtalk running on Darwin, I can port Monticello. > > > That would be cool. I took a quick gander at the Monticello2 package > > on source.wiresong.ca/mc, and the fileins make reference to Squeak > > classes like Notification. > > Yes, there are bound to be quite a few Squeakisms in the code. I'm > currently working on a port to Gemstone, which is helping to identify > and isolate them, but Gemstone has quite a bit of the Squeak > environment present, since several packages of Squeak origin have > already been ported. > > Usually, porting Squeak code to another Smalltalk involves porting > parts of the Squeak libraries as well. With Strongtalk we have an > opportunity to go the other way as well, since the Strongtalk license > is compatible with the licenses of Monticello and Squeak. > > Colin The SUnit code I ported over from CampSmalltalk was the Squeak version. There were a number of issues (not least the differences in filein formats), but non was insurmountable. The biggest obstacle was the TestRunner. Obviously none of the Squeak UI framework classes was present so this had to be largely rewritten. Of course SUnit is a much smaller codebase, and I would expect more issues from a Monticello port. The Strongtalk Smalltalk code is relatively sparse in the protocol that it supports. I haven't done a comprehensive comparison against ANSI, but you can expect quite a few methods that you think should be there to be missing. Not a major problem most of the time, 'cos we can just implement them. Just something to be aware of. Any reflection stuff in particular is highly likely to differ. Strongtalk uses Mirrors to perform reflection (geddit?). This means no instVarAt: (for one thing), which is a violation of encapsulation anyway, and a number of other capabilities are embedded in the Mirror hierarchy somewhere. Performs are supported though. Getting a usable environment on Darwin might be tricky though. The critical step will be the UI implementation. I've tried developing without a UI via a text editor and fileins, and it's no fun. For the time being I would recommend holding one's nose and doing Smalltalk development in Windows. Regards, Steve --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Strongtalk-general" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/strongtalk-general?hl=en -~----------~----~----~----~------~----~------~--~---