Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>As someone new to smalltalk, the two things that really strike me are the image-based system, and that reflection is everywhere. These two simple facts appear to give rise to everything else cool in the system:</p> <ul> <li>The image means that you do everything by manipulating objects, including writing and compiling code</li> <li>Reflection allows you to inspect the state of any object. Since classes are objects and their sources are objects, you can inspect and manipulate code</li> <li>You have access to the current execution context, so you can have a look at the stack, and from there, compiled code and the source of that code and so on</li> <li>The stack is an object, so you can save it away and then resume later. Bingo, continuations!</li> </ul> <p>All of the above starts to come together in cool ways:</p> <ul> <li>The browser lets you explore the source of literally everything, including the VM in Squeak</li> <li>You can make changes that affect your live program, so there's no need to restart and navigate your way through to whatever you're working on</li> <li>Even better, when your program throws an exception you can debug the live code. You fix the bug, update the state if it's become inconsistent and then have your program continue.</li> <li>The browser will tell you if it thinks you've made a typo</li> <li>It's absurdly easy to browse up and down the class hierarchy, or find out what messages a object responds to, or which code sends a given message, or which objects can receive a given message</li> <li>You can inspect and manipulate the state of any object in the system</li> <li>You can make any two objects literally switch places with become:, which lets you do crazy stuff like stub out any object and then lazily pull it in from elsewhere if it's sent a message.</li> </ul> <p>The image system and reflection has made all of these perfectly natural and normal things for a smalltalker for about thirty years.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload