@ksaj @pkw @deech
oh, yeah, good book.

When I first went to read the art of the metaobject protocol and I got to where it says "if you are new to the common lisp object system, go read Sonya Keene's Object-oriented Programming in Common LISP: A Programmer's Guide to CLOS now then come back afterwards"

but I made the mistake of trying to read AMOP first (which I did not much understand or retain). #AMOP #bookstodon #commonLisp

<"/>
I found [it] interesting since it says their approach should have wide applicability.

And very rightly so:
both
that you should find it interesting
and
that the approach should have wide applicability.

Just making my opinion explicit, not that present or absent company needs me to know that 🙂.

#AMOP
#MetaObjectProtocol

@dougmerritt

<"/>
"Metaobject protocols: Why we want them and what else they can do"
Gregor Kiczales, J.Michael Ashley, Luis Rodriguez, Amin Vahdat, and Daniel G. Bobrow
... 1993

Excellent catch.

#AMOP
#MetaObjectProtocol

@dougmerritt

Looks like I dodged a bullet when I decided /not/ to randomly add a class slot to one of the main metaclasses. In chapter 2:
"
Don't be fooled by this: metaobject protocols are not designed or implemented by arbitrarily exporting the internal structure of existing implementations. As we go along, we will give explicit attention to the design principles underlying our evolving metaobject protocol.
"
#softwareEngineering #AMOP #lisp #softwareArchitecture
@simoninireland

#commonLisp #programming #amop #mop #metaobjectProtocol #exercise #closette #learnToCode (my own experience) #oop
https://screwlisp.small-web.org/amop/eg1/

Today I simply share and solve (hopefully!) The Art of the Metaobject Protocol exercise 1.1

(the softball generic classes #memoization exercise from chapter 1)

I just added a lexical closure of hash tables.

@simoninireland wrote about the art of the metaobject protocol in his #lisp bibliography a year ago. https://simondobson.org/2024/07/23/the-art-of-the-metaobject-protocol/

Art of the metaobject protocol Exercise 1.1: Memoize Closette apply-generic-function

> I shortened Jim des Rivieres to Rivieres. Is this correct, or am I meant to write des Rivieres?

I would keep "des" and more importantly I would check what the already established practice for citing this name is in the literature.
That would also include keeping the accent (des Rivières).

#AMOP
#CommonLisp
#MetaobjectProtocol

@screwlisp

[Applying the Metaobject Protocol.]

Needless to say, if you not only read that book, but also put it to use, you will learn a lot and that is priceless.

What you describe seems like a suitable problem to apply the MOP to and to get a grasp of it.
Good hunting!

#AMOP
#CommonLisp
#MetaobjectProtocol
#MOP

@screwlisp @dougmerritt

Planning an elephantine Kitten #smallweb #kitten #commonLisp #elephant #MOP #AMOP #programming
https://screwlisp.small-web.org/kitten/planning-cl-kitten-mop/

After @dougmerritt (no pressure) and @vnikolov iirc were remembering The Art of the Metaobject Protocol to me last week, I wrote this short note developing my goal to write a Kitten spiritual successor to elephant.

Elephant modified standard-class for slots to be backed by the acid berkeley-db in the early 00s. I guess Kitten's pages and kitten-db suit this MOPing too.

[AMOP]
@dougmerritt @weekend_editor @sigue @abuseofnotation @screwlisp

Right now I'm thinking that the real value of _The Art of the Metaobject Protocol_ is showing one way to do metaprogramming, and object-oriented programming is merely a demonstration domain.

Of course, what begat AMOP was a desire for an approach that can cover a large part of the OOP language design space, not just one point in that space, in order to be attractive to different schools of thought.

#AMOP
#CLOS
#CommonLisp