<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta content="text/html;charset=UTF-8" http-equiv="Content-Type"></head><body ><div style='font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif;'>Does this lay the groundwork towards a Linux Terminal "(SQ)REPL" interface to a headless VM?<br><br>Should this be the place to start such a project?<br><br>thx.<br><br>tty<br><br><div class="zmail_extra"><div id="1"><br>---- On Mon, 11 Jul 2016 03:40:17 -0400 <b>marcel.taeumel<Marcel.Taeumel@hpi.de></b> wrote ---- <br></div><blockquote style="border-left: 1px solid #0000FF; padding-left: 6px; margin:0 0 0 5px"><div><<a href="http://forum.world.st/file/n4905883/squeak-shell-2.gif" target="_blank">http://forum.world.st/file/n4905883/squeak-shell-2.gif</a>> <br> <br>See SqshCommandLine >> #editText to understand extension points (shortcuts) <br>inthe command line and how to run custom applications (i.e. subclasses of <br>SqshController). <br> <br>Best, <br>Marcel <br> <br> <br>David T. Lewis wrote <br>> This is a really nice demonstration of how Projects work in Squeak. It <br>> is completely different from either Morphic or MVC, and the removal of <br>> the traditional GUI makes it clear that Projects are not directly tied <br>> to any one mode of user interaction. <br>> <br>> The shell itself has an interesting conceptual model. We usually think <br>> of a "shell" or "console window" that navigates around file systems, <br>> such that where you are in the shell is based on a current working <br>> directory in a file system. But in SqueakShell we are navigating in <br>> the object space. <br>> <br>> And of course the text-mode Squeaky the Mouse logo makes for a compelling <br>> user experience :-) <br>> <br>> I would encourage everyone to try loading this and playing around with <br>> SqueakShell. <br>> <br>> Dave <br>> <br>> <br>> On Fri, Jul 08, 2016 at 07:17:26AM -0700, marcel.taeumel wrote: <br>>> Hi, there! <br>>> <br>>> I am happy to announce a new kind of project for Squeak: "The Squeak <br>>> Shell". <br>>> :-) <br>>> <br>>> You can install it into any trunk image via: <br>>> <br>>> Installer swa <br>>> project: 'SqueakShell'; <br>>> install: 'SqueakShell'. <br>>> <br>>> Then you will find a new kind of project under Projects -> New Project <br>>> ... <br>>> <br>>> The Squeak Shell is independent from Morphic and MVC. It's architecture <br>>> is, <br>>> partially, a mixture of both. :-D I wanted to keep it as simple as <br>>> possible <br>>> while avoiding global state as much as possible. <br>>> <br>>> My goal is to add it to trunk to simplify modularization of MVC and <br>>> Morphic. <br>>> For example, we have to extract UserInputEvent and Canvas from Morphic <br>>> into <br>>> the base system. These would form a splendid addition to other projects <br>>> because object-oriented event processing and displaying is not something <br>>> that only Morphic should have. <br>>> <br>>> The Squeak Shell helped me refactor Squeak's project mechanism. It also <br>>> revealed potential improvements for our Debugger, which I am going to <br>>> address later this year. One goal is to make Squeak more robust and <br>>> mitigate <br>>> the risk of getting locked out of the system. <br>>> <br>>> Here is the interesting part: It can be used to recover from <br>>> serious/recursive errors in Morphic and MVC. When you open a new Morphic <br>>> project from within a Squeak Shell project, the shell will appear then. <br>>> Only <br>>> recursive errors in the shell will then start our traditional emergency <br>>> evaluator. <br>>> <br>>> Some figures: 12 classes, 274 methods, 1454 LOC. <br>>> <br>>> You can open the Squeak Shell on top of the Morphic loop ("SqueakShell <br>>> open") or as custom process inside the Morphic project ("SqueakShell <br>>> openConcurrent"). You enter a SqueakShell project via: "SqueakShell <br>>> openAsProject". <br>>> <br>>> The core of the Squeak Shell covers only 6 classes (see <br>>> "SqueakShell-Core"). <br>>> There are already two applications in this project: (1) a command line <br>>> and <br>>> (2) a text editor (see "SqueakShell-Tools"). <br>>> <br>>> You can use the Squeak Shell to explore all our tool extension points, <br>>> which <br>>> we use for browsing classes, inspecting objects, debugging unhandled <br>>> errors <br>>> in processes, etc. For this, take a look at SqshProject, SqshToolSet, and <br>>> SqshUIManager. <br>>> <br>>> I am sure that there can be an even smaller kind of project. However, I <br>>> am <br>>> not so sure about the usefulness of such a project. :-) <br>>> <br>>> &lt;<a href="http://forum.world.st/file/n4905613/shell.png" target="_blank">http://forum.world.st/file/n4905613/shell.png</a>&gt; <br>>> <br>>> Have fun! <br>>> Marcel <br>>> <br>>> <br>>> <br>>> -- <br>>> View this message in context: <br>>> <a href="http://forum.world.st/ANN-The-Squeak-Shell-tp4905613.html" target="_blank">http://forum.world.st/ANN-The-Squeak-Shell-tp4905613.html</a> <br>>> Sent from the Squeak - Dev mailing list archive at Nabble.com. <br> <br> <br> <br> <br> <br>-- <br>View this message in context: <a href="http://forum.world.st/ANN-The-Squeak-Shell-tp4905613p4905883.html" target="_blank">http://forum.world.st/ANN-The-Squeak-Shell-tp4905613p4905883.html</a> <br>Sent from the Squeak - Dev mailing list archive at Nabble.com. <br> <br></div></blockquote><br></div><br></div></body></html>