<div><div dir="auto">[_]— and then if you use custom colors on the code you can hide the initial </div></div><div dir="auto">at:ifAbsentPut: by coloring it cyan 255 and setting the Font to Arial 8</div><div dir="auto">if you want it to be more Smalltalk looking</div><div dir="auto">Smalltalk is the most self documenting</div><div dir="auto">language i think</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Feb 21, 2021 at 12:00 Kjell Godo <<a href="mailto:squeaklist@gmail.com">squeaklist@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div dir="auto">[_]— is there a Squeak option to have Squeak do an Oberon like infinite size </div><div dir="auto">desktop plus Oberon like zooming ? i don’t think so but if not wouldn’t that be </div><div dir="auto">easy to configure ? To make Squeak Roassal like ? with the Connectors etc </div><div dir="auto"><Cntrl> plus scroll up = zoom out <Cntrl> plus scroll down = zoom in and also </div><div dir="auto">mouse gestures some quick gesture plus a drag up zooms out drag down=in</div></div><div dir="auto"><br></div><div dir="auto">i will add Oberon Button words to my thing as anything that is underlined is a </div><div dir="auto">Button so no Smalltalk selecting first anymore and if the cursor is Arrow keyed </div><div dir="auto">into the underline the underline gets selected and if you then hit <Enter> it tries </div><div dir="auto">to run it . If you hit <Enter> twice within a time limit then the selection gets </div><div dir="auto">replaced by a CrLf . if you do this in helpMode: it tells what is happening with links</div><div dir="auto"> . And then i hook up to Roassal to get the infinite zoomable desktop thing going </div><div dir="auto">but the keyboard control of the zooming has to be quicker maybe it is now i d k . </div><div dir="auto">An Oberon like Squeak desktop option would be good in my opinion and the </div><div dir="auto">Oberon Button word is easy too it’s just removing the selecting part as desired by </div><div dir="auto">underlining in my case . A popup to lay an icon over the word could be good . In a </div><div dir="auto">more generalized thing you select some Smalltalk popup [ Make A Link ] and </div><div dir="auto">replace it with a hyperlink or a graphic Button but i like the simple Oberon way too.</div><div dir="auto">i believe this has already been done before for web links in Squeak or VisualWorks</div><div dir="auto"><br></div><div dir="auto">Thank you for reminding me of these Oberon ideas Liam </div><div dir="auto">     i will implement them at once into a #todo </div><div dir="auto">who knows when it will get done</div><div dir="auto">just in time</div><div dir="auto"><br></div><div dir="auto">I saw a JavaScript thing that had Lisp under Smalltalk but i forget everything . Amber ? It was looking pretty good a long time ago but i only saw it work once</div><div dir="auto">i can’t remember the name if it’s not Amber i wish i could</div><div dir="auto">it was looking pretty good</div><div dir="auto"><br></div><div dir="auto">What i want is a Lisp dialect that is highly isomorphic to Smalltalk . I have one .</div><div dir="auto"><br></div><div dir="auto">( at:ifAbsentPut: aDictionary key [...] </div><div dir="auto">)<——[ a SmACC pre processing could do this trick ]</div><div dir="auto">or</div><div dir="auto">( at:ifAbsentPut: aDictionary at:key ifAbsentPut:[...]</div><div dir="auto"> )<—-[ the extra keywords are comments ]<br></div><div dir="auto"><br></div><div dir="auto">( at:ifAbsentPut: aDictionary atKey: key getValue-ifAbsentPutNewValue:[...]</div><div dir="auto"> )<—-[ is the same message send but with more verbose comments ]</div><div dir="auto"><br></div><div dir="auto">[ x ]— i made a demo in 2011 in Vegas including a very simple idea for a Debugger</div><div dir="auto">     feature that steps into a Macro call like one steps into a Message send</div><div dir="auto">i suppose it could optionally step the String expansion process too and then step</div><div dir="auto">     the result </div><div dir="auto">it is very easy to do this you just have to say </div><div dir="auto">     ok i do it</div><div dir="auto">maybe it’s already done</div><div dir="auto">Package name?</div><div dir="auto"><br></div><div dir="auto">[_]— You can do Macros in Smalltalk easily just mark a Method that returns a String as a Macro which can be done in Dolphin by defining a dynamic Category of which there are two pre existing examples Public and Private</div><div dir="auto">so just add Macro to those two </div><div dir="auto">now why didn’t i think of that</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">I want this A2 you speak of</div><div dir="auto">i think i tried to download Oberon a while ago but the page was a ghost town</div><div dir="auto">     run around i felt like        maybe i did get it        but i never saw it run</div><div dir="auto">so if there is something more slick and shining</div><div dir="auto">     i want it</div><div dir="auto"><br></div><div dir="auto"><div dir="auto">There is a LispOS called mezzanine or something on GitHub</div><div dir="auto">     OS lite maybe</div><div dir="auto"><br></div></div></div><div><div dir="auto">So what you are saying really is that you want a port of Squeak to A2</div></div><div dir="auto">is this not right ?</div><div dir="auto">of course it is</div><div dir="auto"><br></div><div dir="auto">a modified A2 that is not disk centric</div><div dir="auto"><br></div><div dir="auto"><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sun, Feb 21, 2021 at 09:03 Louis LaBrunda <<a href="mailto:Lou@keystone-software.com" target="_blank">Lou@keystone-software.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Liam,<br>
<br>
snip...<br>
>*Ouch*.<br>
><br>
>Still, it's early days. I also think it might be more relevant to compare to RAM prices than flash SSD prices.<br>
<br>
I agree.  If the object database can fit in the 512GB (and the OS and Smalltalk VM are changed to do what is needed)<br>
$9,000 isn't that bad.  Being able to use Smalltalk collections in an object that would ordinarily be an SQL table row<br>
and require complex SQL tables and code, makes the cost of the memory look cheep.<br>
<br>
Lou<br>
-- <br>
Louis LaBrunda<br>
Keystone Software Corp.<br>
SkypeMe <a href="callto://PhotonDemon" target="_blank">callto://PhotonDemon</a><br>
<br>
<br>
</blockquote></div></div>
</blockquote></div></div>