Hi Dan,
Very cool. So let me expand on what I am after. I want to write full scale Newspeak programs that don't know or care about the DOM or the browser and run them in the browser. I want to run that same program natively on a mac or Windows. I also want to run the same program with a UI tweaked for a touchscreen of the appropriate size, natively on a tablet - any tablet. I even want to run the full IDE this way, though that is less crucial. And again, allowing for size and functionality, I want to run Newspeak apps a smartphone. Independent of whether its Android, IOS, Windows 7 or RIM or whatever else. This is a tall order, and of all these things perhaps the browser is the most important, and could subsume the others. And I want it in a mature Newspeak that is secure as well as elegant. We'll see if I get there, and when. End commercial. On Oct 31, 2010, at 3:32 PM, Dan Ingalls wrote: > Hi again - > > I will stop polluting this otherwise sane list, but I can't resist one more thought... > > You know I never left Smalltalk; I'm just using another language right now ;-). One of the early thoughts I had when working on the Lively Kernel was to put a Smalltalk "skin" on top of it, and I'd have a Lively Smalltalk. I was going to release it to SqueakLand as an April Fool's prank, but the day came and went; then a year came and went, and so it goes... > > Meanwhile, Alex Warth sketched a Smalltalk evaluator in OMeta and put it up on his Tin Lizzie site. Anticipating various fun language experiments, we then integrated OMeta (as JavaScript) with the Lively Kernel, and Robert Krahn put together a Lively version of Alex's experiment. You might find it intriguing... > > http://lively-kernel.org/repository/webwerkstatt/Dan/OMeta-Smalltalk-Demo.xhtml > > This should work on Safari, Chrome, Firefox and Opera, with iPad and IE9 working RSN. You should be able to select expressions and evaluate them with cmd-p or something similar (different in different browsers and platforms). If all else fails, you should be able to bring up a menu with cmd-click, and select Text-functions/print-it. Don't forget to scroll the Smalltalk workspace up -- the best examples are out of view. > > So, is this a joke? > > Modern JavaScripts runs at a speed comparable to Squeak > The graphics are resolution-independent and anti-aliased > It runs in almost every browser > You don't need to install it to run > You can save your work on a web page and share it that way too > > Of course it's only a two-day hack, but what if someone actually got serious about it? And what about the synergy with Gilad's interest in compiling Newspeak to JS? For me, I think we could have a lot of fun in the next year. If this tickles your fancy, hop on the Lively Kernel mail list and we'll try to give you some support. The documentation is sparse but the people are friendly. > > All the best > > - Dan > > _______________________________________________ > Esug-list mailing list > [hidden email] > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org > Cheers, Gilad _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Dan Ingalls
Hi guys
Let me restate clearly the goal of pharo: We want a small, clean kernel. Now it does not mean that we want a smalltalk like one of the 80 :) nor one that is only looking like Smalltalk from far :). We want an innovative Smalltalk. Right now we are re-aligning the current implementation (you know squashing wrong lines and adding abstractions). Of course there are work. We would love to have a UIBuilder (and this is not because of lack of vision) and a lot more. But we want new way to structure program (traits, modules,...), solutions to provide security concerns..... But this is something that needs time to build prototype, evaluate redo, turn them into more robust solutions. So dan if you want to take pharo and run it into JS please go. We are writing a new compiler which can be certainly tweaked to generate jsbytecode (if any). Now Dan may be you should have started to build a smalltalk on Javascript and people may have understood your intentions. From far it looked like Morphic with a funny (not fun) syntax. Stef PS: in 2001 we could only do anything beside Java, nowadays it seems that the dogma changed again and that we cannot do anything but Javascript. This is not what you said of course I read well english but this is a fun to see cycles. _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
In reply to this post by Igor Stasenko
Interesting idea.
that can remove pain in the ass! In dolphin, i've invented this expression. [self foo: bar] --> [:it| it baz: 1] --> [:it| jump] It was kind of collect: on non-collection object. But, it is very clear your idea is better. Best Regards HwaJong Oh 2010. 11. 1., 아침 10:11, Igor Stasenko 작성: > Its not a joke. > I would really like to have a full smalltalk support in browser, up to > placing smalltalk in > <script language="smalltalk"> .... > > It is great that JavaScript is prototype-based. And it is shame that > its having such poor C-like syntax. > What is interesting, that people exploiting a message passing with > continuation and blocks-like programming style in javascript, which > closely mimics smalltalk semantics. > > For instance, this is an example from JQuery library: > > $("div.title", wizard).each(function(index) { > $(this) > .next() > .children(":button") > .filter(".next, .previous") > .click(function() { > wizard.changeAccordion("activate", index + > ($(this).is(".next") ? 1 : -1)) > }); > }); > > Looks familiar to us, isnt? And totally alien for C world :) > > This could be easily translated to smalltalk, to something like: > > (JQuery select: 'div.title') do: [:each :index | > ((each next children: ':button') filter: '.next, .previous') click: > [ wizard changeAccordion: ... ] > > > yeah.. keyword selectors require wrapping with (), to do continuation, > but still, its much more clean than js code. > I remember discusison about introducing a special syntax which would > allow to use continuations for keyword selectors, > without need of wrapping then into parethesis. So, code like: > > ((self foo: bar) baz: 1) jump > > could be written as: > > self foo: bar | baz: 1 | jump > > which makes it even more clean and convenient to type, since you don't > have to get back into beginning of message to put > opening paren. > > -- > Best regards, > Igor Stasenko AKA sig. > > _______________________________________________ > Esug-list mailing list > [hidden email] > http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org _______________________________________________ Esug-list mailing list [hidden email] http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org |
Free forum by Nabble | Edit this page |