summaryrefslogtreecommitdiff
path: root/catbird/config.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2022-10-03 19:22:23 -0400
committerDavid Thompson <dthompson2@worcester.edu>2022-10-22 11:48:39 -0400
commit14464dee966fe415d4c8e1fb8b5205653b22003f (patch)
tree986a7b03a089a4545465901cadce4d671f3032c1 /catbird/config.scm
parentdcf869ccd7ec9d33c937507fe96e9e09f517bded (diff)
Add prototype catbird modules.
Diffstat (limited to 'catbird/config.scm')
-rw-r--r--catbird/config.scm16
1 files changed, 16 insertions, 0 deletions
diff --git a/catbird/config.scm b/catbird/config.scm
new file mode 100644
index 0000000..a010bc1
--- /dev/null
+++ b/catbird/config.scm
@@ -0,0 +1,16 @@
+(define-module (catbird config)
+ #:use-module (oop goops)
+ #:export (developer-mode?
+ <catbird-metaclass>
+ define-root-class))
+
+(define developer-mode?
+ (equal? (getenv "CATBIRD_DEV_MODE") "1"))
+
+(define <catbird-metaclass>
+ (if developer-mode? <redefinable-class> <class>))
+
+(define-syntax-rule (define-root-class name (supers ...) args ...)
+ (define-class name (supers ...)
+ args ...
+ #:metaclass <catbird-metaclass>))