Skip to content

Releases: LispCookbook/cl-cookbook

2025-01

09 Jan 16:06
Compare
Choose a tag to compare

These Cookbook additions and improvements were made by 14 contributors, with 160 commits since the last release.

Thank you everybody for improving Common Lisp learning resources!

The contributors of this release are:

em7, Carl Gay, may, Colin Woodbury, Kevin Galligan, Paul Nathan, Janghyeon, Kevin Mazzarella, Konstantin Kotenko, Oliver Nikolas Winspear, Ramses, jgart, jhgalino and vindarel.

What's Changed

The changes include many small corrections (typos, fixing a code snippet, improving style, updating linkse, etc).

Other particular changes include:

  • NEW: sbcl-librarian: easy build of shared libraries callable from C and Python (SBCL-only)
  • NEW: equality
  • functions: more about #' and '
  • functions: closing remark about #' and '
  • debugging: trace options, more on stepping
  • iteration: add example for looping over values
  • Fix instructions for local CLHS lookup in Emacs
  • web: running behind Nginx
  • lispworks: saving images
  • fix typo, use declaim instead of declare
  • testing: running CI on SourceHut
  • type: checking &rest, examples with enum types
  • web: request body with raw-post-data :force-text, JSON
  • fixed unit test example
  • CLOS and MOP: defgeneric vs defmethod on updates, update-instance-for-redefined, different class
  • scripting: actual scripting method with SBCL
  • iteration: mention transducers
  • Show how to read arbitrary bytes into a string for SBCL.
  • Avoid modifying a literal
  • Improve Emacs instructions, point users to an emacs quickstart.
  • Ensure Emacs + SLIME documentation works for newbies
  • Describe how to achieve Python-style lists.
  • emacs IDE re organized
  • CFFI math.h example
  • FFI: rm CLISP and ACL examples
  • emacs: load slime-mrepl
  • Added Dockerfile for running Jekyll
  • LW delivery and its limitation
  • numbers: include the Number Tower
  • iterating on files, lazily

New Contributors

Full Changelog: 2022-09-14...2025-01-09

The EPUB and PDF files are available below, you can pay what you want to further support and encourage this work.

2023-12-13

13 Dec 13:50
Compare
Choose a tag to compare

These Cookbook improvements were made available by 18 contributors, with 108 commits since the last release. Thank you everybody for improving Common Lisp learning resources!

You can find the EPUB and the PDF attached, and you can pay what you want for them. Thanks for your support.

Changes include:

editors:

  • add SLT for Jetbrains
  • emacs-ide: more explanations to browse the CLHS offline
  • mention the new Community Spec
  • fix instructions for local CLHS lookup in Emacs
  • Atom -> Pulsar and list features
  • Lem 2.0
  • lispworks: saving images

debugging:

  • added a section on trace options
  • print is handy because it returns the result
  • add two screenshots, explain *features*, direct links to CLHS
  • detail the stepper, eval in frame, restart frame
  • mention SLY stepper and stickers
  • replace the Ultra Spec (abandoned) with the Community Spec
  • add subsection to emphasize resuming execution, embed video

CLOS and MOP:

  • new: explain update-instance-for-redefined-class, update-instance-for-different-class
  • difference between defgeneric and defmethod, how to remove a method (thanks galdor)

scripting:

  • changed: parse CLI args with Clingon
  • mention the new SBCL-GOODIES

GUI:

  • GUI: nice looking nodgui theme shipped in
  • mention gtk4 bindings
  • mention IUP's web browser window
  • mention CommonQt5

Operating System:

  • run visual commands like htop, vim and sudo
  • capture error output of run-program
  • delete duplicate CLI args parsing content
  • run-program strip newline with '(:string :stripped t)

Web:

  • running behind Nginx
  • request body with raw-post-data :force-text, JSON

Files and directories:

  • recursive collect example
  • recursively find files with find or fdfind
  • and directory: uiop:with-current-directory
  • file-attributes and sb-posix
  • how to get file name with Windows directory separator

more:

  • index: decompose the front page's table of content in four main topics.
  • regexp: mention the super useful all-matches[-as-strings]
  • testing: running CI on SourceHut
  • fix typo, use declaim instead of declare
  • updated sbcl core compression session to zstd
  • add compression level and size comparison
  • iteration: add example for looping over values
  • style: use uninterned symbols in defpackage for functions
  • functions: more about #' and '
  • strings: list of FORMAT directives
  • getting started++, refer to packages
  • packages: examples, export, import, use-package, :use
  • Deploy: silence start-up messages with :deploy-console
  • threads: mention timeout with bt:with-timeout
  • type: checking &rest, examples with enum types
  • fix: defsystem alone is not enough, should be asdf:defsystem
  • systems: refer to how to load an existing project
  • systems: load an asdf system with load-system, not asdf:make
  • (minor) databases: add field type text
  • local-time: more formatting symbols (long and short weekday, month etc)
  • packages: example with add-package-local-nickname
  • package: #: better phrasing
  • package: local nicknames first, discourage global ones
  • fix truncated snippets for PDF

