Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
#######
#
# E-scripts on Scheme.
#
# 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/scheme.e>
#           or at <http://angg.twu.net/e/scheme.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/>.
#
#######




# «.guile»		(to "guile")
# «.guile-3.0»		(to "guile-3.0")
# «.r5rs»		(to "r5rs")
# «.scsh»		(to "scsh")
# «.gauche»		(to "gauche")
# «.sicp-in-info»	(to "sicp-in-info")
# «.sicp-pdf»		(to "sicp-pdf")
# «.isicp»		(to "isicp")
# «.sicp-videos»	(to "sicp-videos")
# «.guile-1.8»		(to "guile-1.8")
# «.mit-scheme»		(to "mit-scheme")
# «.tinyscheme»		(to "tinyscheme")
# «.racket»		(to "racket")
# «.geiser»		(to "geiser")
# «.chez-scheme»	(to "chez-scheme")
# «.tspl4»		(to "tspl4")
# «.spritely-goblins»	(to "spritely-goblins")
# «.chibi»		(to "chibi")
# «.s7-scheme»		(to "s7-scheme")
# «.ghost-hop»		(to "ghost-hop")
# «.emacsconf2024»	(to "emacsconf2024")



# (find-zsh "installeddebs | sort | grep guile")
# (find-zsh "availabledebs | sort | grep guile")





#####
#
# guile-1.6
# 2005feb21
#
#####

# «guile»  (to ".guile")
# https://gitlab.com/NalaGinrut/guile-lua-rebirth





####
#
# guile1.4 (woody)
# 2004mar25
#
####

# (find-status "guile1.4")
# (find-vldifile "guile1.4.list")
# (find-fline "/usr/doc/guile1.4/")
# (find-fline "/usr/doc/guile1.4/examples/")
# (find-fline "/usr/doc/guile1.4/examples/emacs-interaction.el.gz")

# (find-efile "cmuscheme.el")

# (find-status "guile1.4-doc")
# (find-vldifile "guile1.4-doc.list")
# (find-fline "/usr/doc/guile1.4-doc/")

# (find-enode "External Lisp")
# (find-enode "Executing Lisp")





#####
#
# guile1.3 (potato)
# 2000jun04
#
#####

# (find-status "guile1.3")
# (find-vldifile "guile1.3.list")
# (find-fline "/usr/doc/guile1.3/")
# (find-fline "/usr/doc/guile1.3/examples/")
# (find-fline "/usr/bin/guile-wm-menu-launch")

# (find-status "libguile6")
# (find-vldifile "libguile6.list")
# (find-fline "/usr/doc/libguile6/")

# (find-status "libguile6-dev")
# (find-vldifile "libguile6-dev.list")
# (find-fline "/usr/doc/libguile6-dev/")
# (find-fline "/usr/doc/libguile6-dev/examples/")
# (find-fline "/usr/doc/libguile6-dev/examples/czscm.el.gz")
# (find-fline "/usr/include/libguile/")
# (find-fline "/usr/include/libguile.h")
# (find-fline "/usr/include/guile/")
# (find-fline "/usr/include/guile-readline/")
# (find-fline "/usr/bin/guile-config")
# (find-fline "/usr/bin/guile1.3-snarf")
# (find-node "(data-rep)Top")

libguile6-slib






# (code-c-d "ice9" "/usr/share/guile/1.3.4/ice-9/")
# (find-ice9file "")



#####
#
# goops
# 2000jun04
#
#####

# (find-status "libgoops2")
# (find-vldifile "libgoops2.list")
# (find-fline "/usr/doc/libgoops2/")
# (find-fline "/usr/share/guile/oop/goops/")
# (find-fline "/usr/share/guile/oop/goops.scm")

# (find-status "libgoops2-dev")
# (find-vldifile "libgoops2-dev.list")
# (find-fline "/usr/doc/libgoops2-dev/")

# (find-status "goops-doc")
# (find-vldifile "goops-doc.list")
# (find-fline "/usr/doc/goops-doc/")
# (find-node "(goops)Top")







man guile1.2
man guile1.2-snarf


/usr/man/man1/guile1.2.1.gz
/usr/man/man1/guile1.2-snarf.1.gz




Pgrep m/guile/ |& tee ~/o
# (find-fline "~/o")

# (find-vldifile "guile1.3.list")
# (find-vldifile "guile1.3-doc.list")
# (find-vldifile "libguile4.list")
# (find-vldifile "libguile4-dev.list")
# (find-vldifile "slib.list")

# (find-node "(guile-tut)Top")
# (find-node "(guile-ref)Top")
# (find-node "(slib)Top")

# (find-fline "/usr/share/guile/1.3/ice-9/")
# (find-fline "/usr/share/guile/1.3/ice-9/emacs.scm")
# (find-fline "/usr/doc/libguile4/")
# (find-fline "/usr/doc/guile1.3-doc/")
# (find-fline "/usr/doc/guile1.3/examples/")
# (find-fline "/usr/doc/guile1.3/examples/emacs-interaction.README.gz")
# (find-fline "/usr/share/slib/")
# (find-fline "/usr/doc/slib/")



apti guile1.3 guile1.3-doc

guile1.3
guile1.3-doc
libguile4
libguile4-dev
slib

scwm


apti 



#####
#
# guile-3.0 (bullseye)
# 2021sep09
#
#####

# «guile-3.0»  (to ".guile-3.0")
# (find-angg ".emacs" "guile")
# (find-es "lilypond" "repl")
# (find-es "lilypond" "lilypond-etch")
# (find-zsh "installeddebs | sort | grep guile")
# (find-zsh "availabledebs | sort | grep guile")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti guile-3.0 guile-3.0-doc

# (find-status   "guile-3.0")
# (find-vldifile "guile-3.0.list")
# (find-udfile   "guile-3.0/")
# (find-status   "guile-3.0-doc")
# (find-vldifile "guile-3.0-doc.list")
# (find-udfile   "guile-3.0-doc/")
# (find-status   "guile-3.0-libs")
# (find-vldifile "guile-3.0-libs:amd64.list")
# (find-udfile   "guile-3.0-libs/")
# (find-fline "/usr/share/guile/3.0/")
# (find-fline "/usr/share/guile/3.0/ice-9/")

# (find-guilenode "About Closure")


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

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
guile


http://www.emacswiki.org/emacs/GuileEmacs
http://www.emacswiki.org/emacs/GuileIde





#####
#
# r5rs - "Revised^5 Report on the Algorithmic Language Scheme"
# 2000jun16 / 2013jan06
#
#####

# «r5rs» (to ".r5rs")
# (find-status   "r5rs-doc")
# (find-vldifile "r5rs-doc.list")
# (find-udfile   "r5rs-doc/")

;; (find-fline        "/usr/share/doc/r5rs-doc/")
(code-c-d      "r5rs" "/usr/share/doc/r5rs-doc/r5rs/" "r5rs")
(code-xpdf     "r5rs" "/usr/share/doc/r5rs-doc/r5rs.pdf")
(code-pdf-text "r5rs" "/usr/share/doc/r5rs-doc/r5rs.pdf")
;; (find-r5rspage)
;; (find-r5rstext)

# (find-r5rsnode "Top")
# (find-r5rsnode "Control features")
# (find-r5rsnode "Symbols")
# (find-r5rsnode "Index")
# (find-r5rsnode "Index" "let")
# (find-r5rsnode "Index" "let:")
# (find-r5rsnode "Index" "call-with-current-continuation")

# (find-r5rsfile "")
# (find-r5rsw3m "index.html")




# (code-c-d "schemerep" "$S/ftp/ftp.cs.indiana.edu/pub/scheme-repository/")
# (find-schemerepfile "doc/standards/r5rs.txi")
# (find-schemerepfile "doc/misc/scheme_1.faq")
# (find-schemerepfile "doc/misc/scheme_2.faq")

