diff options
author | EuAndreh <eu@euandre.org> | 2025-04-30 06:23:27 -0300 |
---|---|---|
committer | EuAndreh <eu@euandre.org> | 2025-04-30 06:33:36 -0300 |
commit | 61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da (patch) | |
tree | fc3c799bece509682b712f6e42e2816059c83c7a /src/content/en/pastebins/2023/07/22 | |
parent | Makefile: No need to remove non-generated *.mo files (diff) | |
download | euandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.gz euandre.org-61ffa8466bbfa4ca8b13b442a3bd63ef9504a6da.tar.xz |
src/content/en/: Unpluralize collection names
Diffstat (limited to 'src/content/en/pastebins/2023/07/22')
-rw-r--r-- | src/content/en/pastebins/2023/07/22/funcallable-amop.adoc | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/src/content/en/pastebins/2023/07/22/funcallable-amop.adoc b/src/content/en/pastebins/2023/07/22/funcallable-amop.adoc deleted file mode 100644 index 47a8089..0000000 --- a/src/content/en/pastebins/2023/07/22/funcallable-amop.adoc +++ /dev/null @@ -1,31 +0,0 @@ -= Funcallable AMOP - -Using `macrolet` to allow a `funcallable-standard-class` to be invoked without -using `funcall` directly, and let the macroexpansion do that instead: - -[source,lisp] ----- -#!/usr/bin/env li - -(asdf:load-system :closer-mop) - -(defclass constructor () - ((name :initarg :name :accessor constructor-name)) - (:metaclass closer-mop:funcallable-standard-class)) - -(defmethod initialize-instance :after ((c constructor) &key) - (with-slots (name) c - (closer-mop:set-funcallable-instance-function - c - (lambda (x) - (format t "~s: ~s - ~s~%" name :funcalled x))))) - -(let ((c (make-instance 'constructor :name "the-name"))) - (funcall c 1)) - -(let ((c (make-instance 'constructor :name "the-name"))) - (macrolet ((c (&body body) - `(funcall c ,@body))) - (funcall c 2) - (c 3))) ----- |