summaryrefslogtreecommitdiff
path: root/src/generics.lisp
diff options
context:
space:
mode:
authorckonstanski <carlos.konstanski@olo.com>2021-05-30 21:55:33 -0600
committerckonstanski <carlos.konstanski@olo.com>2021-05-30 21:55:33 -0600
commitd962df92112e30c723b6e9206a18060e340f7649 (patch)
tree592e67da55e8d798f2074e2bdd635af511c9277e /src/generics.lisp
initial commit
Diffstat (limited to 'src/generics.lisp')
-rw-r--r--src/generics.lisp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/generics.lisp b/src/generics.lisp
new file mode 100644
index 0000000..3c3bb8a
--- /dev/null
+++ b/src/generics.lisp
@@ -0,0 +1,16 @@
+;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-
+(declaim (optimize (speed 0) (safety 3) (debug 3)))
+
+(in-package :org-ckons-serializable)
+
+(defgeneric all-slots-value-list-no-nulls (serializable)
+ (:documentation "Returns all slots of `record' as an alist. Not
+ limited to field slots."))
+
+(defgeneric all-slots-plist-no-nulls (serializable)
+ (:documentation "Returns all slots of `record' as a plist. Not
+limited to field slots."))
+
+(defgeneric serialize (serializable &key package-name)
+ (:documentation "Returns a string that, when read with
+`read-from-string', will instantiate the `seializable' object."))