# (find-shttpfile "www.neci.nj.nec.com/homepages/kelsey/")
# (find-shttpw3 "www.cs.indiana.edu/scheme-repository/doc.standards.html")
#*
xdvi $S/http/www.neci.nj.nec.com/homepages/kelsey/r5rs.dvi &

#*
cd /tmp/
cp /snarf/http/www.neci.nj.nec.com/homepages/kelsey/r5rs.dvi .
make -f ~/LATEX/Makefile r5rs.pdf

#*




#####
#
# scsh - the Scheme shell
# 2004sep13
#
#####

# «scsh»  (to ".scsh")
# (find-angg ".emacs" "scsh")
# (find-status   "scsh")
# (find-vldifile "scsh.list")
# (find-udfile   "scsh/")
# (find-status   "scsh-doc")
# (find-vldifile "scsh-doc.list")
# (find-udfile   "scsh-doc/")
# (find-status   "scsh-0.6-doc")
# (find-vldifile "scsh-0.6-doc.list")
# (find-udfile   "scsh-0.6-doc/")
# (find-udfile "scsh-0.6-doc/cheat.txt.gz")
# (find-udfile "scsh-0.6-doc/s48-manual/html/")
# (find-fline "/usr/lib/scsh/scsh/")
# (find-fline "/usr/lib/scsh/scsh/awk.scm")

# (find-status   "scsh-doc")
# (find-vldifile "scsh-doc.list")
# (find-udfile   "scsh-doc/")
# (find-dvipage (ee-udfile "scsh-doc/scsh-manual/man.dvi.gz") 1)
# (find-dvipage (ee-udfile "scsh-doc/s48-manual/manual.dvi.gz") 1)
# (find-dvipage (ee-udfile "scsh-doc/scsh-paper/scsh-paper.dvi.gz") 1)
# (find-pspage  (ee-udfile "scsh-doc/meeting.ps.gz") 1)

# (find-status "libelfg0")
# (find-vldifile "libelfg0.list")
# (find-fline "/usr/doc/libelfg0/")

* (eepitch-scsh)
* (eepitch-kill)
* (eepitch-scsh)
,?
(run (ls /tmp))
(exit)

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
rm -Rv /tmp/scshdoc/
mkdir  /tmp/scshdoc/
cd     /tmp/scshdoc/
cp -v $(find /usr/share/doc/scsh-0.6-doc/ -type f | grep -v html) \
  /tmp/scshdoc/
