Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;;; with-yeet.lisp
- (defvar *yeets* '((de🅱un defun)
- (c🅱r cdr)
- (c🅰r car)
- (😤 lambda)
- (🙆 let)
- (💁 labels)
- (💩 nil)
- (💩? null)
- (👌 t)
- (📦 cons)
- (🤓 cl-user)
- (🆑 cl)))
- (defun yeet-transform (program)
- (if (consp program)
- (cons (yeet-transform (car program))
- (yeet-transform (cdr program)))
- (let ((match (assoc program *yeets*)))
- (if (null match)
- program
- (second match)))))
- (defmacro with-yeet ((&key skkrt) &body body)
- `(progn
- ,(when skkrt
- '(format t "~&yeetus that 🆑~%"))
- ,@(yeet-transform body)))
- ;;; a sample program
- (with-yeet (:skkrt t)
- (de🅱un re🅱erse (🅱ist)
- (💁 ((🅰 (🅱 🅰)
- (if (💩? 🅱)
- 🅰
- (🅰 (c🅱r 🅱) (📦 (c🅰r 🅱) 🅰)))))
- (🅰 🅱ist 💩))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement