| 1 | (in-package :lisp-on-lines) |
| 2 | |
| 3 | (define-layered-method description-of ((symbol symbol)) |
| 4 | (find-description 'symbol)) |
| 5 | |
| 6 | (define-description symbol () |
| 7 | ((identity :label "Symbol:") |
| 8 | (name |
| 9 | :function #'symbol-name |
| 10 | :label "Name:") |
| 11 | (value |
| 12 | :label "Value:" |
| 13 | :function |
| 14 | (lambda (symbol) |
| 15 | (if (boundp symbol) |
| 16 | (symbol-value symbol) |
| 17 | "<UNBOUND>"))) |
| 18 | (package :function #'symbol-package |
| 19 | :label "Package:") |
| 20 | (function :label "Function:" |
| 21 | :function |
| 22 | (lambda (symbol) |
| 23 | (if (fboundp symbol) |
| 24 | (symbol-function symbol) |
| 25 | "<UNBOUND>"))))) |