gunzip -v /tmp/scshdoc/*.gz
# (find-fline "/tmp/scshdoc/")



(defun aaronl-run-scheme ()
  (interactive)
  ;; create new frame, give it focus
  (focus-frame (new-frame))
  ;; load inferior scheme mode
  (ignerrs (require 'cmuscheme))
  ;; run scheme
  (run-scheme "scm -p1")
  ;; make sure there's only one window
  (delete-other-windows))



(setq scheme-program-name "/usr/bin/guile")
(run-scheme)

(run-scheme "/usr/bin/guile")
# (find-etag "run-scheme") 




#####
#
# gauche
# 2007mar16
#
#####

# «gauche»  (to ".gauche")
# (find-status   "gauche")
# (find-vldifile "gauche.list")
# (find-udfile   "gauche/")
# (find-status   "gauche-dev")
# (find-vldifile "gauche-dev.list")
# (find-udfile   "gauche-dev/")
# (find-status   "gauche-doc")
# (find-vldifile "gauche-doc.list")
# (find-udfile   "gauche-doc/")
# (find-node "(gauche-refe)")

# Old (2007):
# http://prdownloads.sourceforge.net/gauche/Gauche-0.8.9.tgz
#*
rm -Rv ~/usrc/Gauche-0.8.9/
tar -C ~/usrc/ -xvzf \
  $S/http/prdownloads.sourceforge.net/gauche/Gauche-0.8.9.tgz
cd     ~/usrc/Gauche-0.8.9/

./configure --enable-multibyte=no  |& tee oc
make                               |& tee om
make test                          |& tee omt

#*
# (code-c-d "gauche" "~/usrc/Gauche-0.8.9/")
# (find-gauchefile "")
# (find-gauchefile "INSTALL")

(ee-gauchefile "doc/gauche-refe")






#####
#
# sicp in info
# 2008nov04 / 2020jun16
#
#####

# «sicp-in-info»  (to ".sicp-in-info")
# http://www.neilvandyke.org/sicp-texi/
# http://www.neilvandyke.org/sicp-texi/sicp.texi.gz

# (find-epackage 'sicp)
# (find-elpafile "sicp-readme.txt")
# (find-elpafile "sicp-20200512.1137/")
# http://melpa.org/#/sicp
# https://github.com/webframp/sicp-info
# (find-node "(sicp)Top")
# (find-node "(sicp)1-1" "The Elements of Programming")




#####
#
# sicp-pdf
# 2020jun03
#
#####

# «sicp-pdf» (to ".sicp-pdf")
# (find-books "__comp/__comp.el" "abelson-sussman")
# https://www.cliki.net/SICP
# https://news.ycombinator.com/item?id=13918465
# https://github.com/sarabander/sicp-pdf

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -Rfv ~/usrc/sicp-pdf/
cd      ~/usrc/
git clone https://github.com/sarabander/sicp-pdf
cd      ~/usrc/sicp-pdf/

# (find-fline "~/usrc/")
# (find-fline "~/usrc/sicp-pdf/")
# (find-gitk  "~/usrc/sicp-pdf/")

# (code-c-d "sicppdf" "~/usrc/sicp-pdf/")
# (find-sicppdffile "")
# (find-sicppdffile "src/Makefile")
# (find-pdf-page "~/usrc/sicp-pdf/src/fig/chap1/Fig1.3c.pdf")
# (find-pdf-text "~/usrc/sicp-pdf/src/fig/chap1/Fig1.3c.pdf")

cd      ~/usrc/sicp-pdf/src/
make |& tee om

# (/usr/local/texlive/2019/texmf-dist/tex/latex/base/fontenc.sty)
# (/usr/local/texlive/2019/texmf-dist/tex/latex/fontspec/fontspec.cfg)))
# kpathsea:make_tex: Invalid filename `Inconsolata LGC', contains ' '




#####
#
# Structure and Interpretation of Computer Programs - Interactive Version
# 2020jun04
#
#####

# «isicp» (to ".isicp")
# https://news.ycombinator.com/item?id=13918465 ->
# http://www.xuanji.li/isicp/
# http://www.xuanji.li/isicp/1-1-elements.html
# https://github.com/ldct/isicp

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# rm -Rfv ~/usrc/isicp/
cd      ~/usrc/
git clone https://github.com/ldct/isicp
cd      ~/usrc/isicp/

# (find-fline "~/usrc/")
# (find-fline "~/usrc/isicp/")
# (find-gitk  "~/usrc/isicp/")

# (code-c-d "isicp" "~/usrc/isicp/")
# (find-isicpfile "")
# (find-isicpfile "readme.md" "Ctrl-Enter will re-run the script.")




#####
#
# sicp-videos
# 2021aug05
#
#####

# «sicp-videos»  (to ".sicp-videos")
# https://www.youtube.com/watch?v=2Op3QLzMgSY&list=PL8FE88AA54363BC46




#####
#
# MIT Scheme
# 2011nov04
#
#####

# «mit-scheme»  (to ".mit-scheme")
# (find-angg ".emacs" "mit-scheme")
# (find-zsh "availabledebs | sort | grep mit")
# (find-zsh "installeddebs | sort | grep mit")

# (find-status   "mit-scheme")
# (find-vldifile "mit-scheme.list")
# (find-udfile   "mit-scheme/")
# (find-status   "mit-scheme-doc")
# (find-vldifile "mit-scheme-doc.list")
# (find-udfile   "mit-scheme-doc/")

# (find-node "(mit-scheme-imail)")
# (find-node "(mit-scheme-ref)")
# (find-node "(mit-scheme-ref)X Graphics")
# (find-node "(mit-scheme-sos)")
# (find-node "(mit-scheme-user)")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
mit-scheme



#####
#
# TinyScheme
# 2012feb02
#
#####

# «tinyscheme»  (to ".tinyscheme")
# http://tinyscheme.sourceforge.net/
# http://tinyscheme.sourceforge.net/home.html
# http://users.hol.gr/~dsouflis/ovrimos.html
# http://philosecurity.org/2009/01/12/interview-with-an-adware-author
# http://www.ve3syb.ca/software/tiny-fu/
# http://tinyscheme.sourceforge.net/oo.txt
# (find-status   "tinyscheme")
# (find-vldifile "tinyscheme.list")
# (find-udfile   "tinyscheme/")
# (find-man "1 tinyscheme")
# (find-udfile "tinyscheme/BUILDING")
# (find-udfile "tinyscheme/copyright")
# (find-udfile "tinyscheme/changelog.Debian.gz")
# (find-udfile "tinyscheme/Manual.txt.gz")
# (find-udfile "tinyscheme/hack.txt.gz")
# (find-udfile "tinyscheme/MiniSCHEMETribute.txt")
# (find-fline "/usr/lib/tinyscheme/init.scm")

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




#####
#
# Racket
# 2013jan01
#
#####

# «racket» (to ".racket")
# (find-esfile "racket")
# (find-status   "racket")
# (find-vldifile "racket.list")
# (find-udfile   "racket/")
# (find-status   "racket-common")
# (find-vldifile "racket-common.list")
# (find-udfile   "racket-common/")
# (find-status   "racket-doc")
# (find-vldifile "racket-doc.list")
# (find-udfile   "racket-doc/")
# file:///usr/share/doc/racket/guide/Emacs.html

# (find-fline "/usr/bin/drracket")
# (find-fline "/usr/bin/gracket-text")
# (find-fline "/usr/bin/mred-text")
# (find-fline "/usr/bin/mzc")
# (find-fline "/usr/bin/mzpp")
# (find-fline "/usr/bin/mztext")
# (find-fline "/usr/bin/pdf-slatex")
# (find-fline "/usr/bin/planet")
# (find-fline "/usr/bin/plt-games")
# (find-fline "/usr/bin/plt-help")
# (find-fline "/usr/bin/plt-r5rs")
# (find-fline "/usr/bin/plt-r6rs")
# (find-fline "/usr/bin/plt-web-server")
# (find-fline "/usr/bin/raco")
# (find-fline "/usr/bin/scribble")
# (find-fline "/usr/bin/setup-plt")
# (find-fline "/usr/bin/slatex")
# (find-fline "/usr/bin/slideshow")
# (find-fline "/usr/bin/swindle")
# (find-fline "/usr/bin/tex2page")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
racket
(+ 2 3)

* (eepitch-racket)
* (eepitch-kill)
* (eepitch-racket)
(+ 2 3)

(define (square x) (* x x))
(define (cube x) (* x x x))

(displayln square)
(displayln cube)
(displayln (square 2))
(displayln (cube 2))

cube

# (find-man "pdf-slatex")

<dansa> In Racket, one way would be be (define (square x) (* x x))
        (define (cube x) (* x x x)) and you can print these values
        as (displayln square) (displayln cube) (displayln (square
        2)) (displayln (cube 2))

# (find-epackage-links 'racket-mode "racketmode" t)
# (find-epackage       'racket-mode)
# (code-c-d "racketmode" "~/.emacs.d/elpa/racket-mode-20211007.1856/")
# (find-racketmodefile "")





#####
#
# Geiser
# 2013jan01
#
#####

# «geiser» (to ".geiser")
# (find-epackage-links 'geiser "geiser" t)

# http://docs.racket-lang.org/guide/Emacs.html
# http://www.nongnu.org/geiser/
# http://packages.debian.org/sid/geiser
# http://ftp.de.debian.org/debian/pool/main/g/geiser/geiser_0.1.4-2.dsc

# http://ftp.de.debian.org/debian/pool/main/g/geiser/
# http://ftp.de.debian.org/debian/pool/main/g/geiser/geiser_0.1.4-2.dsc
# http://ftp.de.debian.org/debian/pool/main/g/geiser/geiser_0.1.4-2.debian.tar.gz
# http://ftp.de.debian.org/debian/pool/main/g/geiser/geiser_0.1.4.orig.tar.gz
#*
rm -Rv ~/usrc/geiser/
mkdir  ~/usrc/geiser/
cd $S/http/ftp.de.debian.org/debian/pool/main/g/geiser/
cp -v geiser_0.1.4* ~/usrc/geiser/
cd     ~/usrc/geiser/
dpkg-source -sn -x geiser_0.1.4-2.dsc
cd     ~/usrc/geiser/geiser-0.1.4/
dpkg-buildpackage -us -uc -b -rfakeroot     |& tee odb

#*
# (find-fline "~/usrc/geiser/")
* (eepitch-shell)
cd ~/usrc/geiser/
sudo dpkg -i *.deb

#*
# (code-c-d "geiser" "~/usrc/geiser/geiser-0.1.4/")
# (find-geiserfile "")

# (find-status   "geiser")
# (find-vldifile "geiser.list")
# (find-udfile   "geiser/")
# (find-node "(geiser)")
# (find-node "(geiser)No hacker is an island")
# (find-fline "/usr/share/emacs/site-lisp/geiser/")
# (find-fline "/usr/share/geiser/guile/geiser/")
# (find-fline "/usr/share/geiser/racket/geiser/")

# (find-man "1 geiser-racket")
# (find-fline "/usr/bin/geiser-racket")





#####
#
# Chez Scheme
# 2021sep09
#
#####

# «chez-scheme» (to ".chez-scheme")
# https://en.wikipedia.org/wiki/Chez_Scheme
# https://www.reddit.com/r/lisp/comments/b4gr2x/which_scheme_interpreter_should_i_use/
# https://wingolog.org/archives/2013/01/07/an-opinionated-guide-to-scheme-implementations (2013)

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
apti chezscheme chezscheme-doc

# (find-zsh "installeddebs | sort | grep scheme")
# (find-zsh "availabledebs | sort | grep scheme")
# (find-sh "apt-cache search scheme | grep -i scheme | sort")

# (find-status   "chezscheme")
# (find-vldifile "chezscheme.list")
# (find-udfile   "chezscheme/")
# (find-udfile   "chezscheme/examples/")
# (find-status   "chezscheme-doc")
# (find-vldifile "chezscheme-doc.list")
# (find-udfile   "chezscheme-doc/")
# file:///usr/share/doc/chezscheme-doc/html/csug.html

# (find-man "1 chezscheme")
# (find-man "1 petite")
# (find-man "1 scheme-script-chez")

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
chezscheme
(exit)
scheme
(exit)

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
which chez
which chezscheme
rm -fv ~/bin/chez
cat >  ~/bin/chez <<'%%%'
#!/bin/sh
exec /usr/bin/chezscheme9.5 $*
%%%
chmod 755 ~/bin/chez

chez
(exit)

# (find-fline "/usr/lib/csv9.5/ta6le/")





#####
#
# Dybvig: The Scheme Programming Language, Fourth Edition
# 2021jan11
#
#####

# «tspl4»  (to ".tspl4")
# https://www.scheme.com/tspl4/
# https://www.scheme.com/tspl4/further.html#./further:h3
# (find-node "(guile)Top")
# (find-node "(guile)Definition")
# (find-node "(guile)Block Comments")

<peanutbutterandc> edrx, You could (load "foo.scm") in the REPL. Or
                   to run it directly just `guile asdf.scm`
<wasamasa> so, considering emacs can byte-compile functions and
           replace their definitions with the result of that, shall
           we call it a JIT
<nly> no
<peanutbutterandc> edrx, (load "foo.scm") though. or, if it's just
                   to load, from command line, `guile -l foo.scm`

* (eepitch-guile)
* (eepitch-kill)
* (eepitch-guile)

(set! x (list 42 99))
(if (null? x) (quote ()) (cdr x))

(call/cc
  (lambda (k)
    (* 5 4)))

(call/cc
  (lambda (k)
    (* 5 (k 4))))

(+ 2
   (call/cc
     (lambda (k)
       (* 5 (k 4)))))

(define product
  (lambda (ls)
    (call/cc
      (lambda (break)
        (let f ([ls ls])
          (cond
            [(null? ls) 1]
            [(= (car ls) 0) (break 0)]
            [else (* (car ls) (f (cdr ls)))]))))))

(product '(1 2 3 4 5))
(product '(7 3 8 0 1 9 5))

(let ([x (call/cc (lambda (k) k))])
  (x (lambda (ignore) "hi")))

(((call/cc (lambda (k) k)) (lambda (x) x)) "HEY!")

(define retry #f)

(define factorial
  (lambda (x)
    (if (= x 0)
        (call/cc (lambda (k) (set! retry k) 1))
        (* x (factorial (- x 1))))))

(factorial 4)
(retry 1)
(retry 2)

(retry 2)
(retry 5)

(define lwp-list '())
(define lwp
  (lambda (thunk)
    (set! lwp-list (append lwp-list (list thunk)))))

(define start
  (lambda ()
    (let ([p (car lwp-list)])
      (set! lwp-list (cdr lwp-list))
      (p))))

(define pause
  (lambda ()
    (call/cc
      (lambda (k)
        (lwp (lambda () (k #f)))
        (start)))))

(lwp (lambda () (let f () (pause) (display "h") (f))))
(lwp (lambda () (let f () (pause) (display "e") (f))))
(lwp (lambda () (let f () (pause) (display "y") (f))))
(lwp (lambda () (let f () (pause) (display "!") (f))))
(lwp (lambda () (let f () (pause) (newline) (f))))

(start)




#####
#
# spritely-goblins
# 2022dec17
#
#####

# «spritely-goblins»  (to ".spritely-goblins")
# https://spritely.institute/news/growing-a-networked-garden-with-spritely-goblins.html
# https://spritely.institute/static/papers/spritely-core.html
# https://git.dthompson.us/community-garden.git/
# https://news.ycombinator.com/submitted?id=paroneayea




#####
#
# chibi
# 2023apr13
#
#####

# «chibi»  (to ".chibi")
# https://github.com/ashinn/chibi-scheme
# http://synthcode.com/scheme/chibi/
# (find-git-links "https://github.com/ashinn/chibi-scheme" "chibi")
# (code-c-d "chibi" "~/usrc/chibi-scheme/")
# (find-chibifile "")
# (find-chibish "find * | sort")
# (find-chibifile "lib/chibi/shell.scm")
# (find-chibifile "lib/chibi/" "shell.scm")
# (find-chibifile "tests/ffi/ffi-tests.scm")

https://gitlab.com/Lockywolf/lwfslackbuilds/-/blob/master/02_lockywolf-sbo-scripts/make-repo.chibi.scm



#####
#
# s7-scheme
# 2024oct06
#
#####

# «s7-scheme»  (to ".s7-scheme")
# https://ccrma.stanford.edu/software/snd/snd/s7.html




#####
#
# Ghost Hop
# 2024oct06
#
#####

# «ghost-hop»  (to ".ghost-hop")
# https://itch.io/jam/spring-lisp-game-jam-2024/results/entertainment-how-enjoyable-is-it
# https://itch.io/jam/spring-lisp-game-jam-2024/rate/2734356
# https://gcmas.itch.io/ghosthop
# https://gitlab.com/gcmas/ghosthop

# (find-git-links "https://gitlab.com/gcmas/ghosthop" "ghosthop")
# (code-c-d "ghosthop" "~/usrc/ghosthop/")
# (find-ghosthopfile "")
# (find-ghosthopsh "find * | sort")

git submodule init
git submodule update




#####
#
# emacsconf2024
# 2024dec08
#
#####

# «emacsconf2024»  (to ".emacsconf2024")
# https://emacsconf.org/2024/talks/guile/
# (find-lynx "https://emacsconf.org/2024/talks/guile/")
# (find-fline "~/LOGS/2024dec08.emacsconf-gen" "Beguiling Emacs: Guile-Emacs relaunched!")
https://guile-emacs.org/
https://codeberg.org/guile-emacs
https://codeberg.org/guile-emacs/guile-emacs
https://codeberg.org/guile-emacs/emacsconf-2024
https://www.emacswiki.org/emacs/GuileEmacs

* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
# (find-fline "/tmp/ec-guile/")
rm -Rv /tmp/ec-guile/
mkdir  /tmp/ec-guile/
cd     /tmp/ec-guile/
wget https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--intro.webm
wget https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.vtt
wget https://media.emacsconf.org/2024/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.webm

# (code-video "ecguilevideo" "/tmp/ec-guile/emacsconf-2024-guile--beguiling-emacs-guileemacs-relaunched--robin-templeton--main.webm")
# (find-ecguilevideo "0:00")




chicken




chezscheme - Reliable, high performance Scheme compiler
chezscheme-dev - Reliable, high performance Scheme compiler (C development files)
chezscheme-doc - Reliable, high performance Scheme compiler (documentation)




















http://www.larcenists.org/

;; (find-efile "progmodes/")
;; (find-efile "progmodes/scheme.el.gz")
;; (find-efile "progmodes/xscheme.el.gz")
;; (find-efile "cmuscheme.el.gz")

http://community.schemewiki.org/?scheme-vs-common-lisp


# (find-status   "r5rs-doc")
# (find-vldifile "r5rs-doc.list")
# (find-udfile   "r5rs-doc/")
# (find-status   "r6rs-doc")
# (find-vldifile "r6rs-doc.list")
# (find-udfile   "r6rs-doc/")

# Delay:
# 45: "Primitives for Expressing Iterative Lazy Algorithms"
# 41: "Streams"
# http://srfi.schemers.org/srfi-45/
# http://srfi.schemers.org/srfi-45/srfi-45.html
# http://srfi.schemers.org/srfi-41/
# http://srfi.schemers.org/srfi-41/srfi-41.html

https://www.nongnu.org/skribilo/

https://web.archive.org/web/20160505011527/http://www.posteriorscience.net/?p=206 PROGRAMMING BY POKING: WHY MIT STOPPED TEACHING SICP

https://news.ycombinator.com/item?id=29348033 A small scheme VM, compiler, and REPL in 4k (acm.org)

https://octodon.social/@cwebber/99163411198396112 Another Racket vs Guile thing: Guile definitely has better debugging

A Guiler's Year of Racket:
https://www.youtube.com/watch?v=R-hy8xLlkHA

https://srfi.schemers.org/srfi-62/srfi-62.html SRFI surfboard logo62: S-expression comments

http://www.draketo.de/proj/py2guile/
http://www.phyast.pitt.edu/~micheles/scheme/
https://news.ycombinator.com/item?id=34810332 The Little Learner: A Straight Line to Deep Learning (mitpress.mit.edu)
https://forum.snap.berkeley.edu/t/what-does-with-continuation-mean/1518/2
https://news.ycombinator.com/item?id=39309157 What Does "With Continuation" Mean? (snap.berkeley.edu)
https://www.draketo.de/py2guile Going from Python to Guile Scheme - a natural progression
https://news.ycombinator.com/item?id=42303054 Guile-Emacs Relaunched (emacsconf.org)





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