Hacker News new | past | comments | ask | show | jobs | submit login
Jtalk: a Smalltalk implementation that runs on the JavaScript runtime. (jtalk-project.org)
66 points by ColinWright on Aug 21, 2011 | hide | past | favorite | 8 comments



A few notes:

a. this is awesome

b. the "documentation" link halfway down the homepage goes to an anchor tag that doesn't exist, rather than the actual documentation page. At first I thought there just were no docs, and I was disappointed.

c. After reading through the docs, I can see how to create cool classes but am not sure how to instantiate them on the page. Is there a Smalltalk image-style system to marshall instances to disc and back? That would be fantastic.

I have so many other ideas for wonderful things this could do. Breakpoints in event handlers to let you change the code without reloading the page. Including less/scss with view classes and live editing of that on the page.

But there are also lots of challenges. To get good performance you will need to have access to lots of front-end-specific tricks, like event delegation, spreading long computations out with timers, etc.

In sum, then, super-exciting, hope to see more docs and details soon, let us know how we can help. Can someone comment on the status of server-side ST frameworks if I wanted to try a small, all-ST webapp?


As to the all-ST webapp, there are three frameworks you may want to check out, these are Seaside, AidaWeb and Iliad.

If you allow me to be a bit biased, I'd recommend you to first check Iliad (iliadproject.org/), as IMO it's the one that'll give you the most impressive results in the shortest possible learning time. And I'd work on Pharo (pharo-project.org), as it's the most complete open source and free ST implementation out there. Again, in my humble biased opinion.

To get started, check this out: http://www.asmalltalkbytheseaside.com/iliad_en.pdf

These slides are based on a presentation given by Nicolas Petton, Iliad's author, at the 2010 edition of the European Smalltalk Users Group conference.

You can watch the whole talk, «Web Development in Iliad», right here: http://esug2010.objectfusion.fr/tuesday.html Hope it helped! :)


Thanks!


Anyone who's used http://clamato.net/ want to compare the two?


Not much of a comparison, but JTalk aims for code compatibility with Pharo Smalltalk, whereas Clamato is a distinct dialect. Perhaps partly because of this, I felt able to work with immediately in a way I never did with Clamato, or any other in-browser Smalltalk-like software I've seen. My past experience with Smalltalk transfers well into JTalk, not so well into Clamato.

When I first ran JTalk (months back), one of the expressions I tried was to get the sum of even numbers between 1 and 5, and it doesn't work, because JTalk is missing various things, like 'even' and 'odd'. I had a Pharo Smalltalk system to hand, and was able to look up the implementation for 'even', and deeper requirements like '//' (divide without remainder), and type them into the browser until I got the answer.

Since then, JTalk now has the very beginnings of exception handling. When Smalltalk is asked to evaluate a non-existent method, it raises a MessageNotUnderstood (MNU) exception. It's interesting to think about the idea of having a web service running on Pharo, which answer chunks of it's own source code, and JTalk's MNU behaviour being to send out an http request to try to load that source code, and then continue running. (I don't know nearly enough about Javascript or JTalk internals - this may be wildly impractical.)

In any case, the idea of code compatibility between front-end and back-end is very appealing: re-use domain model classes, write input validation in one place and have it run in both places, and such.

(I seem to have gone off on a tangent. Hopefully an interesting one.)


Thanks! One thing I'd really like to see myself is an in-browser environment like this for a capability language like Newspeak or E.


AFAIK Newspeak is written in Smalltalk. I wonder if it's possible to run it on (or port it to) JTalk.


newspeak was being ported to javascript, but it sounds like they may have given up because of limitations of javascript: http://gbracha.blogspot.com/2011/03/truthiness-is-out-there....




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: