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: