<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1313631899;
        mso-list-type:hybrid;
        mso-list-template-ids:-335129204 -1 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:3;
        mso-level-number-format:bullet;
        mso-level-text:\F0D8;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        font-family:Wingdings;
        mso-fareast-font-family:"Times New Roman";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.75in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.25in;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.75in;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Chris,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.75in">
>>  Yes, that's exactly right. Reading Chris's reply I started to suspect I'm using the Workspace for what it wasn't made for: I test various snippets in the Workspace and put down expectations, notes, results etc, to be copied to some document later. Checking
 standard menus I can't see any text editor - have I missed something important here? (I learn by myself so the clues in the system are crucial for me)<br>
<br>
> Yes, you can use World | open... | file... or simply open Squeak's<br>
FileManager browser and create and open the file there.  It's just as<br>
functional as a Workspace, and you can save it and even append to it<br>
if you want.<o:p></o:p></p>
<p class="MsoNormal">Thanks for pointing me to a text editor from a file, I was not aware of this functionality :)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Unfortunately there seem to be a couple of problems:<o:p></o:p></p>
<p class="MsoNormal">1) cancelling the accept menu opens a Debugger; I can't figure out how to fix this<o:p></o:p></p>
<p class="MsoNormal">2) the text editor differs from the Workspace at least in that it doesn't declare local variables automatically; I like to inspect variables after a do-it and I actually don't know how to work around this at the moment...
<o:p></o:p></p>
<p class="MsoNormal">3) the right-click menu has fewer options than Workspace's and is a bit inconsistent (e.g. the more... option is not the last one); it feels a bit "forgotten"... but having a text editor sounds like a good idea at any rate.<o:p></o:p></p>
<p class="MsoNormal">(Besides that I enjoy having Transcript embedded in the editor/workspace window to see messages from the experiments without always bringing Transcript to the front; but yes, that's my personal preference and I could embed it in a text
 editor too)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<br>
> Workspaces are intended for *short-term* experiments, but what you're<br>
doing sounds more like long-term research that deserves something<br>
better than a Workspace, something already able to persist.  It might<br>
still be worth considering whether each of the various snippets you're<br>
testing could be titled with its own method name on the class side of<br>
a "MyWorkspaceOrganizer" class.  If so, it solves _everything_ we've<br>
been talking about.  Backups.  Synchronicity.  Image crashes.  Etc.<br>
It also enables method composition and you could even make versions of<br>
it..<o:p></o:p></p>
<p class="MsoNormal">E.g. recently I’ve been playing with small things like<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">p := [Semaphore new wait] fork.<o:p></o:p></p>
<p class="MsoNormal">Processor yield.<o:p></o:p></p>
<p class="MsoNormal">p suspend.<o:p></o:p></p>
<p class="MsoNormal">p resume<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">p := [Semaphore new wait] fork.<o:p></o:p></p>
<p class="MsoNormal">Processor yield.<o:p></o:p></p>
<p class="MsoNormal">p suspend.<o:p></o:p></p>
<p class="MsoNormal">p<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">p := [Semaphore new wait] fork.<o:p></o:p></p>
<p class="MsoNormal">Processor yield.<o:p></o:p></p>
<p class="MsoNormal">p<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">p := [Semaphore new wait] fork.<o:p></o:p></p>
<p class="MsoNormal">Processor yield.<o:p></o:p></p>
<p class="MsoNormal">p resume<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In this case the Workspace seemed most suitable. But for some real/larger work organizing the experiments in methods sounds like a good idea – thanks!<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.5in"><br>
> > > I just realized being able to save Workspaces opens this can of worms of needing a stale-detection system in any case -- otherwise users will face this "doubt" every single time they launch the image. (Chris)<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
<br>
> > Yes, true, I know this feeling very well :) That's why I like Marcel's idea to append the accepted contents to the saved file rather than overwrite; it's a backup anyway so when a disaster (or doubt) strikes one can check the backups.<br>
<br>
> The above-mentioned file features have an append feature, however, I<br>
don't think that would help if the image crashed and you didn't save.<o:p></o:p></p>
<p class="MsoNormal">Marcel’s Workspace append has the cool feature it is timestamped so it’s easy to separate the latest accepted version of the Workspace :)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks again for your tips!<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best,<o:p></o:p></p>
<p class="MsoNormal">Jaromir<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Chris Muller <asqueaker@gmail.com><br>
<b>Sent:</b> Friday, January 28, 2022 1:56:46 AM<br>
<b>To:</b> mail@jaromir.net <mail@jaromir.net><br>
<b>Cc:</b> squeak dev <squeak-dev@lists.squeakfoundation.org>; tim Rowledge <tim@rowledge.org><br>
<b>Subject:</b> Re: The Trunk: Morphic-mt.1852.mcz</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">> Yes, that's exactly right. Reading Chris's reply I started to suspect I'm using the Workspace for what it wasn't made for: I test various snippets in the Workspace and put down expectations, notes, results etc, to be copied to some
 document later. Checking standard menus I can't see any text editor - have I missed something important here? (I learn by myself so the clues in the system are crucial for me)<br>
<br>
Yes, you can use World | open... | file... or simply open Squeak's<br>
FileManager browser and create and open the file there.  It's just as<br>
functional as a Workspace, and you can save it and even append to it<br>
if you want.<br>
<br>
Workspaces are intended for *short-term* experiments, but what you're<br>
doing sounds more like long-term research that deserves something<br>
better than a Workspace, something already able to persist.  It might<br>
still be worth considering whether each of the various snippets you're<br>
testing could be titled with its own method name on the class side of<br>
a "MyWorkspaceOrganizer" class.  If so, it solves _everything_ we've<br>
been talking about.  Backups.  Synchronicity.  Image crashes.  Etc.<br>
It also enables method composition and you could even make versions of<br>
it..<br>
<br>
> > > I just realized being able to save Workspaces opens this can of worms of needing a stale-detection system in any case -- otherwise users will face this "doubt" every single time they launch the image. (Chris)<br>
><br>
> Yes, true, I know this feeling very well :) That's why I like Marcel's idea to append the accepted contents to the saved file rather than overwrite; it's a backup anyway so when a disaster (or doubt) strikes one can check the backups.<br>
<br>
The above-mentioned file features have an append feature, however, I<br>
don't think that would help if the image crashed and you didn't save.<br>
<br>
 - Chris<br>
</div>
</span></font></div>
</body>
</html>