Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
#######
#
# E-scripts on Lisps that are not Emacs Lisp.
#
# 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.
#
# 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/lisp.e>
#           or at <http://angg.twu.net/e/lisp.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/>.
#
#######





# «.common-lisp-the-language»	(to "common-lisp-the-language")
# «.dpans2texi»			(to "dpans2texi")
# «.comments»			(to "comments")
# «.sbcl»			(to "sbcl")
# «.slime-2012»			(to "slime-2012")
# «.slime»			(to "slime")
# «.slime-cvs»			(to "slime-cvs")
# «.slime-cvs-run»		(to "slime-cvs-run")
# «.gcl»			(to "gcl")
# «.lazy.lisp»			(to "lazy.lisp")
# «.picolisp»			(to "picolisp")
# «.common-worm»		(to "common-worm")
# «.quicklisp»			(to "quicklisp")






#####
#
# Common Lisp, The Language (Steele)
# 2006oct04
#
#####

# «common-lisp-the-language»  (to ".common-lisp-the-language")
# (find-angg ".emacs" "cltl")
# http://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html
# http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_src.tgz
# http://www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_dvi.tgz
# (code-c-d "cltl" "~/usrc/cltl_src/")
# (find-cltlfile "")
#*
rm -Rv ~/usrc/cltl_src/
tar -C ~/usrc/ -xvzf \
  $S/http/www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_src.tgz
cd     ~/usrc/cltl_src/
# LaTeXing clm.tex would be hard - it's for LaTeX 2.09.
# We just unpack the "official" dvi instead.

mkdir  ~/usrc/cltl_src/
cd     ~/usrc/cltl_src/
tar -C ~/usrc/cltl_src/ -xvzf \
  $S/http/www.cs.cmu.edu/afs/cs.cmu.edu/project/ai-repository/ai/lang/lisp/doc/cltl/cltl_dvi.tgz
mv -iv cltl_dvi/clm.dvi .

# Ouch, dvips'ing clm.dvi doesn't make it include the figures...
# Commented out.
# dvips clm.dvi

cd     ~/usrc/cltl_src/
dvipdf clm.dvi

#*
# (code-dvi "cltl"    (ee-cltlfile "clm.dvi"))
# (code-dvi "cltldvi" (ee-cltlfile "clm.dvi"))
# (code-ps  "cltlps"  (ee-cltlfile "clm.ps"))
# (find-cltlpage 1)
# (find-cltlpage (+ 24 324))

# (find-angg ".zshrc" "TeX")
# (find-angg ".zshrc" "TeX" "dvieps-l")
# (find-cltlsh "strings clm.dvi" "psfile=acos-plot.ps")
# (find-cltlsh "dvitype -output-level=1 clm.dvi")

# http://dto.freeshell.org/e/cl.e
# (find-dtoefile "cl.e")
# (find-dtoefile "init.el" "(@* \"ansicl\")")

# 2007sep19:
# http://dto.freeshell.org/e/cl-guide.el
# (code-dvi       "cltl" "~/usrc/cltl_src/clm.dvi")
# (code-pdftotext "cltl" "~/usrc/cltl_src/clm.pdf")
# (find-cltlpage 1)
# (find-cltltext)




#####
#
# dpans2texi
# 2009jul12
#
#####

# «dpans2texi»  (to ".dpans2texi")
# <edrx> clhs format
# <specbot> http://www.lispworks.com/reference/HyperSpec/Body/f_format.htm
# <edrx> is that available in info format?
# <stassats> search for dpans2texi
# http://www.phys.au.dk/~harder/dpans.html
# http://www.phys.au.dk/~harder/dpans2texi-1.05.tar.gz
# (code-c-d "dpans2texi" "~/usrc/dpans2texi-1.05/")
# (find-dpans2texifile "")
# (find-dpans2texifile "Makefile" "wget:")
# (find-dpans2texifile "Makefile.am" "wget:")
# (find-fline "~/tmp/dpans3.tgz")
#*
rm -Rv /tmp/cl/
mkdir  /tmp/cl/
cd     /tmp/cl/
wget -r -np -nd -A tex http://quimby.gnus.org/circus/cl/dpANS3/
wget -r -np -nd -A tex http://quimby.gnus.org/circus/cl/dpANS3R/
tar -cvzf ~/tmp/dpans3.tgz *

