Difference between revisions of "Common Lisp Environment Configuration"
From copec
Line 8: | Line 8: | ||
=== SBCL installed via package manager === | === SBCL installed via package manager === | ||
− | === Initial ~/.emacs.d/init.el === | + | === Initial Emacs Configuration === |
+ | |||
+ | ====~/.emacs.d/init.el ==== | ||
<pre> | <pre> | ||
;; ~/.emacs.d/init.el | ;; ~/.emacs.d/init.el | ||
Line 24: | Line 26: | ||
<pre>M-x package-install RET slime RET</pre> | <pre>M-x package-install RET slime RET</pre> | ||
− | === Append ~/.emacs.d/init.el === | + | === Append Emacs Configuration === |
+ | ==== ~/.emacs.d/init.el === | ||
<pre> | <pre> | ||
;; Setup load-path, autoloads and your lisp system | ;; Setup load-path, autoloads and your lisp system | ||
Line 61: | Line 64: | ||
(when (probe-file quicklisp-init) | (when (probe-file quicklisp-init) | ||
(load quicklisp-init))) | (load quicklisp-init))) | ||
+ | </pre> | ||
+ | |||
+ | === Allow Quicklisp/ASDF to find my source === | ||
+ | ==== ~/.config/common-lisp/source-registry.conf.d/projects.conf ==== | ||
+ | <pre> | ||
+ | (:tree (:home "org.unaen.dev.src/lisp/")) | ||
</pre> | </pre> |
Revision as of 12:57, 18 August 2016
Contents
Overview
Development environment for CL including an IDE (Emacs+SLIME), implementation (SBCL), and library management (Quicklisp+ASDF)
Configuration (Steps)
Emacs installed via package manager
SBCL installed via package manager
Initial Emacs Configuration
~/.emacs.d/init.el
;; ~/.emacs.d/init.el (require 'cl) (require 'package) ;; You might already have this line (add-to-list 'package-archives '("melpa" . "http://melpa.org/packages/") t) (when (< emacs-major-version 24) ;; For important compatibility libraries like cl-lib (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/"))) (package-initialize) ;; You might already have this line
Install SLIME
M-x package-install RET slime RET
Append Emacs Configuration
= ~/.emacs.d/init.el
;; Setup load-path, autoloads and your lisp system ;; Not needed if you install SLIME via MELPA ;;(add-to-list 'load-path "/usr/share/emacs/site-lisp/slime") (require 'slime-autoloads) (setq inferior-lisp-program "/usr/bin/sbcl") (slime-setup '(slime-fancy slime-xref-browser slime-asdf slime-banner slime-repl slime-indentation slime-fuzzy slime-autodoc slime-presentations slime-presentation-streams)) (setq backup-directory-alist `(("." . "~/.saves"))) (setq backup-by-copying t)
Install Quicklisp
The only requirement for Quicklisp is that SBCL is installed (SBCL includes a sufficient ASDF version).
$ curl -O https://beta.quicklisp.org/quicklisp.lisp $ sbcl --load quicklisp.lisp * (quicklisp-quickstart:install) * (ql:add-to-init-file) * (quit)
~/.sbclrc
;;; The following lines added by ql:add-to-init-file: #-quicklisp (let ((quicklisp-init (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname)))) (when (probe-file quicklisp-init) (load quicklisp-init)))
Allow Quicklisp/ASDF to find my source
~/.config/common-lisp/source-registry.conf.d/projects.conf
(:tree (:home "org.unaen.dev.src/lisp/"))