Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on Squeak (not on other SmallTalks)
#
# Note 1: use the eev command (defined in eev.el) and the
# ee alias (in my .zshrc) to execute parts of this file.
# Executing this file as a whole makes no sense.
# An introduction to eev can be found here:
#
#   (find-eev-quick-intro)
#   http://angg.twu.net/eev-intros/find-eev-quick-intro.html
#
# Note 2: be VERY careful and make sure you understand what
# you're doing.
#
# Note 3: If you use a shell other than zsh things like |&
# and the for loops may not work.
#
# Note 4: I always run as root.
#
# Note 5: some parts are too old and don't work anymore. Some
# never worked.
#
# Note 6: the definitions for the find-xxxfile commands are on my
# .emacs.
#
# Note 7: if you see a strange command check my .zshrc -- it may
# be defined there as a function or an alias.
#
# Note 8: the sections without dates are always older than the
# sections with dates.
#
# This file is at <http://angg.twu.net/e/squeak.e>
#           or at <http://angg.twu.net/e/squeak.e.html>.
#        See also <http://angg.twu.net/emacs.html>,
#                 <http://angg.twu.net/.emacs[.html]>,
#                 <http://angg.twu.net/.zshrc[.html]>,
#                 <http://angg.twu.net/escripts.html>,
#             and <http://angg.twu.net/>.
#
#######





# «.tutorials»			(to "tutorials")
# «.squeak-3.6»			(to "squeak-3.6")
# «.learn-squeak»		(to "learn-squeak")
# «.squeak-sarge»		(to "squeak-sarge")
# «.squeak-vm»			(to "squeak-vm")
# «.squeak-debian-2006»		(to "squeak-debian-2006")
# «.squeak-on-etch»		(to "squeak-on-etch")
# «.squeak-binfmts»		(to "squeak-binfmts")
# «.install-2022»		(to "install-2022")
# «.smalltalkeditor-feb2022»	(to "smalltalkeditor-feb2022")
# «.tweaks.cs»			(to "tweaks.cs")
# «.autocompletion»		(to "autocompletion")
# «.20220302-transpose»		(to "20220302-transpose")

# (find-es "smalltalk")



http://minnow.cc.gatech.edu/squeak/uploads/SqueakLanguageRef.3.html
http://minnow.cc.gatech.edu/squeak/uploads/SqueakClassesRef.html





#####
#
# tutorials
# 2022mar02
#
#####

# «tutorials»  (to ".tutorials")
# https://wiki.squeak.org/squeak/792 Squeak Tutorials
# https://wiki.squeak.org/squeak/6622 Learning Squeak in 2020 ***
# https://wiki.squeak.org/squeak/792#eToys
# https://en.scratch-wiki.info/wiki/Squeak_Tutorial







#####
#
# Squeak 3.6
# 2004feb29
#
#####

# «squeak-3.6»  (to ".squeak-3.6")
# <http://www-sor.inria.fr/~piumarta/squeak/>

# (code-c-d "squeakvm"    "~/bigsrc/Squeak-3.6g-2/")
# (code-c-d "squeakvmdoc" "~/bigsrc/Squeak-3.6g-2/platforms/unix/doc/")
# (find-squeakvmfile "")
# (find-squeakvmfile "README")
# (find-squeakvmdocfile "HowToBuildFromSource.txt")
# (find-squeakvmdocfile "3.2-5.RELEASE_NOTES" "libdir")
# (find-squeakvmdocfile "3.2-1.RELEASE_NOTES" "without first installing it")
# (find-squeakvmdocfile "")
#*
rm -Rv ~/bigsrc/Squeak-3.6g-2/
cd $S/http/www-sor.inria.fr/~piumarta/squeak/devel/dist/
tar -xvzf Squeak-3.6g-2.src.tar.gz      -C ~/bigsrc/
tar -xvzf Squeak-3.6g-5420.image.tar.gz -C ~/bigsrc/

cd $S/http/www-sor.inria.fr/~piumarta/squeak/unix/release/
tar -xvzf Squeak-3.sources.tar.gz       -C ~/bigsrc/Squeak-3.6g-2/

cd ~/bigsrc/Squeak-3.6g-2/
mv -v Squeak-3/usr/local/lib/squeak/SqueakV3.sources \
               usr/local/lib/squeak/

#*
cd ~/bigsrc/Squeak-3.6g-2/
mkdir bld
cd bld
../platforms/unix/config/configure |& tee oc
make	|& tee om

#*
# (find-squeakvmfile "bld/omi")
cd ~/bigsrc/Squeak-3.6g-2/bld/
rm -v /usr/local/doc/squeak/*.gz
make install	|& tee omi

cd ~/bigsrc/Squeak-3.6g-2/
./INSTALL	|& tee oI

#*

# (find-fline "/tmp/Squeak-3/INSTALL" "preferred locations")
# (find-fline "/tmp/Squeak-3.6g-2/INSTALL" "preferred locations")
#*
diff /tmp/Squeak-3/INSTALL /tmp/Squeak-3.6g-2/INSTALL
#*
rm -Rv /tmp/Squeak-3*
#*




#####
#
# learning squeak
# 2004mar11
#
#####

# «learn-squeak»  (to ".learn-squeak")
# Squeak FAQ: <http://minnow.cc.gatech.edu/squeak/471>
# (find-w3m "/home/edrx/snarf/http/minnow.cc.gatech.edu/squeak/471")

(defun find-sqsrc (&rest rest)
  (find-fline "~/.squeak/srcs")
  (setq tab-width 2)
  (apply 'ee-goto-position rest))

(defun find-sqchg (&rest rest)
  (find-fline "~/.squeak/chgs")
  (setq tab-width 2)
  (apply 'ee-goto-position rest))

# (find-sqsrc "inspect it (i)")
# (find-sqsrc "TextEditorYellowButtonMenu _ SelectionMenu")
# (find-sqsrc "printIt: characterStream")
# (find-sqsrc "evalString:")
# (find-sqsrc "\nbrowseAllClasses")

# (find-sqchg "A Browser is a tool")
# (find-sqchg 0)


#*
# (find-fline "~/.squeak/")
cd ~/.squeak/
tr \\\r \\\n < squeak.changes   > chgs
tr \\\r \\\n < SqueakV3.sources > srcs
mkdir chg src

#*
# (find-lua50ref "string.find")

cd ~/.squeak/chg/
lua50e '
sources = {}
class = nil
_, __, class_ = string.find(

add = function (class, line)
  
'

# (find-gstnode "A new class")
# (find-gstnode "Defining methods")
# (find-gstnode "The syntax")
# (find-gstnode "The syntax" "#at:put:")

1 to: 62 do: [:j |
	bestIndex = 63 ifTrue: [
		(stepSizeTable at: j) >= diff ifTrue: [bestIndex _ j]]].
	^ bestIndex

# (find-fline "~/.squeak/")




#####
#
# squeak from the debianized sources
# 2004dec15
#
#####

# «squeak-sarge»  (to ".squeak-sarge")
# http://minnow.cc.gatech.edu/squeak/3616
# (find-fline "/etc/apt/sources.list")
# deb ftp://st.cs.uiuc.edu/pub/Smalltalk/Squeak/debian/ unstable non-US
deb-src ftp://st.cs.uiuc.edu/pub/Smalltalk/Squeak/debian/ unstable non-US
#*
apt-get update

#*
# (find-fline "~/tmp/debsrc/")
rm -Rv ~/bigsrc/squeak/
mkdir  ~/bigsrc/squeak/
cd     ~/bigsrc/squeak/
cp -v $S/ftp/st.cs.uiuc.edu/pub/Smalltalk/Squeak/debian/dists/unstable/non-US/source/non-free/* .

#*
# (find-fline "~/bigsrc/squeak/")
# (find-fline "~/bigsrc/squeak/squeak-3.7b5/")

cd     ~/bigsrc/squeak/
dpkg-source -x squeak_3.7b5-2.dsc
cd     ~/bigsrc/squeak/squeak-3.7b5/
dpkg-buildpackage -rfakeroot	|& tee odbfr

cd     ~/bigsrc/squeak/
dpkg-source -x squeak-image3.7_5868-1.dsc
cd     ~/bigsrc/squeak/squeak-image3.7-5868/
dpkg-buildpackage -rfakeroot	|& tee odbfr

cd     ~/bigsrc/squeak/
dpkg-source -x squeak-sources3_0.0-1.dsc
cd     ~/bigsrc/squeak/squeak-sources3-0.0/
dpkg-buildpackage -rfakeroot	|& tee odbfr

#*
cd ~/bigsrc/squeak/
dpkg -i \
  inisqueak_3.7b5-2_i386.deb     \
  squeak-image3.7_5868-1_all.deb \
  squeak-plugin_3.7b5-2_i386.deb \
  squeak-sources3_0.0-1_all.deb  \
  squeak-vm_3.7b5-2_i386.deb     \
  squeak_3.7b5-2_all.deb

#*





#####
#
# Squeak 3.6
# 2004feb29
#
#####

# «squeak-3.6»  (to ".squeak-3.6")
# <http://www-sor.inria.fr/~piumarta/squeak/>

# (code-c-d "squeakvm"    "~/bigsrc/Squeak-3.6g-2/")
# (code-c-d "squeakvmdoc" "~/bigsrc/Squeak-3.6g-2/platforms/unix/doc/")
# (find-squeakvmfile "")
# (find-squeakvmfile "README")
# (find-squeakvmdocfile "HowToBuildFromSource.txt")
# (find-squeakvmdocfile "3.2-5.RELEASE_NOTES" "libdir")
# (find-squeakvmdocfile "3.2-1.RELEASE_NOTES" "without first installing it")
# (find-squeakvmdocfile "")
#*
rm -Rv ~/bigsrc/Squeak-3.6g-2/
cd $S/http/www-sor.inria.fr/~piumarta/squeak/devel/dist/
tar -xvzf Squeak-3.6g-2.src.tar.gz      -C ~/bigsrc/
tar -xvzf Squeak-3.6g-5420.image.tar.gz -C ~/bigsrc/

cd $S/http/www-sor.inria.fr/~piumarta/squeak/unix/release/
tar -xvzf Squeak-3.sources.tar.gz       -C ~/bigsrc/Squeak-3.6g-2/

cd ~/bigsrc/Squeak-3.6g-2/
mv -v Squeak-3/usr/local/lib/squeak/SqueakV3.sources \
               usr/local/lib/squeak/

#*
cd ~/bigsrc/Squeak-3.6g-2/
mkdir bld
cd bld
../platforms/unix/config/configure |& tee oc
make	|& tee om

#*
# (find-squeakvmfile "bld/omi")
cd ~/bigsrc/Squeak-3.6g-2/bld/
rm -v /usr/local/doc/squeak/*.gz
make install	|& tee omi

cd ~/bigsrc/Squeak-3.6g-2/
./INSTALL	|& tee oI

#*

# (find-fline "/tmp/Squeak-3/INSTALL" "preferred locations")
# (find-fline "/tmp/Squeak-3.6g-2/INSTALL" "preferred locations")
#*
diff /tmp/Squeak-3/INSTALL /tmp/Squeak-3.6g-2/INSTALL
#*
rm -Rv /tmp/Squeak-3*
#*




#####
#
# learning squeak
# 2004mar11
#
#####

# «learn-squeak»  (to ".learn-squeak")
# Squeak FAQ: <http://minnow.cc.gatech.edu/squeak/471>
# (find-w3m "/home/edrx/snarf/http/minnow.cc.gatech.edu/squeak/471")

(defun find-sqsrc (&rest rest)
  (find-fline "~/.squeak/srcs")
  (setq tab-width 2)
  (apply 'ee-goto-position rest))

(defun find-sqchg (&rest rest)
  (find-fline "~/.squeak/chgs")
  (setq tab-width 2)
  (apply 'ee-goto-position rest))

# (find-sqsrc "inspect it (i)")
# (find-sqsrc "TextEditorYellowButtonMenu _ SelectionMenu")
# (find-sqsrc "printIt: characterStream")
# (find-sqsrc "evalString:")
# (find-sqsrc "\nbrowseAllClasses")

# (find-sqchg "A Browser is a tool")
# (find-sqchg 0)


#*
# (find-fline "~/.squeak/")
cd ~/.squeak/
tr \\\r \\\n < squeak.changes   > chgs
tr \\\r \\\n < SqueakV3.sources > srcs
mkdir chg src

#*
# (find-lua50ref "string.find")

cd ~/.squeak/chg/
lua50e '
sources = {}
class = nil
_, __, class_ = string.find(

add = function (class, line)
  
'

# (find-gstnode "A new class")
# (find-gstnode "Defining methods")
# (find-gstnode "The syntax")
# (find-gstnode "The syntax" "#at:put:")

1 to: 62 do: [:j |
	bestIndex = 63 ifTrue: [
		(stepSizeTable at: j) >= diff ifTrue: [bestIndex _ j]]].
	^ bestIndex

# (find-fline "~/.squeak/")





#####
#
# the Squeak VM
# 2005jan06
#
#####

# «squeak-vm»  (to ".squeak-vm")
# (code-c-d "squeakvm"    "~/bigsrc/squeak/squeak-3.7b5/")
# (code-c-d "squeakvmdoc" "~/bigsrc/squeak/squeak-3.7b5/platforms/unix/doc/")
# (find-squeakvmfile "src/vm/")
# (find-squeakvmfile "src/vm/interp.c")
# (find-squeakvmdocfile "README.Keyboard" "Button1 (red)")





#####
#
# squeak for debian, again (2006)
# 2006aug11
#
#####

# «squeak-debian-2006»  (to ".squeak-debian-2006")
# (find-angg ".zshrc" "mysqueak")
# http://wiki.squeak.org/squeak/3616

# http://ftp.squeak.org/debian/squeak-debian-packages.pdf
# http://wudika.de/~marcus/swiki/minnow.cc.gatech.edu/squeak/3616.html
# http://www-sor.inria.fr/~piumarta/squeak/index.html
# http://ftp.squeak.org/debian/dists/unstable/main/source/Sources
# http://ftp.squeak.org/debian/dists/unstable/main/source/devel/
# http://ftp.squeak.org/debian/dists/unstable/main/source/devel/index.html
# http://ftp.squeak.org/debian/dists/unstable/main/binary-all/Packages.gen
# http://ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/
# http://ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/index.html
# http://ftp.squeak.org/debian/dists/unstable/main/binary-i386/Packages
# http://ftp.squeak.org/debian/dists/unstable/main/binary-i386/Packages.gen
# http://ftp.squeak.org/debian/dists/unstable/main/binary-i386/devel/
# http://ftp.squeak.org/debian/dists/unstable/main/binary-i386/devel/index.html
# (find-zsh "gethrefs < $S/http/ftp.squeak.org/debian/dists/unstable/main/source/devel/index.html")
# (find-zsh "gethrefs < $S/http/ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/index.html")
# (find-zsh "gethrefs < $S/http/ftp.squeak.org/debian/dists/unstable/main/binary-i386/devel/index.html")
# http://ftp.squeak.org/debian/dists/unstable/main/binary-i386/devel/squeak-vm_3.9.7-9_i386.deb
# http://ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/squeak-image3.9_3.9.7046.1_all.deb
# http://ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/squeak-sources3_3.7_all.deb
# http://ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/squeak_3.9.7-9_all.deb
#*
A=(
  $S/http/ftp.squeak.org/debian/dists/unstable/main/binary-i386/devel/squeak-vm_3.9.7-9_i386.deb
  $S/http/ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/squeak-image3.9_3.9.7046.1_all.deb
  $S/http/ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/squeak-sources3_3.7_all.deb
  $S/http/ftp.squeak.org/debian/dists/unstable/main/binary-all/devel/squeak_3.9.7-9_all.deb
)
sudo dpkg -i $A

#*
# (find-fline "~/SQUEAK/")
# (find-sh "rm -Rv ~/SQUEAK/")

#*
mkdir -p ~/SQUEAK/
cd       ~/SQUEAK/
squeak &

#*

# (find-status   "squeak-vm")
# (find-vldifile "squeak-vm.list")
# (find-udfile   "squeak-vm/")
# (find-status   "squeak-image3.9")
# (find-vldifile "squeak-image3.9.list")
# (find-udfile   "squeak-image3.9/")
# (find-status   "squeak-sources3")
# (find-vldifile "squeak-sources3.list")
# (find-udfile   "squeak-sources3/")
# (find-status   "squeak")
# (find-vldifile "squeak.list")
# (find-udfile   "squeak/")

# (find-sh "tr \\\\r \\\\n < /usr/share/squeak/SqueakV3.sources")




#####
#
# squeak on etch
# 2007jun30
#
######

# «squeak-on-etch»  (to ".squeak-on-etch")
# http://wiki.squeak.org/squeak/3616
# (find-fline "/etc/apt/sources.list")

deb     http://ftp.squeak.org/debian/ stable main
deb-src http://ftp.squeak.org/debian/ stable main

# (find-status   "squeak")
# (find-vldifile "squeak.list")
# (find-udfile   "squeak/")
# (find-status   "squeak-vm")
# (find-vldifile "squeak-vm.list")
# (find-udfile   "squeak-vm/")
# (find-status   "squeak-image3.9")
# (find-vldifile "squeak-image3.9.list")
# (find-udfile   "squeak-image3.9/")
# (find-status   "squeak-sources3.9")
# (find-vldifile "squeak-sources3.9.list")
# (find-udfile   "squeak-sources3.9/")

# (find-fline "/usr/bin/squeak")
# (find-man "1 squeak")
# (find-fline "/usr/bin/squeakvm")
# (find-man "1 squeakvm")
# (find-fline "/usr/share/squeak/")
# (find-fline "/usr/lib/squeak/4.0.3-2202/")

# (find-anggsh "tr '\\r' '\\n' < .squeak/SqueakV39.sources")
# (find-anggsh "tr '\\r' '\\n' < .squeak/SqueakV39.sources" "authoring tools")
# (find-anggsh "tr '\\r' '\\n' < .squeak/SqueakV39.sources" "print it (p)")
# (find-anggsh "tr '\\r' '\\n' < .squeak/SqueakV39.sources" "polynomialEval: thisX")
# (find-anggsh "tr '\\r' '\\n' < .squeak/SqueakV39.sources" "a Stream that accesses a FilePage")
#(1 2 3) polynomialEval: 2
readFromFile:
FileStream

	| f |
	f := (FileStream fileNamed: fileName) binary.
	self storeAIFFSamplesOn: f.
	f close.



* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# squeak /usr/share/squeak/squeak3.9.image.gz &
zcat   /usr/share/squeak/squeak3.9.image.gz   > /tmp/squeak3.9.image
cp -v  /usr/share/squeak/SqueakV39.sources      /tmp/SqueakV39.sources
zcat   /usr/share/squeak/squeak3.9.changes.gz > /tmp/squeak3.9.changes
squeak /tmp/squeak3.9.image
# (find-bgprocess "squeak /tmp/squeak3.9.image")

/usr/share/squeak

# (find-fline "~/.squeak/")
# (find-fline "/usr/share/squeak/")
# (find-sh0 "tr '\\r' '\\n' < ~/.squeak/SqueakV39.sources  > /tmp/sources.txt")
# (find-esgrep "grep -nH -e file: /tmp/sources.txt")
# (find-esgrep "grep -niH -e filedirectory /tmp/sources.txt")
# (find-esgrep "grep -niH -e writeOnFileNamed: /tmp/sources.txt")
# (find-esgrep "grep -niH -e forceNewFileNamed: /tmp/sources.txt")
# (find-fline "/tmp/sources.txt")

(FileDirectory on: 'tmp') newFileNamed: 'foo'





#####
#
# squeak and binfmts
# 2007jul01
#
#####

# «squeak-binfmts»  (to ".squeak-binfmts")
# http://wiki.squeak.org/squeak/3616
# (find-available "binfmt-support")
# (find-status   "binfmt-support")
# (find-vldifile "binfmt-support.list")
# (find-udfile   "binfmt-support/")

update-binfmts --install squeak /usr/bin/squeakvm --magic '\x66\x19\x00\x00'
update-binfmts --install squeak-be /usr/bin/squeakvm --magic '\x00\x00\x19\x66'
echo ':squeak:M::\x66\x19\x00\x00::/usr/bin/squeakvm:' > /proc/sys/fs/binfmt_misc/register
echo ':squeak-be:M::\x00\x00\x19\x66::/usr/bin/squeakvm:' > /proc/sys/fs/binfmt_misc/register




#####
#
# install-2022
# 2022feb25
#
#####

# «install-2022»  (to ".install-2022")
# http://wiki.squeak.org/squeak/3616 the Debian packages have not been updated in over a decade
# https://squeak.org/downloads/

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/SQUEAK/
wget -nc http://files.squeak.org/5.3/Squeak5.3-19459-64bit/Squeak5.3-19459-64bit-202003021730-Linux.zip
rm -Rv ~/SQUEAK/Squeak5.3-19459-64bit-202003021730-Linux/
unzip Squeak5.3-19459-64bit-202003021730-Linux.zip


* (eepitch-shell3)
* (eepitch-kill)
* (eepitch-shell3)
# (find-fline "~/SQUEAK/Squeak5.3-19459-64bit-202003021730-Linux/")
cd             ~/SQUEAK/Squeak5.3-19459-64bit-202003021730-Linux/
./squeak.sh




#####
#
# smalltalkeditor-feb2022
# 2022feb25
#
#####

# «smalltalkeditor-feb2022»  (to ".smalltalkeditor-feb2022")
# (find-fline "/tmp/emacs-squeak.txt")
# (find-fline "~/SQUEAK/" "SmalltalkEditor.st")
# (find-fline "~/SQUEAK/SmalltalkEditor.st")

Okay!
  SmalltalkEditor.st 14.0 KB
I had to remind myself of a lot of things (it's been years)
sorry it took so long
Okay download this, then in your Squeak:
Tools menu, select File List
and browse to where you downloaded this file
Click it, then click the filein button


Okay cool
One last step
Go to the tools menu and open a workspace and a transcript
in either of them: 
  SmalltalkEditor initialize
and hit C-d
Now here's what should happen: C-e should inject the contents of /tmp/emacs-squeak.txt and point; C-E should write the selection to the same file
So you could test by selecting some text and hitting C-E, then seeing whether that file exists from Emacs
(and if so, editing it there, saving, and hitting C-e in the workspace)
you should see a little notification in the Transcript

FANTASTIC!!!

Does it work?

Perfectly!!!!!!!!!! =) =) =)

Yay

If you want separate files that's a  trivial change

No, it's better that way!!!

one last thing: try C-d on "SmalltalkEditor browse" (no quotes) and ensure the instance (rather than class) button is clicked
look for methods emacsIn and emacsOut
FWIW the time consuming thing here was figuring out how to rebind, and looking at the editor API to see how to grab the selection or insert at point
It's probably been 17 years since I dug around the system in this way so I've forgotten everything




#####
#
# tweaks.cs
# 2022feb28
#
#####

# «tweaks.cs»  (to ".tweaks.cs")
# (find-fline "~/SQUEAK/tweaks.st")

; install this
(find-epackage-links 'smalltalk-mode)
; save this somewhere
(find-wget "https://0branch.com/snippets/tweaks.cs")
;; now in squeak: tools menu -> file list -> browse to file -> filein




#####
#
# autocompletion
# 2022mar04
#
#####

# «autocompletion»  (to ".autocompletion")

Tools -> Preferences -> search -> completion
Tools -> Preferences -> search -> color -> Color Preference Example
Extras -> Themes and colors -> Squeak (duller)
Squeak -> Tutorials -> Useful expressions
Apps -> Preference wizard
  update + completion






#####
#
# 20220302-transpose
# 2022mar03
#
#####

# «20220302-transpose»  (to ".20220302-transpose")
# (find-mvideo "20220302squeakdemo" "0:00")
# (find-mvideo "20220303inaworkspace" "0:00")

* (eepitch-shell3)
* (eepitch-kill)
* (eepitch-shell3)
# (find-fline "~/SQUEAK/Squeak5.3-19459-64bit-202003021730-Linux/")
cd             ~/SQUEAK/Squeak5.3-19459-64bit-202003021730-Linux/
./squeak.sh










IRC chat, 2006aug11:

<gulik> edrx: Try this in a Squeak workspace: (1 to: 100) collect: [ :each | each * 2 ].
<gulik> Select it and press alt-i.
<gulik> Its a stupid bit of code that returns a list of numbers.
<gulik> Here's a better example that shows how inspectors update:
<gulik> Make a list:    myList := OrderedCollection new.
<gulik> Add stuff to it:          1 to: 100 do: [ :each | myList add: each ].
<gulik> select only "myList" and press alt-i.
<gulik> and then change it:       myList at: 1 put: 'hello'.
<gulik> You should see it change in the inspector.

<gulik> The debugger is pretty cool as well. Some people advocate coding using only the debugger.
<gulik> That is, write some code, run it until it fails, write more code to make it not fail and "continue" the debugger until it fails again.


Browser newOnClass: Workspace.
Workspace browse.



Squeak by Example:
  http://www.iam.unibe.ch/~scg/SBE/

http://vpri.org/html/writings.htm
http://vpri.org/pdf/NSF_prop_RN-2006-002.pdf
http://piumarta.com/cv/

http://www.zogotounga.net/comp/squeak/sqgeo.htm?fbclid=IwAR0rRsbY7GYUO_ihnm0QhRmK-H4GeQZWJj9SeskOzCiMxGutqEUYYRTggUs





#  Local Variables:
#  coding:               utf-8-unix
#  End: