-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathremember.lisp
28 lines (25 loc) · 947 Bytes
/
remember.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(in-package :academy)
(defun remember-data-file ()
(data-path "remember.txt" :verify nil))
(defun remember (&optional what)
"Messages to Mnemosyne."
(let ((filename (remember-data-file)))
(if what
(with-open-file (stream filename :direction :output
:if-does-not-exist :create
:if-exists :append)
(fresh-line stream)
(princ what stream)
(fresh-line stream)
(format t "Noted.~%"))
(when (probe-file filename)
(princ (slurp-file filename)))))
(values))
(defun forget ()
"Ford the Lethe."
(with-open-file (stream (remember-data-file)
:direction :output
:if-does-not-exist :create
:if-exists :overwrite)
(format stream "Senses lost ~A seconds after 1/1/1900.~%" (get-universal-time)))
(format t "But not forgiven.~%"))