Archive for August, 2007

#lisp FEP – I want to learn lisp but I don’t want to use emacs

Saturday, August 25th, 2007

A1

Your favourite lisp(s) + emacs + Slime (+ paredit) constitute a fabulous development environment that is widely used, and therefore widely supported, on #lisp. Eschewing this environment for something else will make it far harder for people to understand your problems and (if you ask nicely, and intelligently) help you with them.

(I also find it telling that when the smart folks who started developing lisp had the time and energy to build editors they built emacsen.)

However, if you really can’t stand emacs (perhaps because of a childhood incident with Richard Stallman, a wasp’s nest and a jar of manuka honey), you could use plain Vi (and give up the wonders of Swank) or Cusp, if you’re an Eclipse fan.

But don’t come running to us when something goes wrong.

A2

“I want to learn Russian but I can’t be bothered with all the funny characters.”

* “FEP” = Frequently Expressed Predjudice

#lisp FAQ – How can I generate a standalone executable?

Saturday, August 25th, 2007

A1

By following the instructions for your lisp implementation:

  • sbcl(sb-ext:save-lisp-and-die filename :executable t)
  • clisp(ext:saveinitmem filename :save-executable t)
  • OpenMCL(require "COCOA-APPLICATION")
  • ECL(c:build-program ...)
  • Allegro(generate-executable ...)
  • LispWorks(deliver ...)

These last two have a whole host of bells and whistles (including, in the case of LispWorks, a tree-shaker), but require the paid-for versions. (You should also check their royalty requirements.)

A2

Why would you want to? Really? What commonly distributed systems in this day and age come in a single executable file, except as a delivery mechanism that subsequently sprays various libraries, databases and settings mechanisms around your filesystem?