Support prelude.lisp

Using this module to support utility functions that I have not classified
further than being miscellaneous.
This commit is contained in:
William Carroll 2020-01-24 10:52:53 +00:00
parent b6fa3941b3
commit 95d03facb3
3 changed files with 22 additions and 15 deletions

View file

@ -1,15 +0,0 @@
(in-package #:cl-user)
(defpackage #:utils
(:documentation "Some utility functions and macros to wet my beak.")
(:use #:cl)
(:shadow #:type))
(in-package #:utils)
(defmacro type (name in out)
`(declaim (ftype (function ,in ,out) ,name)))
(defmacro comment (&rest _forms) nil)
(type add (int int) int)
(defun add (a b)
(+ a b))

14
lisp/prelude.lisp Normal file
View file

@ -0,0 +1,14 @@
(in-package #:cl-user)
(defpackage #:prelude
(:documentation "Supporting miscellaneous utility functions and macros.")
(:use #:cl)
(:shadow #:type)
(:export #:type #:comment))
(in-package #:prelude)
;; TODO: Add documentation to these macros.
(defmacro type (name in out)
`(declaim (ftype (function ,in ,out) ,name)))
(defmacro comment (&rest _forms) nil)

8
lisp/prelude.nix Normal file
View file

@ -0,0 +1,8 @@
{ depot ? import <depot> {}, ... }:
depot.nix.buildLisp.library {
name = "prelude";
srcs = [
./prelude.lisp
];
}