Skip to content

2023-12-13

Latest
Compare
Choose a tag to compare
@vindarel vindarel released this 13 Dec 13:50
· 167 commits to master since this release

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)