Emacs/Slime edition
A name. Like a variable, but can be used without an attached value.
A library
A module, more fine-grained than a system. Systems often contain multiple packages.
Emacs will often apply commands to the item under the cursor. This item is said to be at point.
A reference to the meta modifier key. This is usually the Alt key on PCs and the command key on Macs.
The interactive prompt of a live lisp session.
Common Lisp's de facto package manager.
M-x slime
> ,quit
[???]
> *
> **
> ***
> /
> //
> ///
> +
> ++
> +++
M-p
M-n
> search M-p
> (list-all-packages)
> (package-use-list (find-package 'package))
> (ql:system-list)
> (ql:system-apropos search)
> (ql:quickload 'system)
> package:<tab>
> package::<tab>
> (boundp 'var)
> (fboundp 'var)
> (apropos "" *package*)
> (symbol-package 'var)
> (apropos "thing" 'package)
> (describe var)orC-c C-d don point
> (type-of var)
C-c C-v C-i
| Inspector commands | |
|---|---|
| <enter> | Inspect or act on the item at point |
| l | Return from an inspection |
| <tab> | Jump to next inspectable |
| Shift-<tab> | Jump to previous inspectable |
| d | Describe |
| e | Evaluate an expression |
| v | Toggle verbose mode |
| q | Quit |
| p | Pretty print object at point |
| . | Jump to source |
| M-<enter> | Store value at point in '*' for access in REPL |
> (inspect var)
M-x slime-browse-classes
M-x slime-who-specializes
M-: inferior-lisp-program
> (lisp-implementation-version)
> (lisp-implementation-type)
> (software-version)
> (machine-version)
> ql:*local-project-directories*
> (ql:where-is-system 'system)
> (ql-impl-util::init-file-name-for (lisp-implementation-type))
M-.
M-,
C-c <
C-c >
C-c C-w rC-c C-w bC-c C-w s
C-c C-d h
Note: only for symbols defined in the Common Lisp standard
Given the following loop macro invocation:
(loop for i from 1 to 3 do (print i))
This will show the expansion:
(macroexpand-1 '(loop for i from 1 to 3 do (print i)))
> (inspect *readtable*)
Note: not user friendly
C-c C-c
q- or select[Abort]