<!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 bgcolor="#ffffff" text="#000000">
    Hi Hilaire,<br>
    <br>
    On 3/17/2024 7:33 AM, Hilaire Fernandes via Cuis-dev wrote:
    <blockquote cite="mid:097afbb8-7342-4e56-8eed-1715a2afc7be@free.fr"
      type="cite">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p><font size="4">Hi folks, <br>
        </font></p>
      <p><font size="4">Some thinking related to a recurring issue I
          have with end-user edited Smalltalk sketch script,
          particularly when debugging.<br>
        </font></p>
      <p><font size="4">For the record, in DrGeo a user can design
          interactive geometric sketch with mouse and clic operation.
          There is also the possibility for the user to design such
          script with programming instruction. It is a way of doing part
          of the DrGeo genome since its early development. </font></p>
      <p><font size="4">When DrGeo was coded in C++, scripts were
          written in Scheme, an Italian teacher wrote some contents
          about it[1]. When porting to Squeak, I was hoping to describe
          script with Etoys, to be honest it is the main reason I ported
          from C++ to Squeak then. So I started to add Etoys tile to
          control DrGeo points, but I did not have the time to go far
          enough[2], then Etoys long term visibility was in question. </font></p>
      <p><b><font size="4">At some point we should have a tile framework
            for Cuis for general use in end user scripting.<br>
          </font></b></p>
      <p><font size="4">While tile are nice, it has a tendency to not be
          very compact, but it could be fixed with tile representing
          more high level concept.</font></p>
      <p><font size="4">Anyway, when editing script, at some point the
          user has to deal with complexity when debugging its script. It
          is true with Scheme and Smalltalk, with C++ version of Squeak,
          Etoys, Pharo and Cuis version of DrGeo<br>
        </font></p>
      <p><font size="4">Adele Goldberg, at her June 2022 talk for Camp
          Smalltalk 50th Anniversary, insisted a lot, at several moment,
          in how a system with a perspective of educating should be able
          to present meaningful information:</font></p>
      <p><font size="4"><br>
        </font></p>
      <div align="justify">
        <blockquote>
          <p><i><b>The Simulation Kit</b><br>
              An important point made by our teaching experience is
              that, because we expect the learner to<br>
              extend a model through programming new methods, not just
              by parameter modification, it is<br>
              critical that some outcome that the learner mistakenly
              creates does not get explained using<br>
              vocabulary outside of what has been already been
              introduced.<br>
              The obvious example from the Smalltalk system itself is
              its class browser and the debugger.<br>
              <b>Imagine you are creating a weather forecasting model
                and an error occurs in execution. But<br>
                instead of seeing the error at the level of weather
                activity and the buttons and dials of the weather<br>
                station, you see a bug in how text is displayed on the
                screen, thereby introducing an underlying<br>
                part of the modeling environment that you have not yet
                learned about (and maybe do not want to<br>
                learn about!). Certainly, dealing with an error outside
                of a kit is a distraction, potentially<br>
                defocusing the learner’s modeling intentions.</b></i><br>
          </p>
        </blockquote>
      </div>
      <p><font size="4"><br>
        </font></p>
      <p><font size="4">You can read her full presentation "Smalltalk
          research through the eyes of an educational mission"[3].  Her
          speeches and writing are always pleasant to read with
          actionable ideas.<br>
        </font></p>
      <p><font size="4">What Adele describes are the challenges I am
          facing in DrGeo end user scripting. The extended model is the
          interactive geometry model of Dr. Geo.</font></p>
      <font size="4">...</font><br>
      <p><font size="4">[1]
          <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://www.matematicamente.it/staticfiles/software_math/dr_geo/schemedrgeo.pdf">https://www.matematicamente.it/staticfiles/software_math/dr_geo/schemedrgeo.pdf</a><br>
          [2] <a moz-do-not-send="true" class="moz-txt-link-freetext"
            href="https://inria.hal.science/inria-00531636v1">https://inria.hal.science/inria-00531636v1</a><br>
          [3] <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://drive.google.com/file/d/15vUiDzClBMAN8931bWe7O9oYHtNMzoQG/view">https://drive.google.com/file/d/15vUiDzClBMAN8931bWe7O9oYHtNMzoQG/view</a><br>
        </font></p>
      <p><font size="4"><br>
        </font></p>
      <pre class="moz-signature" cols="72">-- 
GNU Dr. Geo
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://gnu.org/s/dr-geo/">http://gnu.org/s/dr-geo/</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://gnu-drgeo.blogspot.com/">http://gnu-drgeo.blogspot.com/</a></pre>
    </blockquote>
    <br>
    I understand and agree with what Adele says. I guess that a possible
    approach could be to limit the Smalltalk debugger to code in the
    "extended model" or "kit", and don't open it or encourage its use if
    the error is unrelated.<br>
    <br>
    You suggest a different approach: To switch to a different
    programming language. The first question that comes to my mind is:
    how do Scratch and other tile programming environments handle
    debugging?<br>
    <br>
    Thanks,<br>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
cuis.st
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich
linkedin.com/in/juan-vuletich-75611b3
twitter.com/JuanVuletich</pre>
  </body>
</html>