#*
rm -Rv ~/usrc/dpans2texi-1.05/
tar -C ~/usrc/ -xvzf \
  $S/http/www.phys.au.dk/~harder/dpans2texi-1.05.tar.gz
cd     ~/usrc/dpans2texi-1.05/

tar -xvzf ~/tmp/dpans3.tgz
./configure |& tee oc
make        |& tee om

#*
# (find-dpans2texifile "")
cd ~/usrc/dpans2texi-1.05/
cp -v ansicl ansicl-* ~/info/

#*
# (find-node "(~/usrc/dpans2texi-1.05/ansicl)")
# (find-node "(ansicl)")
# (find-node "(ansicl)Printer")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
sudo install-info         --section Lisp ansicl ~/info/ansicl
sudo install-info --quiet --section Lisp ansicl ~/info/ansicl
sudo install-info --remove ansicl

# (find-node "(dir)Top" "ANSI Common Lisp")
# (find-node "(ansicl)Backquote")


# 2011oct12:
# http://www.emacswiki.org/emacs/CommonLispHyperspec
# http://www.lispworks.com/documentation/HyperSpec/Body/02_dh.htm





#####
#
# CL syntax for comments
# 2011nov27
#
#####

# «comments»  (to ".comments")
# (find-node "(ansicl)Semicolon")
# (find-node "(ansicl)Semicolon" "Use of Double Semicolon")
# (find-node "(ansicl)Sharpsign" "#|...|#")

* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
(+ 1 2)
(+ 1 #|
  Blah
|#
2)





#####
#
# slime-2012
# 2012sep08
#
#####

# «slime-2012»  (to ".slime-2012")
# http://www.emacswiki.org/SlimeMode
# http://common-lisp.net/project/slime/
# http://slime-tips.tumblr.com/
#
# (find-angg "~/.sbclrc")


# http://www.youtube.com/watch?v=_B_4vhsmRRI
# (find-youtubedl-links "/sda5/videos/" "Marco_Baringer_s_SLIME_Tutorial_Video" "_B_4vhsmRRI" ".flv" "slimetv")
# (code-video "slimetut" "/sda5/videos/Marco_Baringer_s_SLIME_Tutorial_Video-_B_4vhsmRRI.flv")
# http://www.pchristensen.com/blog/articles/reference-for-the-slimelispemacs-screencast/
# (find-slimetut)
# (find-slimetut "0:25" "Recommendation to always work with the latest build of SLIME from CVS")
# (find-slimetut "1:03" "Setting up SBCL to be able to load Swank")
# (find-slimetut "1:37" "Edit (or create) the SBCL initialization file. (The directory he used was /home/[user]/.sbclrc ) Add the following code:")
# (find-slimetut "2:53" "Create a /home/[user]/systems/ folder and create a link to /home/[user]/slime/swank.asd in that folder")
# (find-slimetut "3:08" "In the SBCL prompt, load Swank by typing")
# (find-slimetut "3:23" "Use a secure shell to create a communication link for Slime and the remote Swank process")
# (find-slimetut "3:56" "Swank will attempt to use second stream for output")
# (find-slimetut "4:37" "To start the Swank server, enter this at the SBCL prompt:")
# (find-slimetut "4:48" "Configure your local emacs by creating a slime.el file")
# (find-slimetut "4:59" "Selected contents of Marco's slime.el file")
# (find-slimetut "7:10" "In Emacs, start SLIME and connect to remote Lisp by entering the following key chord:")
# (find-slimetut "8:18" "SLIME REPL Presentations")
# (find-slimetut "9:25" "REPL shortcuts")
# (find-slimetut "10:45" "Key chords to find out information about a symbol: (see also Documentation)")
# (find-slimetut "12:25" "Package declarations.")
# (find-slimetut "12:40" "Compiling and evaluating code.")
# (find-slimetut "13:45" "The SLIME Selector lets you jump to a number of places with a single key")
# (find-slimetut "15:15" "Pressing ` ` (space) after a typing a function shows the parameter list in the minibuffer.")
# (find-slimetut "16:25" "Marco does a cool demonstration of Emacs keyboard macros")
# (find-slimetut "17:05" "Demonstration of Emacs sexp navigation")
# (find-slimetut "19:35" "SLIME Completion in REPL")
# (find-slimetut "22:20" "Welcome to the SLIME debugger buffer (sldb)")
# (find-slimetut "22:27" "Backtrace and frames. The documentation is more thorough")
# (find-slimetut "23:00" "Use `t' to toggle details when on a backtrace frame")
# (find-slimetut "24:10" "In debugger/backtrace frame")
# (find-slimetut "25:04" "Navigating through the REPL history")
# (find-slimetut "26:00" "Optional declarations - these setting are used to ensure all debugging information is shown for the demo")
# (find-slimetut "27:00" "Emacs tools for writing Lisp code")
# (find-slimetut "27:15" "Auto-closing parentheses")
# (find-slimetut "27:58" "Sexp navigation")
# (find-slimetut "28:40" "Transpose sexps")
# (find-slimetut "29:10" "kill sexp")
# (find-slimetut "29:45" "M-[num] ( = wrap [num] close parentheses after next sexp")
# (find-slimetut "33:35" "Recompile file, demonstration of the compiler notes buffer")
# (find-slimetut "35:00" "When you're on a warning and you hit enter, it takes you to the place in the file where the error is")
# (find-slimetut "35:45" "Debugging methods")
# (find-slimetut "37:42" "Using asdf-install to download and configure an external package. At the REPL, type")
# (find-slimetut "39:02" "Inspecting a package")
# (find-slimetut "45:25" "Tracing")
# (find-slimetut "46:18" "Summary of topics covered:")
# (find-slimetut "47:20" "Inspecting objects that aren't printable")
# (find-slimetut "50:25" "Cross reference facility - for instance,you add new parameter to a function and you want to update every call to it")
# (find-slimetut "53:25" "Final thoughts")



