From 2e284b71500a1f8dc6cc46ecf21eb1e9389ea780 Mon Sep 17 00:00:00 2001 From: Elizabeth Hunt Date: Wed, 13 Sep 2023 09:54:12 -0600 Subject: new table macro, notes for 9/11 --- cl/src/utils/package.lisp | 3 ++- cl/src/utils/table.lisp | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 cl/src/utils/table.lisp (limited to 'cl/src/utils') diff --git a/cl/src/utils/package.lisp b/cl/src/utils/package.lisp index 0436a94..bdd5589 100644 --- a/cl/src/utils/package.lisp +++ b/cl/src/utils/package.lisp @@ -1,4 +1,5 @@ (in-package :cl-user) (defpackage lizfcm.utils (:use :cl) - (:export :within-range-p)) + (:export :within-range-p + :table)) diff --git a/cl/src/utils/table.lisp b/cl/src/utils/table.lisp new file mode 100644 index 0000000..e96f37b --- /dev/null +++ b/cl/src/utils/table.lisp @@ -0,0 +1,11 @@ +(in-package :lizfcm.utils) + +(defmacro table ((&key headers domain-order domain-values) &body body) + `(cons + ,headers + (mapcar (lambda (tuple) + (destructuring-bind ,domain-order tuple + (append tuple + (list + ,@body)))) + ,domain-values))) -- cgit v1.2.3-70-g09d2