6:10:25axionDoes anyone happen to use company-mode in common lisp code buffers? I am trying to switch from auto-complete, but it seems to only be working in the repl mode. I would be interested in checking out someone's emacs config if it's no trouble.
8:45:55lokeYou can see a call to %create-thread there. It checks whether the retyurn value is zero, bu8t if not, it should save it in the thread structure.
8:46:02lokeShould be a small change to that function.
9:21:21phoeIs there any MOP way to prevent defining any writer or accessor functions for a class? I want to create a class that is immutable, as in, its slots are only set during creation.
9:21:41phoeWould this be achievable through a metaclass?
9:26:52beachYou define a subclass of STANDARD-CLASS, and then you define a method on (SETF SLOT-VALUE-USING-CLASS) that specializes to the new metaclass.
9:38:36phoeBecause it sounds pretty logical for it to work this way.
9:46:17phoeMore importantly - if I declare this metaclass IMMUTABLE-CLASS to be a protocol class, meaning that it can't be instantiated, will I have to create a STANDARD-IMMUTABLE-CLASS as an implementation and use this as :METACLASS in DEFCLASS?
9:48:51phoeMore generally speaking, are metaclasses instantiated? If so, at which moment? How many?
10:05:16phoeBecause, by definition, protocol classes cannot be instantiated. BAZ is a protocol class, so I cannot instantiate it.
10:05:34lokephoe: There is no definition of "protocol class" in the clhs nor the AMOP as far as I know.
10:05:45phoeYes, it's only defined in CLIM2 specification.
10:06:12phoeAnd also http://metamodular.com/protocol.pdf
10:11:57_deathphoe: when you define a class, a class object is instantiated.. this is a metaobject, and its class is a metaclass
10:18:11phoe_death: I think I got it. (trace make-instance) helped me.
10:18:57phoeso my assumption was correct - I need to create a protocol metaclass, then an concrete metaclass, and then use the concrete metaclass in class definition.
10:41:28lokeBut I find the whole idea to be rather strange. Surely just not defining a writer method is signal enough that the instance isn't meant to be changed.
11:59:14phoebeach: Can protocols depend on each other? I have protocols FOO and BAR, where FOO has an operation FROB and BAR has an operation SCER; SCER calls FROB as a part of its operation.
12:00:05phoeDoes it mean that both of these protocols should be merged into one, or is such a "dependency" okay?
12:02:32beachYes, protocols can depend on each other for implementation.
12:03:52beachBut "protocol" really means just the interface, so there is no implementation there.
12:04:24beachSo using "operation" in the context of a protocol is a bit strange.
12:06:40phoebeach: I got the term from you, http://metamodular.com/protocol.pdf first sentence.