Thanks to: jgart, Jiho Sung, Nikolaos Chatzikonstantinou, ctoid, Colin Woodbury, Giorgos Makris, Inc0n, Kevin Secretan, Kilian M. Haemmerle, NCM, Paul Nathan, Ralf Doering, blackeuler, dangerdyke, grobe0ba, kilianmh, reflektoin, and me (vindarel).

Happy lisping.

(edit +3 days: re-uploaded documents with fixed release date)

September, 14th: readibility improvements

14 Sep 17:12
Compare
Choose a tag to compare

These Cookbook improvements were made available by 13 contributors since last release, in March.

Thanks to @johanwiden (a first time contributor, even), the EPUB and PDF got great readability improvements:

  • the EPUB can be read in Emacs' nov.el reader
  • internal links now work
  • tables where changed from markdown to html tables
  • many fixes while generating the EPUB
  • more typos and grammar fixes

Moreover:

  • files and directories:
    • added how to set the current working directory with UIOP
    • new "Create pathname components" section
  • scripting:
    • build a standalone binary with Deploy (and handle foreign libraries such as libssl, deal with ASDF etc)
    • mention SBCL 2.2.6 zstd core compression gains
  • getting started: mention rlwrap -c trick to autocomplete file names
  • iteration: mention iterate's in-sequence
  • Emacs: better example of Emacs' C-u M-( command
  • web: improve Systemd section
  • add favicon
  • fixed an example that was using load instead of asdf:load-asd
  • a missing Lem screenshot to show it in action as a Lisp REPL in the terminal was added:

You can pay what you want for the Common Lisp Cookbook on ko-fi.

thanks to @JohnCoconut @jgarte @contrapunctus-1 @kilianmh @tinkerttoy @chuchana @pnathan @djuber @augustfengd @alaskasquirrel.

2022-08-30 (minor)

30 Aug 09:43
Compare
Choose a tag to compare
2022-08-30 (minor) Pre-release
Pre-release
  • fix epub format so it can be read in nov.el

2022-03-23

23 Mar 11:23
Compare
Choose a tag to compare
  • added the LispWorks in the ePUB and PDF
  • iteration: added iterate gotchas and dotimes return values
  • ppcre: added replace text with regexp
  • GUI: completed the bodge-ui example, mention new Allegro CG/JS and add link to GTK nice tutorial.
  • strings: added more format examples
  • performance: added block compilation
  • directories: added merge-pathnames, get current working directory, system-relative-pathname
  • more bug fixes and typos

Thanks to the new contributors!

2021-09-21

21 Sep 16:00
Compare
Choose a tag to compare
  • new page: VSCode with the Alive extension
  • new page: the LispWorks IDE
  • re-wrote the testing page with FiveAM. Added mention of Mockingbird and example of random testing.
  • iteration: unique features of Iterate

Other enhancements:

  • data structures: pretty-print hash tables with Serapeum's dict (portable and readable)
  • thread-safe hash tables
  • many broken URL fixes
  • DB: compose queries with ,@ and backquote
  • functions: how to know if a key parameter was supplied ((&key (foo t foo-p))).
  • the EPUB and PDF did not include the data structures page O_o
  • data structures: add mismatch, adjoin, subsetp, explain stable-sort. alexandria:subseq*
  • updated the contributor steps

Thanks to all the (new) contributors!

2021-07-29

29 Jul 09:35
Compare
Choose a tag to compare
  • new LispWorks section
  • re-written dates and times section (local-times library)
  • updated database section, with updated Mito usage
  • updated CI section with newer tools
  • emacs: mentioned C-c C-j eval in repl
  • iteration: about nconcing to return a flat list
  • Added (clrhash) to data-structures.md
  • more typo and grammar fixes, small additions

1.2, march 31st

31 Mar 07:17
Compare
Choose a tag to compare

from 1.1:

  • more pattern matching, fixed guard example
  • files: how to delete a directory
  • web: explain more the error handling variables
  • emacs-ide: fixed headings
  • downloaded remaining images into assets/

EPUB and PDF update, February 25th

25 Feb 10:38
Compare
Choose a tag to compare
  • fixed 3 images in gui
  • emacs: slime-pprint-eval-last-expression, slime-interactive-eval
  • emacs: built-in documentation commands, and packages
  • emacs: about C-c C-] insert closing parens
  • editors: slimv_box also has ABCL
  • update daewok docker images to the new ones
  • strings: more about sb-unicode functions (sentences, lines, graphenes…)
  • grammar and spell fixes

First EPUB and PDF release

25 Feb 10:33
Compare
Choose a tag to compare
1.0

update EPUB and PDF files