Added a q shortcut to quote get-doc and set-doc no longer conditionally evaluate args Fixed bug in let, documented potential performance improvements upped default history to 5k lines
30 lines
No EOL
1.1 KiB
Text
30 lines
No EOL
1.1 KiB
Text
;; relish: versatile lisp shell
|
|
;; Copyright (C) 2021 Aidan Hahn
|
|
;;
|
|
;; This program is free software: you can redistribute it and/or modify
|
|
;; it under the terms of the GNU General Public License as published by
|
|
;; the Free Software Foundation, either version 3 of the License, or
|
|
;; (at your option) any later version.
|
|
;;
|
|
;; This program is distributed in the hope that it will be useful,
|
|
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
;; GNU General Public License for more details.
|
|
;;
|
|
;; You should have received a copy of the GNU General Public License
|
|
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
;;
|
|
;; USERLIB
|
|
;; This file contains a plethora of useful features that are not shipped in the STL
|
|
|
|
(def prepend
|
|
'takes a list and appends an element to the back of it.
|
|
returns prepended list'
|
|
(elem list)
|
|
(reverse (append (reverse list) elem)))
|
|
|
|
(def set
|
|
'sets an existing variable without touching its docstring'
|
|
(var val)
|
|
(let ((doc (get-doc var)))
|
|
(def (eval var) doc val))) |