screwlisp proposes kittens

Crystallizing lisp fragments into ASDF

It seems from this blog that I need to follow every current lisp compiler to ASDF. ASDF is Fare’s Another System Definition Facility for lisp. This reconciles the need for one-line invocations, suitable for eev with multi-line out-of-the-way source. I will use asdf’s package-inferred-system idiom.

My source for every article will reside in a single git named screwlisp at codeberg.org/tfw/screwlisps-knowledge.git. Each knowledge fragment will be its own file=package using the package-inferred-system feature. Tying each source file to one complete package definition dispenses with the need to know about files and with the need to find how the file was packaged.

I will use quicklisp.org as the de facto way to drag in many git repositories for projects that warrant that, such McCLIM but my source is not intended to be quicklispy.

This article continues viz setting up the repository.

eev-mode

Is Eduardo Ochs’. I use a lot of eepitch.

Cloning and linking the git

(I made it in codeberg’s web interface)

 (eepitch-shell)
mkdir -p ~/gits
cd ~/gits
git clone ssh://git@codeberg.org/tfw/screwlisps-knowledge.git
mkdir -p ~/common-lisp
cd ~/common-lisp
ln -s ~/gits/screwlisps-knowledge

About ASDF

I use asdf’s :class :package-inferred-system idiom. The gist is that source goes into files in your file-system like this:

another system definition asd file

(defsystem "screwlisps-knowledge"
 :class :package-inferred-system
 :depends-on (:screwlisps-knowledge/all))

A Source definition

(uiop:define-package :screwlisps-knowledge/example
 (:export #:*hello*))
(in-package :screwlisps-knowledge/example)
(defvar *hello* 'world)

package useage

 (setq inferior-lisp-program "sbcl")
 (slime)
 (setq eepitch-buffer-name "*slime-repl sbcl*")
(asdf:load-system :screwlisps-knowledge/example)
(use-package :screwlisps-knowledge/example)
*hello*

whence over there

CL-USER> (use-package :screwlisps-knowledge/example)
T
CL-USER> *hello*
:WORLD
CL-USER> 

Next

Alright, I am going to recapitulate all my initial blogs into this, so that they work via a git, not a picture-perfect recreation of my personal emacs session.

Say hi on the mastodon.

Also I suggest reading the transcript of Kent’s reading of his previously unpublished essay Whither Original Thought and checking out the conversation surrounding it on the Mastodon. Boosting Mastodon toots like that one help with the world’s discovery of otherwise little or unknown lisp cultural history.

screwlisp proposes kittens