Anyone willing to maintain the Squeak port of Iliad?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Anyone willing to maintain the Squeak port of Iliad?

Nicolas Petton
Hi,

Maintaining two versions of Iliad takes some time me and seb don't
really have, but OTHO we don't want the Squeak/Pharo port to die.

So, you there be someone who knows Squeak willing to maintain the Squeak
port?

Cheers!

Nico

PS: Sorry if this message doesn't belong to this mailing-list. All
discussions about Iliad happen here, that's why I post on this mailing
list.



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Paolo Bonzini-2
On 11/20/2009 01:04 AM, Nicolas Petton wrote:
> Hi,
>
> Maintaining two versions of Iliad takes some time me and seb don't
> really have, but OTHO we don't want the Squeak/Pharo port to die.
>
> So, you there be someone who knows Squeak willing to maintain the Squeak
> port?

I think it doesn't work out unless you make a list of:

1) what classes are different and why

2) how the coding standards for Iliad help portability

3) if you can use some kind of rewrite expression to achieve most of the
result.

Deciding on the namespace vs. prefix issue will also help figuring out
how to automate the conversion as much as possible.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Nicolas Petton
Le vendredi 20 novembre 2009 à 01:07 +0100, Paolo Bonzini a écrit :

> On 11/20/2009 01:04 AM, Nicolas Petton wrote:
> > Hi,
> >
> > Maintaining two versions of Iliad takes some time me and seb don't
> > really have, but OTHO we don't want the Squeak/Pharo port to die.
> >
> > So, you there be someone who knows Squeak willing to maintain the Squeak
> > port?
>
> I think it doesn't work out unless you make a list of:
Yes, I would have come up with more details eventually if someone was
interested, but you're right :)

>
> 1) what classes are different and why

Except for the encoder, the code is basically the same. Things like
files handling, TimeStamp/DateTime are different, but using rewrite
scripts make the conversion easier.

>
> 2) how the coding standards for Iliad help portability

We try to keep incompatible code in one and only one place. For example,
the FileHandler is responsible for dealing with static files, and
outside of the class there is no incompatibility with files.

Also, we try to avoid incompatible code between dialects, and if there
is, we use a convention. For instance every direct subclass of Object
overrides the class method #new to call #initialize on instance
creation, even if this means adding an empty #initialize method.

>
> 3) if you can use some kind of rewrite expression to achieve most of the
> result.

Yes, I guess that's possible, thanks to gst-convert, with a script like
this one:
http://smalltalk.gnu.org/faq/169
but doing the opposite.

>
> Deciding on the namespace vs. prefix issue will also help figuring out
> how to automate the conversion as much as possible.

We decided to add the "IL" prefix to the classes of the gst version. We
will keep the namespace, though.


Also, as of today the Squeak port is up-to-date.

Cheers!

Nico

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Paolo Bonzini-2
>> >  1) what classes are different and why
>
> Except for the encoder, the code is basically the same. Things like
> files handling, TimeStamp/DateTime are different, but using rewrite
> scripts make the conversion easier.

The extract the encoder and other different parts in a package Iliad-GST
and Iliad-Squeak, as a start.

> Yes, I guess that's possible, thanks to gst-convert, with a script like
> this one:
> http://smalltalk.gnu.org/faq/169
> but doing the opposite.

Try it! :-)

Remember that gst-convert output need to be piped into "tr \\n \\r" for
Squeak/Pharo to use it succesfully.

>> >  Deciding on the namespace vs. prefix issue will also help figuring out
>> >  how to automate the conversion as much as possible.
>
> We decided to add the "IL" prefix to the classes of the gst version. We
> will keep the namespace, though.

The namespace is harmless, and I applaud the decision as ugly as it may
be.  I think if you write on the Squeak and Pharo lists talking about
the above steps (it basically looks like it is a matter of scripting the
loading of .cs files produced by gst-convert) you can find a volunteer
more easily.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Eli Green-2
In reply to this post by Nicolas Petton

On Nov 20, 2009, at 01:35, Nicolas Petton wrote:

>
> We decided to add the "IL" prefix to the classes of the gst version. We
> will keep the namespace, though.
>

Can I ask you to hold off on this? I am working on something to automate the conversion of .star packages to Squeak syntax files and part of it would be a list of remapping rules to change namespaces to prefixes. I would hate for the GNU Smalltalk version of Iliad to get uglified for no good reason.



_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Nicolas Petton
Le vendredi 20 novembre 2009 à 11:23 +0100, Eli Green a écrit :
> On Nov 20, 2009, at 01:35, Nicolas Petton wrote:
>
> >
> > We decided to add the "IL" prefix to the classes of the gst version. We
> > will keep the namespace, though.
> >
>
> Can I ask you to hold off on this? I am working on something to automate the conversion of .star packages to Squeak syntax files and part of it would be a list of remapping rules to change namespaces to prefixes. I would hate for the GNU Smalltalk version of Iliad to get uglified for no good reason.
>

Sure! Can I help you on this?

Cheers!

Nico

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Eli Green-2

On Nov 20, 2009, at 12:11, Nicolas Petton wrote:
>>
>> Can I ask you to hold off on this? I am working on something to automate the conversion of .star packages to Squeak syntax files and part of it would be a list of remapping rules to change namespaces to prefixes. I would hate for the GNU Smalltalk version of Iliad to get uglified for no good reason.
>>
>
> Sure! Can I help you on this?

Somebody could suggest the right way to do XML in Squeak. :)

My initial reaction was to whip something up in python using pyparsing which probably would have been much faster but I'm taking it as an opportunity to hone my sorely lacking Smalltalk skills.

This is the ultimate goal:

gst := GNUStarLoader singleton.
gst addDirectory: '/usr/share/whatever'.
gst mapNamespace: 'Iliad' toPrefix: 'IL'.
gst excludeClass: 'FileHandler' inNamespace: 'Iliad'. "according to Nicolas, this class is dialect-specific"
"mapping namespace Swazoo to prefix Swazoo is unnecessary since that will be the default behaviour"
gst loadPackage: 'Iliad'.

I'm investigating now whether it's possible to easily extend the Smalltalk parser in Pharo to return a list of tokens with some small amount of filtering done (simply replacing the namespaces with prefixes). Of course, there will need to be some way to exclude specific classes or categories so that GNU-specific code doesn't get loaded.

I'm hoping that once this is done, I can script loading the major releases of Iliad and generating .mcz files - but without including the version number in the package name as we currently do. This way people can more easily update from SqueakSource.

On question: are .star packages always zip files? Can you load a package from a directory?


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Paolo Bonzini-2
In reply to this post by Nicolas Petton
On 11/20/2009 12:11 PM, Nicolas Petton wrote:
>> Can I ask you to hold off on this? I am working on something to
>> automate the conversion of .star packages to Squeak syntax files
>> and part of it would be a list of remapping rules to change
>> namespaces to prefixes.

That's interesting.

>> I would hate for the GNU Smalltalk
>> version of Iliad to get uglified for no good reason.

On the other hand, I'm not sure.  If you write documentation or books
about Iliad, what syntax are you going to use?

We can have a plan to rule the world, but until it's completed I'm
afraid we have to live with uglification.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Eli Green-2

On Nov 20, 2009, at 12:36, Paolo Bonzini wrote:

> On 11/20/2009 12:11 PM, Nicolas Petton wrote:
>>> Can I ask you to hold off on this? I am working on something to
>>> automate the conversion of .star packages to Squeak syntax files
>>> and part of it would be a list of remapping rules to change
>>> namespaces to prefixes.
>
> That's interesting.

I hope so - if I can get it to work. :)

>
>>> I would hate for the GNU Smalltalk
>>> version of Iliad to get uglified for no good reason.
>
> On the other hand, I'm not sure.  If you write documentation or books about Iliad, what syntax are you going to use?
>
> We can have a plan to rule the world, but until it's completed I'm afraid we have to live with uglification.
>

I don't think there's a major conflict here - I think somebody clever enough to write Smalltalk code is clever enough to remember that it's "Iliad." in GNU but "IL" in Squeak.


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Paolo Bonzini-2
> I don't think there's a major conflict here - I think somebody clever enough to write
> Smalltalk code is clever enough to remember that it's "Iliad." in GNU but "IL" in Squeak.

But the Iliad namespace is almost always imported automatically, since
deriving a class from Iliad.Widget will automatically look up symbols in
the Iliad namespace.  So it's not apparent where "IL" has to be added;
you'd end up doing one of these:

1) writing more complicated code than necessary;

2) writing code using Squeak conventions and tell GNU Smalltalk
users to adapt.

I agree with your definition of "uglified" source WRT prefixes, but I'm not
sure I like either possibility.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Nicolas Petton
Taking in consideration that:

- I use gst and don't really care about Squeak anymore, but
unfortunately, gst isn't (yet :p) the Smalltalk of reference and
smalltalkers use mostly Squeak or VisualWorks;
- Squeak is crappy and doesn't have namespaces;
- I want Iliad to be as cross-dialect as possible

I think I'll choose in favor of the uglification. I don't like it, but
unfortunately I think it's the best solution.

Nico

_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Anyone willing to maintain the Squeak port of Iliad?

Paolo Bonzini-2
In reply to this post by Eli Green-2
On 11/20/2009 12:34 PM, Eli Green wrote:
> Somebody could suggest the right way to do XML in Squeak.:)

Just port the stupid parser in the PkgLoader.st file.  There is not much
more than you need from PkgLoader.st since most of it is needed to
support looking into multiple directories, loading non-star packages
(the distribution of kernel/*.st is done via a non-star package).

You can just care about .star files, which are always ZIP files
(uncompressed).  Even stuff that you download off smalltalk.gnu.org is
converted to .star, the checkout directory is used only as a cache.

Paolo


_______________________________________________
help-smalltalk mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/help-smalltalk