fundamental-mode (sign "-- DZ " (format-time-string "%Y-%m-%d")) prog-mode (vip-title (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) " " (make-string (length str) ?=) " " n (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) " " (s str) " " n (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) " " (make-string (length str) ?=) " " n) (fixme (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "FIXME ") (todo (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "TODO ") (bug (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "BUG ") (hack (if (derived-mode-p 'emacs-lisp-mode) ";; " comment-start) "HACK ") scheme-mode (crate-dependency "(\"rust-" crate-name "\" ,rust-" (s crate-name) "-" p ")") (define-guix-crate "(define-public rust-" (s egg-name) "-" (s maj-version) n> "(package" n> "(name \"rust-" egg-name "\")" n> "(version \"" maj-version "." (s egg-version) "\")" n> "(source" n> "(origin" n> "(method url-fetch)" n> "(uri (crate-uri \"" egg-name "\" version))" n> "(sha256" n> "(base32" n> "\"0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s\"))))" n> "(build-system cargo-build-system)" n> "(arguments" n> "`(#:cargo-inputs" n> "(" p ")" n> "#:cargo-development-inputs" n> "(" p ")" n> "#:cargo-build-inputs" n> "(" p ")))" n> "(synopsis \"" (s synopsis) "\")" n> "(home-page \"https://crates.io/crates/" egg-name "\")" n> "(description \"" synopsis ".\")" n> "(license license:" (s license) ")))") (define-guix-egg "(define-public chicken-" (s egg-name) n> "(package" n> "(name \"chicken-" egg-name "\")" n> "(version \"" (s egg-version) "\")" n> "(source" n> "(origin" n> "(method url-fetch)" n> "(uri (egg-uri \"" egg-name "\" version))" n> "(sha256" n> "(base32" n> "\"0z05x7f154n9bgmainrsmncf5i6dil43r9ymr3rdgwbg4wnxmz4s\"))))" n> "(propagated-inputs" n> "(list " (s inputs) "))" n> "(native-inputs" n> "(list " (s native-inputs) "))" n> "(build-system chicken-build-system)" n> "(arguments '(#:egg-name \"" egg-name "\"))" n> "(synopsis \"" (s synopsis) "\")" n> "(home-page \"https://wiki.call-cc.org/eggref/5/" egg-name "\")" n> "(description \"" synopsis "\")" n> "(license license:" (s license) ")))") org-mode (src "#+begin_src " p n p n "#+end_src") (advent-of-code-day "* Day " (s day) ": " p n> n> "Get the puzzle solution as [[./day" day ".scm][tangled .scm file]]." n> n> "** Part One" n> n> "#+NAME: day" day "-imports" n> "#+begin_src scheme :exports none :noweb yes :tangle day" day ".scm" n> n> "#+end_src" n> n> "#+NAME: day" day "-input-scm" n> "#+begin_src scheme :exports none :noweb yes :tangle day" day ".scm" n> "(define input \"" n> "<>\")" n> "#+end_src" n> n> "*** Quest" n> n> "*** Puzzle Solution" n> n> "**** Calculation" n> n> "#+NAME: day" day "-part1-calc-fn" n> "#+begin_src scheme :tangle day" day ".scm :noweb strip-tangle" n> "" n> "#+end_src" n> n> "#+CALL: day" day "-part1-calc-fn[:var input=day" day "-input[] :epilogue \"(calc-part-1)\"]()" n> n> "** Part Two" n> n> "*** Quest" n> n> "*** Puzzle Solution" n> n> "**** Calculation" n> n> "#+NAME: day" day "-part2-calc-fn" n> "#+begin_src scheme :tangle day" day ".scm :noweb strip-tangle" n> "" n> "#+end_src" n>n> "#+CALL: day" day "-part2-calc-fn[:var input=day" day "-input[] :epilogue \"(calc-part-2)\"]()" n> n> "** Puzzle Input" n> n> "#+NAME: day" day "-input" n> "#+begin_src fundamental" n> "#+end_src") ;; Local Variables: ;; mode: lisp-data ;; outline-regexp: "[a-z]" ;; End: