[Pharo-project] Iliad 0.8 released!
We are happy to announce the release of Iliad version 0.8 for GNU Smalltalk et Pharo. New features include: - Iliad is now using Grease and non portable code has been partially replaced; - The "mark dirty" mechanism has been rewritten to improve support for tabs/windows sharing the same session; - The new Formula package makes it easy to build validated forms; - Control flow has been improved with new widgets (like confirmations, sequences, etc) and widgets can append or prepend other widgets; - In addition to static files served with ILDiskDirectory, they can also be served from the image with ILMemoryDirectory; - Smalltalk code can be evaluated on DOM events with #on<event>Do: ; - Rewrite rules can be applied to the url builder; Last but not least, the release also includes an experimental implementation of Comet using XmlHttpRequest long polling. GNU Smalltalkers can download Iliad with gst-package (using GST 3.2): gst-package -t ~/.st --download iliad Or clone it from github: git clone git://github.com/NicolasPetton/iliad.git Pharo users can download a preconfigured image: http://www.iliadproject.org/resources/lYk5F_GiApFb/ggAMT_HRzRph9Yxp/Iliad-0.... Or download Iliad packages from the SqueakSource repository: http://www.squeaksource.com/Iliad.html We would like to thank Steven Costiou for his work on the Pharo version of Iliad. Nicolas Petton & Sébastien Audier
Congrats Nico and Seb ! 2010/4/17 Nicolas Petton <petton.nicolas@gmail.com>:
We are happy to announce the release of Iliad version 0.8 for GNU Smalltalk et Pharo.
New features include:
- Iliad is now using Grease and non portable code has been partially replaced; - The "mark dirty" mechanism has been rewritten to improve support for tabs/windows sharing the same session; - The new Formula package makes it easy to build validated forms; - Control flow has been improved with new widgets (like confirmations, sequences, etc) and widgets can append or prepend other widgets; - In addition to static files served with ILDiskDirectory, they can also be served from the image with ILMemoryDirectory; - Smalltalk code can be evaluated on DOM events with #on<event>Do: ; - Rewrite rules can be applied to the url builder;
Last but not least, the release also includes an experimental implementation of Comet using XmlHttpRequest long polling.
GNU Smalltalkers can download Iliad with gst-package (using GST 3.2): gst-package -t ~/.st --download iliad
Or clone it from github: git clone git://github.com/NicolasPetton/iliad.git
Pharo users can download a preconfigured image: http://www.iliadproject.org/resources/lYk5F_GiApFb/ggAMT_HRzRph9Yxp/Iliad-0....
Or download Iliad packages from the SqueakSource repository: http://www.squeaksource.com/Iliad.html
We would like to thank Steven Costiou for his work on the Pharo version of Iliad.
Nicolas Petton & Sébastien Audier
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- ================================================= Germán S. Arduino <gsa @ arsol.net> Twitter: garduino Arduino Software & Web Hosting http://www.arduinosoftware.com PasswordsPro http://www.passwordspro.com =================================================
Cool stuff, Nicolas. I'm happy to see Grease getting use in the wild... I'm curious to what degree it met your needs? I just recorded a podcast with James Robertson this week talking about cross-platform development. He asked what other projects were using Grease and I'm afraid I didn't know to include yours. :) Julian 2010/4/17 Nicolas Petton <petton.nicolas@gmail.com>
We are happy to announce the release of Iliad version 0.8 for GNU Smalltalk et Pharo.
New features include:
- Iliad is now using Grease and non portable code has been partially replaced; - The "mark dirty" mechanism has been rewritten to improve support for tabs/windows sharing the same session; - The new Formula package makes it easy to build validated forms; - Control flow has been improved with new widgets (like confirmations, sequences, etc) and widgets can append or prepend other widgets; - In addition to static files served with ILDiskDirectory, they can also be served from the image with ILMemoryDirectory; - Smalltalk code can be evaluated on DOM events with #on<event>Do: ; - Rewrite rules can be applied to the url builder;
Last but not least, the release also includes an experimental implementation of Comet using XmlHttpRequest long polling.
GNU Smalltalkers can download Iliad with gst-package (using GST 3.2): gst-package -t ~/.st --download iliad
Or clone it from github: git clone git://github.com/NicolasPetton/iliad.git
Pharo users can download a preconfigured image:
http://www.iliadproject.org/resources/lYk5F_GiApFb/ggAMT_HRzRph9Yxp/Iliad-0....
Or download Iliad packages from the SqueakSource repository: http://www.squeaksource.com/Iliad.html
We would like to thank Steven Costiou for his work on the Pharo version of Iliad.
Nicolas Petton & Sébastien Audier
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 18.04.2010 01:05, Julian Fitzell wrote:
Cool stuff, Nicolas. I'm happy to see Grease getting use in the wild... I'm curious to what degree it met your needs?
I just recorded a podcast with James Robertson this week talking about cross-platform development. He asked what other projects were using Grease and I'm afraid I didn't know to include yours. :)
Julian From my limited experience, beyond the ANSI standard, Grease seems like a step forward towards more dialect compatibility, 2c: How about a "Greasifier" (Grease lubricate: ? ;) ), which would take as input a package/arbitrary unit of code, and emit an equivalent unit of code, in which methods whose bytecodes would be equivalent to the dialect-specific Grease method were rewritten to use the Grease equivalent? (The other way around would ofc also be possible)
Or in smalltalk: ^Package copyWithAllMethods: [:aMethod | aMethod byteCodeSequenceDo: [:bcs | (Grease hasMethodEqivalentTo: bcs) ifNotNil: [:equivGreaseCodes | aMethod with: bcs replacedBy:equivGreaseCodes ] ] Cheers, Henry
On Sun, Apr 18, 2010 at 1:10 AM, Henrik Sperre Johansen < henrik.s.johansen@veloxit.no> wrote:
On 18.04.2010 01:05, Julian Fitzell wrote:
Cool stuff, Nicolas. I'm happy to see Grease getting use in the wild... I'm curious to what degree it met your needs?
I just recorded a podcast with James Robertson this week talking about cross-platform development. He asked what other projects were using Grease and I'm afraid I didn't know to include yours. :)
Julian
From my limited experience, beyond the ANSI standard, Grease seems like a step forward towards more dialect compatibility, 2c: How about a "Greasifier" (Grease lubricate: ? ;) ), which would take as input a package/arbitrary unit of code, and emit an equivalent unit of code, in which methods whose bytecodes would be equivalent to the dialect-specific Grease method were rewritten to use the Grease equivalent? (The other way around would ofc also be possible)
Have you looked at Slime? It contains lint and rewrite rules for a bunch of non-portable Squeak code. The ones that have rewrite rules will allow you to replace it with valid Grease code. It can't catch everything of course, but it's a start. Also, sadly, it's not currently portable because RB isn't the same on all platforms. Julian
Le dimanche 18 avril 2010 à 00:05 +0100, Julian Fitzell a écrit :
Cool stuff, Nicolas.
Thanks Julian :)
I'm happy to see Grease getting use in the wild... I'm curious to what degree it met your needs?
Once Paolo and I ported it to GNU Smalltalk, it *really* met my needs! Of course it's a bit Seaside oriented but almost everything I needed was there. It allowed me to remove non portable code (like code for encoding, remove all #asString/#printString, etc), use useful classes provided by Grease like GRSmallDictionary. In the future I will probably use GRDelaySend too. As a direct consequence, I was also able to serve files from the image without adding dialect specific code :) And of course Unit tests were really helpful. Now I'm not really happy with the codec stuff, as from a GNU Smalltalker point of view it seems too Squeak/Pharo oriented, but I can leave with that for now. Cheers! Nicolas
Thanks for the announcement but, what is iliad? 2010/4/18 Nicolas Petton <petton.nicolas@gmail.com>
Le dimanche 18 avril 2010 à 00:05 +0100, Julian Fitzell a écrit :
Cool stuff, Nicolas.
Thanks Julian :)
I'm happy to see Grease getting use in the wild... I'm curious to what degree it met your needs?
Once Paolo and I ported it to GNU Smalltalk, it *really* met my needs! Of course it's a bit Seaside oriented but almost everything I needed was there.
It allowed me to remove non portable code (like code for encoding, remove all #asString/#printString, etc), use useful classes provided by Grease like GRSmallDictionary. In the future I will probably use GRDelaySend too.
As a direct consequence, I was also able to serve files from the image without adding dialect specific code :)
And of course Unit tests were really helpful.
Now I'm not really happy with the codec stuff, as from a GNU Smalltalker point of view it seems too Squeak/Pharo oriented, but I can leave with that for now.
Cheers!
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Le dimanche 18 avril 2010 à 12:49 +0100, Ramiro Diaz Trepat a écrit :
Thanks for the announcement but, what is iliad?
Oops, I guess I should have explained it... Iliad is a new web framework. It is made around the following features: - standalone stateful widgets - automatic AJAX with degradation to normal requests if javascript is not available - RESTful applications - simple and concise API - easy to setup and deploy It reuses pieces of code from other frameworks: the dispatch pattern from HttpView2, the composite element hierarachy for building HTML from Aida/Web, and the stateful widgets from Seaside, however without using continuations. You can learn more at: http://www.iliadproject.org Cheers! Nicolas
2010/4/18 Nicolas Petton <petton.nicolas@gmail.com> Le dimanche 18 avril 2010 à 00:05 +0100, Julian Fitzell a écrit : > Cool stuff, Nicolas.
Thanks Julian :)
> I'm happy to see Grease getting use in the wild... I'm curious to what > degree it met your needs?
Once Paolo and I ported it to GNU Smalltalk, it *really* met my needs! Of course it's a bit Seaside oriented but almost everything I needed was there.
It allowed me to remove non portable code (like code for encoding, remove all #asString/#printString, etc), use useful classes provided by Grease like GRSmallDictionary. In the future I will probably use GRDelaySend too.
As a direct consequence, I was also able to serve files from the image without adding dialect specific code :)
And of course Unit tests were really helpful.
Now I'm not really happy with the codec stuff, as from a GNU Smalltalker point of view it seems too Squeak/Pharo oriented, but I can leave with that for now.
Cheers!
Nicolas
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/4/18 Nicolas Petton <petton.nicolas@gmail.com>
Now I'm not really happy with the codec stuff, as from a GNU Smalltalker point of view it seems too Squeak/Pharo oriented, but I can leave with that for now.
To be honest, I'm not totally happy with that part either. :) It's good enough for now but reworking the encoding stuff is on my (personal, anyway) list for Seaside 3.1. Julian
Le dimanche 18 avril 2010 à 19:25 +0100, Julian Fitzell a écrit :
2010/4/18 Nicolas Petton <petton.nicolas@gmail.com> Now I'm not really happy with the codec stuff, as from a GNU Smalltalker point of view it seems too Squeak/Pharo oriented, but I can leave with that for now.
To be honest, I'm not totally happy with that part either. :) It's good enough for now but reworking the encoding stuff is on my (personal, anyway) list for Seaside 3.1.
Why do you keep Grease into Seaside's repository? Couldn't it have its own repository and roadmap? Nicolas
2010/4/18 Nicolas Petton <petton.nicolas@gmail.com>
Le dimanche 18 avril 2010 à 19:25 +0100, Julian Fitzell a écrit :
2010/4/18 Nicolas Petton <petton.nicolas@gmail.com> Now I'm not really happy with the codec stuff, as from a GNU Smalltalker point of view it seems too Squeak/Pharo oriented, but I can leave with that for now.
To be honest, I'm not totally happy with that part either. :) It's good enough for now but reworking the encoding stuff is on my (personal, anyway) list for Seaside 3.1.
Why do you keep Grease into Seaside's repository? Couldn't it have its own repository and roadmap?
I suppose it might have it's own repository sometime. It probably will have its own "roadmap". It will *definitely* have its own version numbering (though releases will probably coincide fairly closely with Seaside's releases, at least for a while - I'm imagining a 1.0 release to coincide with Seaside's 3.0 final). For now it's more convenient for us to have it all in one repository. Also, we're not ready to cut the tie to Seaside... Grease is still, fundamentally, Seaside's compatibility layer. For now we're doing what we can to keep it general and inviting others to use it if it fits their needs (we certainly hope it does), but we need to ensure it's fitting our needs. Over time, as it becomes more general, if people are adopting it and we're more confident in its evolution, maybe we'll cut it loose. Julian
participants (5)
-
Germán Arduino -
Henrik Sperre Johansen -
Julian Fitzell -
Nicolas Petton -
Ramiro Diaz Trepat