# http://common-lisp.net/project/slime/snapshots/slime-current.tgz

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv ~/usrc/slime-2012-09-08/
tar -C ~/usrc/ -xvzf $S/http/common-lisp.net/project/slime/snapshots/slime-current.tgz
cd     ~/usrc/slime-2012-09-08/
cd     ~/usrc/slime-2012-09-08/doc/
make slime.info
cp -v slime.info ~/info/

# (code-c-d "slime" "~/usrc/slime-2012-09-08/" "~/info/slime")
# (code-c-d "slime" "~/usrc/slime-2012-09-08/" "slime")
# (find-slimefile "")
# (find-slimefile "README")
# (find-slimefile "README" "Add this to your ~/.emacs")
# (find-slimefile "doc/Makefile")
# (find-slimefile "doc/")
# (find-slimenode "")
# (find-slimenode "Installation")

(setq inferior-lisp-program "sbcl")
(add-to-list 'load-path "~/usrc/slime-2012-09-08/")
(require 'slime)
(slime-setup)

# (find-ebuffer "*slime-repl sbcl*")
# (find-slimetut)



;; (find-efunction 'find-debpkg-links)
;; (find-efunction 'ee-debpkgname-ask)
(defun ee-time-around-point (&optional show-it)
  (interactive "p")
  (ee-stuff-around-point "0-9:" show-it))

(defun find-foo (&optional time &rest rest)
  (interactive (list (ee-time-around-point)))
  (find-slimetut time))






#####
#
# slime
# 2007mar17
#
#####

# «slime»  (to ".slime")
# (find-angg ".emacs" "slime")
# http://common-lisp.net/project/slime/
# http://common-lisp.net/project/slime/slime-2.0.tgz
#*
rm -Rv ~/usrc/slime-2.0/
tar -C ~/usrc/ -xvzf \
  $S/http/common-lisp.net/project/slime/slime-2.0.tgz
cd     ~/usrc/slime-2.0/

#*
# (code-c-d "slime" "~/usrc/slime-2.0/")
# (find-slimefile "")
# (find-slimefile "README")
# (find-slimefile "README" "Add this to your ~/.emacs")

# http://dto.freeshell.org/e/init.el
# (find-dtoefile "init.el" "(@* \"slime\")")




#####
#
# slime from the CVS
# 2010jul30
#
#####

# «slime-cvs»  (to ".slime-cvs")
# (find-node "(slime)Top")
# (find-node "(slime)Installation" ".emacs")
# (find-node "(slime)Autoloading")
# (find-sh "locate slime")
# (find-node "(slime)CVS Incantations")
#*
rm -Rv ~/usrc/slime/
mkdir  ~/usrc/slime/
cd     ~/usrc/
export CVSROOT=:pserver:anonymous@common-lisp.net:/project/slime/cvsroot
cvs login
  cvs checkout                 slime
# cvs checkout -rFAIRLY-STABLE slime
cd     ~/usrc/slime/
  tar -cvzf ~/tmp/slime-cvs.tgz .
# tar -cvzf ~/tmp/slime-cvs-fairly-stable.tgz .

#*
rm -Rv ~/usrc/slime/
mkdir  ~/usrc/slime/
tar -C ~/usrc/slime/ -xvzf ~/tmp/slime-cvs.tgz
cd     ~/usrc/slime/
cd     ~/usrc/slime/doc/
touch contributors.texi
makeinfo slime
cp -v slime.info ~/info/

#*
http://common-lisp.net/project/slime/
http://common-lisp.net/project/slime/snapshots/slime-current.tgz

#*
# (code-c-d "slime" "~/usrc/slime/" "slime")
# (find-slimefile "")
# (find-slimefile "doc/")
# (find-slimefile "slime-autoloads.el" "CONTRIBS is a list")
# (find-slimefile "slime.el"           "CONTRIBS is a list")
# (find-slimegrep "grep -nrH -e autodoc *")
# (find-slimegrep "grep -nrH -e :autodoc *")
# (find-slimegrep "grep -nrH -e slime-eval *")
# (find-slimefile "contrib/slime-autodoc.el" "swank:autodoc")

(defun slime-setup (&rest args)
  (if (> (length args) 1) (debug))
  (apply 'slime-setup-orig args))


# (find-slimenode "Top")
# (find-slimenode "Inferior-lisp")
# (find-slimenode "REPL")
# (find-slimegrep "REPL")
# (find-slimenode "Multiple Lisps")

;; «slime-cvs-run»  (to ".slime-cvs-run")
;; (find-slimenode "Installation")
;; (find-evariable 'inferior-lisp-program)
;;
(setq inferior-lisp-program "lisp")
(setq inferior-lisp-program "/usr/bin/gcl")
(setq inferior-lisp-program "/usr/bin/sbcl")
(setq inferior-lisp-program "gcl")
(add-to-list 'load-path "~/usrc/slime/")

;; (progn (require 'slime) (message "foo"))
(require 'slime)
(slime-setup)

# (find-slimefile "slime.el" "CONTRIBS is a list")

(message "9002")

(run-hooks 'slime-load-hook)

(setq seen nil)
;; (find-evardescr 'seen)

;; (find-slimefile "slime.el")



<tcr> minion: logs
<minion> logs: #lisp logs are available at
         http://ccl.clozure.com/irc-logs/lisp/ (since 2008-09) and
         http://tunes.org/~nef/logs/lisp/ (since 2000)

http://ccl.clozure.com/irc-logs/lisp/2010-07/lisp-2010.07.31.txt





#####
#
# GCL
# 2009oct02
#
#####

# «gcl»  (to ".gcl")
# (find-status   "gcl")
# (find-vldifile "gcl.list")
# (find-udfile   "gcl/")
# (find-status   "gcl-doc")
# (find-vldifile "gcl-doc.list")
# (find-udfile   "gcl-doc/")
# http://www.gnu.org/software/gcl/
# http://lists.gnu.org/archive/html/gcl-devel/

# (find-zsh "availabledebs | sort | grep gcl")

* (eepitch-gcl)
* (eepitch-kill)
* (eepitch-gcl)
(help)
(defun foo () (foo))
(disassemble 'foo)




(add-to-list 'load-path "~/emacs/slime")
;; (require 'slime)
;; (setq slime-protocol-version 'ignore)
(require 'slime-autoloads)
;(slime-setup '(slime-parse slime-repl slime-indentation))
(add-hook 'slime-load-hook (lambda ()
                            (interactive)
			    (require 'slime-presentations)
                            (set-face-foreground
                             'slime-repl-inputed-output-face
                             "#dfaf8f")))
(global-set-key "\C-z" 'slime-selector)
(add-hook 'slime-repl-mode-hook 'turn-on-paredit)

(slime-setup '(slime-fancy slime-indentation))

(setq inferior-lisp-program "/opt/local/bin/sbcl")
(setq inferior-lisp-program "sbcl")
you can ignore the add-hook for setting the face
 


(setq inferior-lisp-program 'sbcl)

 *  *inferior-lisp*        15825 Comint           (inferior-lisp run)
  % *Completions*           6811 Completion List  
 *  TODO                  890570 Fundamental      ~/TODO
 *  *Messages*              3547 Fundamental      
 *  *slime-events*          4604 Fundamental      
    *scratch*                191 Lisp Interaction 


(find-ebuffer "*inferior-lisp*")
(find-ebuffer "*slime-events*")


# (find-status   "slime")
# (find-vldifile "slime.list")
# (find-udfile   "slime/")

(code-c-d "slime" "/usr/share/emacs/site-lisp/slime/")
;; (find-slimefile "")
;; (find-slimegrep "grep -nrH -e face *")
;; (find-slimegrep "grep -nrH -e slime-repl-inputed-output-face *")
;; (find-slimegrep "grep -nrH -e 'Connected. May the source be with you!' *")
;; (find-slimegrep "grep -nrH -e 'May the source be with you!' *")
;; (find-slimegrep "grep -nrH -e slime-words-of-encouragement *")
;; (find-slimegrep "grep -nrH -e slime-random-words-of-encouragement *")
;; (find-slimegrep "grep -nrH -e 'Connected. %s' *")
;;
;; (find-node "(slime)Recovery" "slime-restart-inferior-lisp")
;; (find-node "(slime)Installation")
;;
(setq inferior-lisp-program "/usr/bin/sbcl")
;; (add-to-list 'load-path "~/hacking/lisp/slime/")
;; (require 'slime)
;; (slime-setup)

* (eepitch '(find-ebuffer "*slime-repl sbcl*"))
(+ 1 2)
(defun foo () (foo))
(disassemble 'foo)

(defun iterate (n) (cons n (list `(iterate ,(1+ n)))))
(defun lazy-cdr (l) (eval (cadr l)))
(defun take (n l)
  (when (and (> n 0) l)
    (cons (car l)
	  (take (1- n) (lazy-cdr l)))))
(take 10 ())

* (slime-restart-inferior-lisp)

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
w sbcl


* (eepitch '(find-ebuffer "*slime-repl sbcl*"))

(defun force (form)
 (apply (car form) (cdr form)))

(defmacro delay (form)
 `(list #',(car form) ,@(cdr form)))

(defun iterate (n)
 (cons n (delay (iterate (1+ n)))))

(defun take (n lazy-list)
 (let ((acc))
   (labels ((take- (n lazy-list)
              (when (and (> n 0) lazy-list)
                (push (car lazy-list) acc)
                (take- (1- n) (force (cdr lazy-list))))))
     (take- n lazy-list)
     (reverse acc))))

(take 5 (iterate 1))
(take 5000 (iterate 1))




#####
#
# sbcl
# 2011oct15
#
#####

# «sbcl»  (to ".sbcl")
# (find-status   "sbcl")
# (find-vldifile "sbcl.list")
# (find-udfile   "sbcl/")
# (find-status   "sbcl-doc")
# (find-vldifile "sbcl-doc.list")
# (find-udfile   "sbcl-doc/")
# (find-status   "sbcl-source")
# (find-vldifile "sbcl-source.list")
# (find-udfile   "sbcl-source/")
# (find-node "(sbcl)Top")
# (find-node "(sbcl)Running external programs")

# (find-sbclfile "")
# (find-sbclfile "src/assembly/x86/")
# (find-sbclfile "src/code/")
# (find-sbclfile "src/code/debug.lisp" "debug-help-string")
# (find-sbclfile "src/code/defstruct.lisp")
# (find-sbclsh "find * | sort")
# (find-sbclnode "")
# (find-sbclnode "Compiler")
# (find-sbclnode "Interpreter")
# (find-sbclnode "Concept Index")
# (find-sbclnode "Function Index")
# (find-sbclnode "Variable Index")
# (find-sbclnode "Type Index")

# (find-sbclnode "Debugger")
# (find-sbclnode "Debugger Banner")
# (find-sbclnode "Exiting Commands")
# (find-sbclnode "Enabling and Disabling the Debugger")

# (find-ansiclnode "")
# (find-ansiclnode "defmacro" "(documentation 'mac1 'function)")

* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
(+ 1 2)
(documentation '+   'function)
(documentation '+++ 'function)
(documentation 'iterate 'function)
HELP

* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
' (disable-debugger)
HELP
(abort)
(toplevel)





#####
#
# lazy.lisp
# 2011oct14
#
#####

# «lazy.lisp»  (to ".lazy.lisp")
# (find-fline "~/tmp/lazy.lisp")
# (find-ansiclnode "Index")
# (find-ansiclnode "Index" "symbol-function")
# (find-ansiclnode "defstruct")
# (find-ansiclnode "defgeneric")
# (find-ansiclnode "defmethod")
# (find-ansiclnode "flet; labels; macrolet")
# (find-ansiclnode "Sharpsign" "function abbreviation")
# (find-ansiclnode "Ordinary Lambda Lists" "&key")
# (find-ansiclnode "lambda-list-keywords")
# (find-ansiclnode "load")

# (find-ansiclnode "find-symbol")

* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
* ;; (find-fline "~/tmp/lazy.lisp")
(load "/home/edrx/tmp/lazy.lisp")
(delay (+ 1 2))
'(+ 1 2)
(eval '(+ 1 2))


(symbol-function 'iterate)
(disassemble 'iterate)


(find-symbol 'iterate)



Hi!
First suggestions:

1) at this point DELAY is somewhat like QUOTE... if we could write
  ^(+ 1 2) instead of (delay (+ 1 2)), and if we had an evaluating
  strategy that applied FORCE exactly when the value of an expression
  were needed, then

    (DEEPFORCE ^(IF ^(< 1 2) ^(+ 3 4) ^(+ 5 6)))

  would yield 7. Suggestion: write DELAY as ^ in the comments - but
  implementing that isn't important.

2) At this moment, AFAICT, the distinction between the fields FUNCTION
   and ARGS is not used - I think it is possible to re-implement THUNK
   as a structure with a single field, CODE, and use EVAL instead of
   APPLY... and then things like ^7 and ^VAR start to make sense too.
   "Why we would want that?", you might ask? See the next item!

3) It would be nice to have a variant of ^ that prints its CODE when
   it is FORCEd, and another one that prints its result _after_ the
   FORCE. Then by sprinkling these "printing ^s" in a program we can
   display what things are evaluated, and in which order...

4) Have you ever stumbled on this paper?
   http://belle.sourceforge.net/doc/hughes95design.pdf
   When I tried to read it, ages ago, I didn't understand even a
   tiny fraction of it - but it made me a deep impression anyway.

Now some questions... if I type, say FOOBAR at the SBCL prompt I get
an error, and it enters the debugger, and the prompt changes to "0]",
an on the next error to "0[2]", then "0[3]", and so on. What is the
right way to go back to toplevel? I found that ^D removes a level of
the debugger, but when the prompt is "*" a ^D leaves SBCL... Also,
after an empty line, a line with just a comment, or a like with
incomplete input, like "(+ 1", SBCL's prompt is just the empty string
- is there a trivial way to change that to "*"?

I downloaded more docs and books about Common Lisp, SBCL, etc, and
spent some hours browsing them and creating links to the relevant
places... I understand most of your code now - I'm not sure about the
LABELS part, though.

Slime is still a mystery to me, for a very silly reason - it deals
with buffers and windows in its own funny ways, and I find it
difficult to control it with eepitch...

  More later!
    Cheers,
      E.




#####
#
# PicoLisp
# 2011nov23
#
#####

# «picolisp»  (to ".picolisp")
# (find-angg ".emacs" "picolisp")
# (find-es "org" "picolisp")
# http://picolisp.com/5000/-2.html
# http://picolisp.com/5000/!wiki?Documentation
# http://software-lab.de/doc/app.html
# http://software-lab.de/doc/app.html#minAppRef
# http://software-lab.de/down.html
# http://software-lab.de/picoLisp-3.0.8.tgz
# http://software-lab.de/wiki.tgz
# http://www.prodevtips.com/2008/03/28/pico-lisp/
#*
rm -Rv ~/usrc/picoLisp/
tar -C ~/usrc/ -xvzf \
  $S/http/software-lab.de/picoLisp-3.0.8.tgz
cd     ~/usrc/picoLisp/

#*
# (code-c-d "picolisp" "~/usrc/picoLisp/")
# (find-picolispfile "")
# (find-picolispfile "INSTALL")
# (find-picolispfile "src/")
# (find-picolispfile "src/om")
# (find-picolispfile "bin/")
# (find-picolispfile "doc/")
# (find-picolispw3m "doc/tut.html")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd ~/usrc/picoLisp/
cd ~/usrc/picoLisp/src/
make |& tee om

* (eepitch-picolisp)
* (eepitch-kill)
* (eepitch-picolisp)
(+ 1 2)




#####
#
# Common Worm
# 2011nov27
#
#####

# «common-worm»  (to ".common-worm")
# (find-gitclone-links "https://github.com/sykopomp/common-worm" "common-worm")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rfv /tmp/common-worm/
mkdir   /tmp/common-worm/
cd      /tmp/common-worm/
git clone https://github.com/sykopomp/common-worm
tar -cvzf ~/tmp/common-worm-git.tgz *

rm -Rfv ~/usrc/common-worm/
tar -C  ~/usrc/ -xvzf ~/tmp/common-worm-git.tgz
cd      ~/usrc/common-worm/

# (code-c-d "commonworm" "~/usrc/common-worm/")
# (find-commonwormfile "")
# (find-commonwormfile "common-worm.lisp")

* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
* (find-commonwormfile "common-worm.lisp")

# CL-SDL:
# http://cl-sdl.sourceforge.net/screenshots/index.html




#####
#
# QuickLisp (and sdl-gfx)
# 2011nov27
#
#####

# «quicklisp»  (to ".quicklisp")
# http://www.quicklisp.org/
# http://www.quicklisp.org/beta/
# http://www.quicklisp.org/beta/index.html
# http://beta.quicklisp.org/quicklisp.lisp
# http://lispbuilder.sourceforge.net/lispbuilder-sdl-image.html
# http://lispbuilder.sourceforge.net/lispbuilder-sdl-gfx.html
# http://code.google.com/p/lispbuilder/wiki/LispbuilderSDL#Example_Code
# http://code.google.com/p/lispbuilder/

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd $S/http/beta.quicklisp.org/
sbcl --load quicklisp.lisp
  (quicklisp-quickstart:install)
  ;; (find-fline "~/quicklisp/")
  (ql:add-to-init-file)
  ;; (find-fline "~/.sbclrc")
  (ql:quickload '(:lispbuilder-sdl-gfx))


* (eepitch-sbcl)
* (eepitch-kill)
* (eepitch-sbcl)
(ql:quickload '(:lispbuilder-sdl-gfx))

(defun width-height ()
  (let ((width 200) (height 200))
    (sdl:with-init ()
      (sdl:window width height
         :title-caption "Width and Height, from Processing.org")
      (sdl:clear-display (sdl:color :r 127 :g 127 :b 127))
      (loop for i from 0 to height by 20
	 do (progn (sdl-gfx:draw-box (sdl:rectangle :x 0 :y i :w 200 :h 10)
				     :color sdl:*black*)
		   (sdl-gfx:draw-box (sdl:rectangle :x i :y 0 :w 10 :h 200)
				     :color sdl:*white*)))
      (sdl:with-events ()
	(:quit-event () t)
	(:video-expose-event () (sdl:update-display))))))

(width-height)

# http://common-lisp.net/project/cffi/manual/html_node/The-Groveller.html
# http://common-lisp.net/project/cffi/manual/cffi-manual.html#Tutorial_002dComparison

# http://en.wikipedia.org/wiki/Daniel_Weinreb
# http://www.bitsavers.org/pdf/mit/cadr/LISPM_WindowSystem_Aug83.pdf

http://www.gigamonkeys.com/book/loop-for-black-belts.html
http://common-lisp.net/~loliveira/tmp/iterate-manual/html_node/Introduction.html
http://leon.bottou.org/projects/minilisp






#  Local Variables:
#  coding:               raw-text-unix
#  ee-delimiter-hash:    "\n#*\n"
#  ee-delimiter-percent: "\n%*\n"
#  ee-anchor-format:     "«%s»"
#  End: