|
List Info
Thread: first attempts at loading Seaside into GNU Smalltalk
|
|
| first attempts at loading Seaside into
GNU Smalltalk |
  Italy |
2007-07-12 09:47:58 |
I tried to load seaside into GST. This was meant more as a
stress test
than a porting attempt. Indeed I had a few problems (mostly
my bugs,
such as having more than 64 items in Undeclared and causing
it to grow).
It also reproduced the 2.95b x86-64 failures on my
machine too, so I
fixed them (they were introduced by the copy-on-write
patches from last
December).
The converter did not support extensions of undefined
classes (bad) and
subclasses of undefined classes (not necessarily bad, e.g.
subclassing
TestCase); now it does.
There are a few undeclared variables in the Seaside copy I'm
using, and
that's bad for Seaside. For
instance, I removed WAOnceTest because
there is no WAOnce in the distribution I was using. So the
port may fix
a few bogosities in Seaside too.
Other things I changed (but might be fixed in newer
versions):
1) symbols like #'?xml', #'!doctype', #'accept-charset',
#'http-equiv'
have to be expressed with quotes, otherwise RBParser does
not like them
2) in WATableReport there is an instance of
"aNumber-1" that I had to
change to "aNumber - 1"
3) DateAndTime is called DateTime in GNU Smalltalk, and
MessageSend is
called DirectedMessage.
4) I disabled a few classes, WAKom (there is no Comanche),
parts of
WABrowser (there is no Browser), WAVersionUploader (there is
no
Monticello), WAScreenshot, as well as references to
ImageSegment. I
also removed Exception>>#reactivateHandler. Some of
these should be
handled by the Exporter, IIUC. Same for Continuation which
is in GST's
basic image.
5) interesting one: WAInputDialog>>#renderContentOn:
refers to a
non-existing variable "message".
I had to add to the basic image a few methods such as
#removeAllSuchThat: and #allButFirst, which is good.
However, there is a bigger problem, that is the infamous
zero/one
argument clash on #ifNotNil:. I can modify my compiler to
automatically
convert a zero-argument block given to #ifNotNil: and make
it
one-argument, but I'd really hate to do that. Better, I can
augment the
converter with the possibility to apply refactoring browser
rewriting
rules, which would fix item 3 above. I wonder though if
Avi's exporter
could do the same instead?
(Or could Squeak fix this once and for all???...)
Paolo
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|
|
|
|
| Re: first attempts at loading Seaside
into GNU Smalltalk |

|
2007-07-12 13:52:23 |
> I tried to load seaside into GST. This was meant more
as a stress test
> than a porting attempt. Indeed I had a few problems
(mostly my bugs,
> such as having more than 64 items in Undeclared and
causing it to grow).
Great, lets get it started
> Other things I changed (but might be fixed in newer
versions):
What version did you use?
> 1) symbols like #'?xml', #'!doctype',
#'accept-charset', #'http-equiv'
> have to be expressed with quotes, otherwise RBParser
does not like them
I can't find such symbols in my image. That probably has
been fixed.
> 2) in WATableReport there is an instance of
"aNumber-1" that I had to
> change to "aNumber - 1"
This is fixed in Seaside2.8a1-lr.408.
> 3) DateAndTime is called DateTime in GNU Smalltalk, and
MessageSend is
> called DirectedMessage.
It is the easiest if you create a global that points to the
right class names.
> 4) I disabled a few classes, WAKom (there is no
Comanche), parts of
> WABrowser (there is no Browser), WAVersionUploader
(there is no
> Monticello), WAScreenshot, as well as references to
ImageSegment. I
> also removed Exception>>#reactivateHandler. Some
of these should be
> handled by the Exporter, IIUC. Same for Continuation
which is in GST's
> basic image.
Code in the class and method-categories matching *-plattform
or
*-squeak' are not supposed to be portable. What kind of
exporting
mechanism are you using?
> 5) interesting one:
WAInputDialog>>#renderContentOn: refers to a
> non-existing variable "message".
I think this has been fixed, I can't find it in my image. We
try to
regularly run SLint on the code and this should catch that
kind of
bugs.
> However, there is a bigger problem, that is the
infamous zero/one
> argument clash on #ifNotNil:. I can modify my compiler
to automatically
> convert a zero-argument block given to #ifNotNil: and
make it
> one-argument, but I'd really hate to do that. Better,
I can augment the
> converter with the possibility to apply refactoring
browser rewriting
> rules, which would fix item 3 above. I wonder though
if Avi's exporter
> could do the same instead?
Of course this is almost a religious question. In my opinion
the
compiler should accept both variations. Sometimes you want
the
argument, sometimes not. VisualWorks also does it like this.
The way
Squeak does it is certainly bad.
> (Or could Squeak fix this once and for all???...)
This will probably never happen. Multiple fixes have been
posted and
nothing has ever happened: http://bugs.
squeak.org/view.php?id=6426.
Also keep in mind that we have to keep portability with
Squeak 3.7,
3.8, 3.9 and 3.10.
Lukas
--
Lukas Renggli
http://www.lukas-renggli.
ch
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|
|
| Re: first attempts at loading Seaside
into GNU Smalltalk |
  Switzerland |
