From 020c1e77489b772f854bb3288b9c8d2818a6bf9d Mon Sep 17 00:00:00 2001
From: EuAndreh <eu@euandre.org>
Date: Fri, 18 Apr 2025 02:17:12 -0300
Subject: git mv src/content/* src/content/en/

---
 .../pastebins/2023/07/22/funcallable-amop.adoc     | 31 ----------------------
 1 file changed, 31 deletions(-)
 delete mode 100644 src/content/pastebins/2023/07/22/funcallable-amop.adoc

(limited to 'src/content/pastebins/2023/07/22/funcallable-amop.adoc')

diff --git a/src/content/pastebins/2023/07/22/funcallable-amop.adoc b/src/content/pastebins/2023/07/22/funcallable-amop.adoc
deleted file mode 100644
index 47a8089..0000000
--- a/src/content/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)))
-----
-- 
cgit v1.2.3

