freenode/#lisp - IRC Chatlog
Search
19:45:48
froggey
hardware interrupts can interrupt the GC, as the handlers are written to be safe for that. no allocating or accessing memory that the GC might move
19:46:32
froggey
a bit of a problem for audio, as the non-interrupt code that fills output buffers gets paused when GCs occur, but other devices deal with it fine
19:47:30
froggey
also disk drivers are written so they operate "under" the GC. they do all their allocation up-front at device initialization time and don't touch copyable memory
19:52:19
elias_
can anyone drop an example of a good initial project to help me learn and exercise some important concepts in lisp?
19:58:33
elias_
so is that to say, study that code and aim to recreate something similar? i like the idea of trying to implement regex
20:05:31
Xach
elias_: not necessarily recreate, but it covers a lot of techniques and tools in the cl toolbox that are applicable to other things
20:21:15
pve
elias_: Use drakma and cl-ppcre to fetch news headlines from a few news sites and display them in a terminal. You can also use cl-ppcre to filter the headlines based on interesting keywords, or come up with a more creative filtering method.
20:45:40
phoe
scymtym: I only upload the videos, BUT if you make them available in some location then I can add the link to video description.
20:51:42
scymtym
phoe: thanks. i will think about it. my main concern is such a link going dead after some time
20:54:56
scymtym
now that i think about it, something in https://common-lisp.net/project/mcclim/ seems plausible
21:12:57
Fare
jackdaniel, still here? Can you comment on rpgoldman's question in https://gitlab.common-lisp.net/asdf/asdf/-/issues/38 ?
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"