2007-07-13 02:06:17 |
> What version did you use?
Just the one that was supplied together with VW. I was
offline and that
was what I found on my hard drive. I used the Squeak
version, not an
exported one.
Paolo
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|
|
| first attempts at loading Seaside into
GNU Smalltalk |
  Germany |
2007-10-25 15:45:13 |
Paolo Bonzini wrote:
> I tried to load seaside into GST. This was meant more
as a stress test
> than a porting attempt. Indeed I had a few problems
(mostly my bugs,
> such as having more than 64 items in Undeclared and
causing it to grow).
> It also reproduced the 2.95b x86-64 failures on my
machine too, so I
> fixed them (they were introduced by the copy-on-write
patches from last
> December).
I don't wand to FUD, but... well, I once was curious if gst
would be
capable of loading seaside. That was when I started to make
the
continuation tests work, which were working fine, even
without me having
a good idea how I managed to. I was quite confident that the
whole
system would work, if somebody contributes a couple of days
to it. But
then...
Well, it involves (from my point of view, not really knowing
what I did
that time) that there's a not a lot of code to be added, but
many
different "small get-theres", which, for my
experiments, I copied from
squeak. It worked, but I wasn't sure if there were license
issues.
So, to put the long story short: to make seaside work on
gst, one have
to implement the glue code by ones own, not
"copying" the stuff from
squeak, right? Or am I completely wrong?
Once again, I don't want to interfere - just want to know if
that would
be a manageable project for my vacation or not ;)
Kind regards,
Markus
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|
|
| Re: first attempts at loading Seaside
into GNU Smalltalk |
  Italy |
2007-10-25 15:57:17 |
> Well, it involves (from my point of view, not really
knowing what I did
> that time) that there's a not a lot of code to be
added, but many
> different "small get-theres", which, for my
experiments, I copied from
> squeak. It worked, but I wasn't sure if there were
license issues.
Sometimes you can figure out the code without even looking
at -- for
example, #allButFirst. But anyway Squeak is now MIT
license, so the
license issue would be extremely minor.
Paolo
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|
|
| first attempts at loading Seaside into
GNU Smalltalk |
  Germany |
2007-10-25 16:23:46 |
Paolo Bonzini wrote:
> Sometimes you can figure out the code without even
looking at -- for
> example, #allButFirst. But anyway Squeak is now MIT
license, so the
> license issue would be extremely minor.
Thanks for the update; I will dig deeper into that when it's
the first
of december ;) (the time I did my first tries was when
squeak was
released with this apple-thing-license, when I first ported
the
mysql-driver).
Btw, is it possible to update THANKS from marbusse t-online.de to
fritsche.markus gmx.net? Should be my email-address for
now-and-forever.
TY, Markus
_______________________________________________
help-smalltalk mailing list
help-smalltalk gnu.org
http://lists.gnu.org/mailman/listinfo/help-smalltalk
|
|
[1-6]
|
|