freenode/#lisp - IRC Chatlog
Search
23:19:21
Josh_2
I'm trying to use compute-slots to add an extra slot using the MOP but I keep getting the same error https://plaster.tymoon.eu/view/1983#1983 (this is my first time messing with the MOP directly)
23:20:43
Josh_2
the function compiles but when I create an instance of 'locked-object i get the error "no applicable method for the generic function 'slot-definition-allocation' when called with 'EFFECTIVE-SLOT-DEFINITION METALOCK::SLOT-LOCKS'"
0:49:35
mrcom
minion: message for Josh_2: EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition
0:49:39
minion
i don't agree - message for josh_2 effective slot definition isn't a virtual class and should not be directly instantiated see httpsstackoverflow comquestions21986977additional properties to slot definition
0:55:03
mrcom
minion: message for Josh_2 EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition
0:55:03
minion
i don't agree - message for josh_2 effective slot definition isn't a virtual class and should not be directly instantiated see httpsstackoverflow comquestions21986977additional properties to slot definition
0:58:43
mrcom
minion: memo for Josh_2: EFFECTIVE-SLOT-DEFINITION is a virtual class and should not be directly instantiated. See https://stackoverflow.com/questions/21986977/additional-properties-to-slot-definition
1:16:46
mrcom
minion: memo for Josh_2: Other notes: looks like you're trying to set up a circular dependency with VALIDATE-SUPERCLASS. "`',slot-names-lock-alist" isn't... what you want. The INITFUNCTION is the proper way to do it, completely overriding :INITFORM and :INITARG.
1:27:44
mrcom
minion: memo for Josh_2: And I suspect your end goal is automatically thread-safe slots. This is a common thought, but kind of a dead-end. The primary issue with thread-safety isn't reading or updating a single slot. It's the higher-level cross-slot operations (e.g. changing STREET-ADDRESS and CITY), cross-object (updating object's address and the ADDRESS-HASH-TABLE that points to it), and global (making sure there's only one obje
1:30:45
mrcom
minion: memo for Josh_2: You'll probably find you need a single mutex per object, and one or more global mutexes. Most importantly, you'll need to define atomic functions/generic functions, and these will be completely aware of the mutexes.
1:31:47
mrcom
minion: memo for Josh_2: In other words, you aren't going to need a broad superclass which invisibly adds lock slots.
6:16:22
beach
This one is for discussions about the language, implementations of the language, and implementations of applications written in Common Lisp.
6:35:14
tourjin
quicklisp install fails on (quicksisp-quickstart:install) with error of Condition of type: idxu INVALID-ARGUMENT-ERROR Socket error in "socket": EINVAL (Invalid argument)
6:46:53
tourjin
in ecl (require 'ecl-quicklisp) returns loading #p"/data/blhablha/ecl-20.4.24/ecl-quicklisp.fas, ecl-curl.fas, sockets.fas"