diff --git a/README.org b/README.org index b94cfbb..46ece59 100644 --- a/README.org +++ b/README.org @@ -2152,6 +2152,7 @@ list detailing and motivating each listing: (perl . t) ;; Beware: Python activation must not call still unbound functions. (python . t) + (racket . ,(fboundp 'racket-mode)) ;; MIT/GNU Scheme breaks Babel contrary to Guile, Chez and Chicken Scheme. (scheme . ,(fboundp 'geiser-mode)) (shell . t)) @@ -5700,15 +5701,40 @@ configures =code-cells=. *** TODO Look into: editing facilities 1. [[https://github.com/douglasdavis/numpydoc.el/blob/main/numpydoc.el][Emacs extension to insert numpy style docstrings in function definitions]] +** [[https://racket-lang.org/][Racket Programming]] +:PROPERTIES: +:CUSTOM_ID: sec:racket-programming +:header-args:emacs-lisp: :eval never-export +:END: + +[[https://kchousos.github.io/posts/sicp-in-emacs/][SICP in Emacs]] + +#+begin_src emacs-lisp -n +(when (ensure-package-installation 'racket-mode 'sicp) + (unless (package-installed-p 'ob-racket) + (package-vc-install + '(ob-racket :url "https://github.com/hasu/emacs-ob-racket.git")))) +#+end_src + +#+begin_src racket :lang sicp +"Hello, world!" +#+end_src + +#+RESULTS: +: "Hello, world!" + ** [[https://en.wikibooks.org/wiki/Scheme_Programming][Scheme Programming]] :PROPERTIES: :CUSTOM_ID: sec:scheme-programming +:header-args:emacs-lisp: :eval never-export :END: -Listing [[lst:setup-geiser][Ensure Geiser installation]] supports the [[https://cisco.github.io/ChezScheme/][Chez Scheme]], [[https://call-cc.org/][Chicken Scheme]], and -[[https://www.gnu.org/software/guile/][GNU Guile]] Scheme implementations and configures Geiser with [[https://cisco.github.io/ChezScheme/][Chez Scheme]] as -default implementation. Evaluate one of the following expressions to switch -between those three implementations: +Listing [[lst:setup-geiser][Ensure Geiser installation]] supports the Scheme implementations +1. [[https://cisco.github.io/ChezScheme/][Chez Scheme]], +2. [[https://call-cc.org/][Chicken Scheme]], and +3. [[https://www.gnu.org/software/guile/][GNU Guile]] Scheme. +It configures Geiser with [[https://cisco.github.io/ChezScheme/][Chez Scheme]] as default implementation. Evaluate one +of the following expressions to switch between those three implementations: 1. src_emacs-lisp{(setopt scheme-default-implementation 'chicken)}, 2. src_emacs-lisp{(setopt scheme-default-implementation 'guile)}, 3. src_emacs-lisp{(setopt scheme-default-implementation 'chez)}. @@ -5914,6 +5940,8 @@ contrary to for instance [[https://github.com/Fanael/rainbow-delimiters#readme][ lisp-data-mode-hook lisp-mode-hook python-mode-hook + racket-mode-hook + racket-repl-mode-hook slime-repl-mode-hook sly-mrepl-mode-hook)) (add-hook hook #'smartparens-strict-mode))