summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--happy-birthday.el23
1 files changed, 23 insertions, 0 deletions
diff --git a/happy-birthday.el b/happy-birthday.el
new file mode 100644
index 0000000..fb96a6c
--- /dev/null
+++ b/happy-birthday.el
@@ -0,0 +1,23 @@
+;;; happy-birthday.el -- -*- lexical-binding: t -*-
+
+(defmacro seb (&rest x)
+ (let ((r) (w))
+ (dolist (e x)
+ (cond ((eq e '!) (push ?a w))
+ ((eq e '!?)
+ (push (intern (apply 'string w)) r)
+ (setf w nil))
+ ((eq e '()) (setf (car w) (1+ (car w))))))
+ `(quote ,r)))
+(seb
+ ! () ! () () () () ! () () () () () () () () () () ()
+ () () () () () () () !? ! () () () () () () () ()
+ () () () () () () () () () () () () () () () () ! !
+ () () () ! () () () () () () () ! () () () () () ()
+ () () () () () () () () () () () () () ! () () ()
+ () () () () () () () () () () () () () () ! () ()
+ () () () () () () ! () !? ! () () () () () () () ()
+ () () () () () () () () () () () () () () () () !
+ () () () () () () () () () () () () () () () ! ()
+ () () () () () () () () () () () () () () ! ! () ()
+ () () () () () !?)