Skip to content

LispWorks Notes

Ashok Khanna edited this page Dec 30, 2021 · 3 revisions

Below are some notes for running LispWorks 8.0 (assumes HobbyistDV or above license, although anything that does not relate to saving images or delivering applications should work on lower licenses too) on macOS 64-bit.

Disable Dark Mode on LispWorks (works on Monterrey)

Follow instructions here: https://apple.stackexchange.com/questions/338044/can-i-turn-to-dark-mode-only-for-specific-apps-in-macos-mojave

Basically need to do the following in Terminal:

defaults write com.lispworks.lispworks64 NSRequiresAquaSystemAppearance -bool yes

Accessing LW through Slime

Instructions are available here: http://www.lispworks.com/documentation/lw80/lw/lw-starting-lw-ug-4.htm

Trick to note is that (without creating a symlink or modifying your terminal settings?) Terminal will not be able to find LispWorks by itself. So this is what I did. First I keep LispWorks open. Then in Terminal, I run the following:

ps -ef | grep lispworks

This will give an output with the relevant path to LispWorks. I then modified the terminal command shown in LispWorks instructions above to something like this (note the double quotes and also the second file path is where I saved my resave.lisp file that we create in the above instructions from LW):

"/Applications/LispWorks 8.0 (64-bit)/LispWorks (64-bit).app/Contents/MacOS/lispworks-8-0-0-macos64-universal" -build ~/lisp/lispworks/slime-resave.lisp

There is probably a better way, but at least this works. To get slime to connect to LW, you need to evaluate the following in Emacs (save it in your .emacs if you want it as the default option - don't forget to comment out any similar commands referencing SBCL or other lisp implementations):

(setq inferior-lisp-program "~/lw-console")  

Now the above will not work if you want QuickLisp as well. I modified resave.lisp as follows to get me QuickLisp, but for the below to work you will of course need to install QL first and also edit the path in the below to where setup.lisp is saved:

(in-package "CL-USER")
(load-all-patches)
(require "asdf")

(when (probe-file "~/.quicklisp/setup.lisp")
  (load "~/.quicklisp/setup.lisp"))


(save-image "~/lw-console" :console t :environment nil :multiprocessing t)
Clone this wiki locally