<!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&lt;Marcel.Taeumel@hpi.de&gt;</b> wrote ---- <br></div><blockquote style="border-left: 1px solid #0000FF; padding-left: 6px; margin:0 0 0 5px"><div>&lt;<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>&gt;  <br> <br>See SqshCommandLine &gt;&gt; #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>&gt; This is a really nice demonstration of how Projects work in Squeak. It <br>&gt; is completely different from either Morphic or MVC, and the removal of <br>&gt; the traditional GUI makes it clear that Projects are not directly tied <br>&gt; to any one mode of user interaction. <br>&gt;  <br>&gt; The shell itself has an interesting conceptual model. We usually think <br>&gt; of a "shell" or "console window" that navigates around file systems, <br>&gt; such that where you are in the shell is based on a current working <br>&gt; directory in a file system. But in SqueakShell we are navigating in <br>&gt; the object space. <br>&gt;  <br>&gt; And of course the text-mode Squeaky the Mouse logo makes for a compelling <br>&gt; user experience :-) <br>&gt;  <br>&gt; I would encourage everyone to try loading this and playing around with <br>&gt; SqueakShell. <br>&gt;  <br>&gt; Dave <br>&gt;  <br>&gt;  <br>&gt; On Fri, Jul 08, 2016 at 07:17:26AM -0700, marcel.taeumel wrote: <br>&gt;&gt; Hi, there! <br>&gt;&gt;  <br>&gt;&gt; I am happy to announce a new kind of project for Squeak: "The Squeak <br>&gt;&gt; Shell". <br>&gt;&gt; :-) <br>&gt;&gt;  <br>&gt;&gt; You can install it into any trunk image via: <br>&gt;&gt;  <br>&gt;&gt; Installer swa <br>&gt;&gt;    project: 'SqueakShell'; <br>&gt;&gt;    install: 'SqueakShell'. <br>&gt;&gt;  <br>&gt;&gt; Then you will find a new kind of project under Projects -&gt; New Project <br>&gt;&gt; ... <br>&gt;&gt;  <br>&gt;&gt; The Squeak Shell is independent from Morphic and MVC. It's architecture <br>&gt;&gt; is, <br>&gt;&gt; partially, a mixture of both. :-D I wanted to keep it as simple as <br>&gt;&gt; possible <br>&gt;&gt; while avoiding global state as much as possible. <br>&gt;&gt;  <br>&gt;&gt; My goal is to add it to trunk to simplify modularization of MVC and <br>&gt;&gt; Morphic. <br>&gt;&gt; For example, we have to extract UserInputEvent and Canvas from Morphic <br>&gt;&gt; into <br>&gt;&gt; the base system. These would form a splendid addition to other projects <br>&gt;&gt; because object-oriented event processing and displaying is not something <br>&gt;&gt; that only Morphic should have. <br>&gt;&gt;  <br>&gt;&gt; The Squeak Shell helped me refactor Squeak's project mechanism. It also <br>&gt;&gt; revealed potential improvements for our Debugger, which I am going to <br>&gt;&gt; address later this year. One goal is to make Squeak more robust and <br>&gt;&gt; mitigate <br>&gt;&gt; the risk of getting locked out of the system. <br>&gt;&gt;  <br>&gt;&gt; Here is the interesting part: It can be used to recover from <br>&gt;&gt; serious/recursive errors in Morphic and MVC. When you open a new Morphic <br>&gt;&gt; project from within a Squeak Shell project, the shell will appear then. <br>&gt;&gt; Only <br>&gt;&gt; recursive errors in the shell will then start our traditional emergency <br>&gt;&gt; evaluator. <br>&gt;&gt;  <br>&gt;&gt; Some figures: 12 classes, 274 methods, 1454 LOC. <br>&gt;&gt;  <br>&gt;&gt; You can open the Squeak Shell on top of the Morphic loop ("SqueakShell <br>&gt;&gt; open") or as custom process inside the Morphic project ("SqueakShell <br>&gt;&gt; openConcurrent"). You enter a SqueakShell project via: "SqueakShell <br>&gt;&gt; openAsProject". <br>&gt;&gt;  <br>&gt;&gt; The core of the Squeak Shell covers only 6 classes (see <br>&gt;&gt; "SqueakShell-Core"). <br>&gt;&gt; There are already two applications in this project: (1) a command line <br>&gt;&gt; and <br>&gt;&gt; (2) a text editor (see "SqueakShell-Tools"). <br>&gt;&gt;  <br>&gt;&gt; You can use the Squeak Shell to explore all our tool extension points, <br>&gt;&gt; which <br>&gt;&gt; we use for browsing classes, inspecting objects, debugging unhandled <br>&gt;&gt; errors <br>&gt;&gt; in processes, etc. For this, take a look at SqshProject, SqshToolSet, and <br>&gt;&gt; SqshUIManager. <br>&gt;&gt;  <br>&gt;&gt; I am sure that there can be an even smaller kind of project. However, I <br>&gt;&gt; am <br>&gt;&gt; not so sure about the usefulness of such a project. :-) <br>&gt;&gt;  <br>&gt;&gt; &amp;lt;<a href="http://forum.world.st/file/n4905613/shell.png" target="_blank">http://forum.world.st/file/n4905613/shell.png</a>&amp;gt;  <br>&gt;&gt;  <br>&gt;&gt; Have fun! <br>&gt;&gt; Marcel <br>&gt;&gt;  <br>&gt;&gt;  <br>&gt;&gt;  <br>&gt;&gt; -- <br>&gt;&gt; View this message in context: <br>&gt;&gt; <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>&gt;&gt; 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>