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") # «.eepitch-geiserguile» (to "eepitch-geiserguile") # «.geiser-racket» (to "geiser-racket") # «.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") # «.call-with-prompt» (to "call-with-prompt") # «.scheme-primer» (to "scheme-primer") # (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-node "(data-rep)Top") ##### # # 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") # (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/") ##### # # 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 / 2025jan04 # ##### # «geiser» (to ".geiser") # (find-epackage-links 'geiser "geiser" t) # (find-epackage-links 'geiser-guile "geiserguile" t) # (code-c-d "geiser" "~/.emacs.d/elpa/geiser-20240907.2235/" "geiser") # (code-c-d "geiserguile" "~/.emacs.d/elpa/geiser-guile-20240920.35/" "geiser-guile") # (find-geiserfile "") # (find-geisernode "") # (find-geisernode "Must needs" "geiser-guile") # (find-geisernode "The quick and easy way" "M-x package-install RET geiser-mit RET") # (find-fline "~/LOGS/2025jan04.scheme" "Geiser") # (find-geiserguilefile "") # (find-geiserguilefile "geiser-guile.el") # (find-geiserguilefile "src/geiser/") # (find-geiserguilenode "") # (find-geiserguilenode "Debugging support") # https://gitlab.com/emacs-geiser/guile # (find-git-links "https://gitlab.com/emacs-geiser/guile" "geiserguile") # (find-efunction 'find-git-links) # (setq ee-git-dir "~/usrc/") # (setq ee-git-dir "~/usrc/") # (setq ee-git-dir "~/bigsrc/") # (setq ee-git-dir "/tmp/") # (find-fline "~/usrc/") # (find-fline "~/usrc/guile/") # https://gitlab.com/emacs-geiser/guile * (eepitch-shell) * (eepitch-kill) * (eepitch-shell) # rm -Rfv ~/usrc/geiser-guile/ mkdir -p ~/usrc/geiser-guile/ cd ~/usrc/geiser-guile/ git clone https://gitlab.com/emacs-geiser/guile . cd ~/usrc/geiser-guile/ export PAGER=cat git branch --list -a git for-each-ref git log --oneline --graph --all -20 # (find-fline "~/usrc/") # (find-fline "~/usrc/geiser-guile/") # (find-gitk "~/usrc/geiser-guile/") # (code-c-d "geiserguile" "~/usrc/geiser-guile/") # (find-geiserguilefile "") # (find-geiserguilefile "readme.org") # (find-geiserguilefile "src/geiser/") # git pull --depth 1 # git pull # git reset # git clean -dfx # git reset --hard # http://docs.racket-lang.org/guide/Emacs.html # http://www.nongnu.org/geiser/ # http://packages.debian.org/sid/geiser # (find-node "(geiser)") # (find-node "(geiser)No hacker is an island") # (find-geisernode "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") ##### # # eepitch-geiserguile # 2025jan04 # ##### # «eepitch-geiserguile» (to ".eepitch-geiserguile") # (find-angg ".emacs" "geiser") # (load "geiser-guile.el") # (find-eloadhistory-for 'geiser-guile 2 "(defun . geiser-guile)") # (find-geiserguilefile "geiser-guile.el") # (find-geiserguilefile "geiser-guile.el" "(autoload 'run-guile ") # (find-efunction-links 'geiser-guile) # (find-geisergrep "grep --color=auto -nH --null -e 'Start a new' *.el") # (find-geisergrep "grep --color=auto -nH --null -e define-geiser-implementation *.el") # (find-geiserguilegrep "grep --color=auto -nH --null -e define-geiser-implementation *.el") # (find-geiserfile "geiser-impl.el" "(define-geiser-implementation guile") # (find-geiserguilefile "geiser-guile.el" "(define-geiser-implementation guile") # (find-efunction 'geiser-repl--switch-to-buffer) # (find-evariable-links 'geiser-repl-window-allow-split) # (find-angg ".emacs" "guile") # (find-geisernode "") # (find-geisernode "Jumping around") # (find-blogme3 "sandwiches-defs.lua" "code_c_m_bs" "geiser") # https://geiser.nongnu.org/The-REPL.html#Starting-the-REPL # (find-fline "~/LOGS/2025jan04.scheme" "./ice-9/boot-9.scm instead of") # (find-fline "/usr/share/guile/3.0/ice-9/") # (find-fline "/usr/share/guile/3.0/ice-9/boot-9.scm") # (find-guile-links "call-with-prompt") # (find-efunction 'geiser-edit-symbol-at-point) ##### # # geiser-racket # 2025jan05 # ##### # «geiser-racket» (to ".geiser-racket") # (find-geisernode "Must needs" "geiser-racket") # (find-epackage-links 'geiser-racket "geiserracket" t) # (find-epackages 'geiser-racket) # (find-epackage 'geiser-racket) # (code-c-d "geiserracket" "~/.emacs.d/elpa/geiser-racket-20210421.125/") # (find-geiserracketfile "") ##### # # 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") ##### # # call-with-prompt # 2025jan02 # ##### # «call-with-prompt» (to ".call-with-prompt") # (find-fline "~/LOGS/2025jan01.emacs2" "call-with-prompt") # (find-guilenode "Prompt Primitives") # (find-guilenode "Procedure Index" "call-with-prompt") * (eepitch-guile) * (eepitch-kill) * (eepitch-guile) ##### # # scheme-primer # 2025jan04 # ##### # «scheme-primer» (to ".scheme-primer") # (find-fline "~/LOGS/2025jan04.emacs" "scheme-primer") # https://files.spritely.institute/papers/scheme-primer.html # (find-htmlpdf-links "schemeprimer" "https://files.spritely.institute/papers/scheme-primer.html") ;; <schemeprimer> ;; https://files.spritely.institute/papers/scheme-primer.html ;; (find-fline "$S/https/files.spritely.institute/papers/") (code-pdf-page "schemeprimer" "$S/https/files.spritely.institute/papers/scheme-primer.html.pdf") (code-pdf-text8 "schemeprimer" "$S/https/files.spritely.institute/papers/scheme-primer.html.pdf") ;; (find-schemeprimerpage) ;; (find-schemeprimertext) # (find-schemeprimerpage 18 "build-tree") # (find-schemeprimertext 18 "build-tree") # (find-schemeprimerpage 24 "define-macro") # (find-schemeprimertext 24 "define-macro") * (eepitch-guile) * (eepitch-kill) * (eepitch-guile) (define (build-tree depth) (if (= depth 0) '(0) (list depth (build-tree (- depth 1)) (build-tree (- depth 1))))) (build-tree 3) 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) https://dthompson.us/posts/issues-with-object-oriented-programming-in-guile.html https://news.ycombinator.com/item?id=42529552 Issues with object-oriented programming in Guile (2022) (dthompson.us) # Local Variables: # coding: utf-8-unix # End: