freenode/#sicl - IRC Chatlog
Search
9:02:27
beach
Each one add one piece of information. Dynamic extent, a type, inline information, etc.
9:03:13
beach
So when the query happens, all this information must be combined. The AND between the types must be computed, the innermost version of inline information must be used, etc, etc.
9:04:28
beach
But each extension (or rather "augmentation") function supplies only one piece of information.
11:33:43
heisig
Good news - I just finished my sealable metaobjects prototype. And I can use it to implement the SICL sequence functions.
11:34:21
heisig
That means that the discriminating function can be avoided whenever the compiler can infer that the sequence in question is of a built-in type.
11:36:05
heisig
The previous version takes 48ns for FINDing something in a specialized vector with a single element. The 'inlined' version takes only 41ns.
11:39:14
beach
I have said this before, but I don't think performance is extremely important for short sequences.
11:40:40
heisig
I know. The more important use case of sealable metaobjects is to allow a generic cl:elt.
11:41:03
heisig
But for that to work, I also have to inline the effective method, not just the discriminating function.
11:42:49
heisig
scymtym: You are more familiar with SBCL internals. Do you spot any problems with the following code: https://github.com/marcoheisig/sealable-metaobjects/blob/master/code/implementation-specific/sbcl.lisp ?
11:47:28
heisig
beach: I am quite productive at the moment. Katharina and I moved in together a few days ago, and we don't yet have internet access at our flat.
11:47:44
scymtym
heisig: not immediately; i would have to study it longer. did you look at pkhuong's code? it's probably solid
11:48:39
heisig
scymtym: pkhuong's code has been invaluable so far. Thanks again for showing it to me.
14:29:09
Bike
beach: you sure you can't just move out the entire Cleavir/Environment director? it doesn't have dependencies besides acclimation, does it?
14:33:03
beach
I could, but I want to factor the code, and I want to introduce INFO classes for generic functions.
14:34:51
beach
Oh, and some things are not independent of the implementation, so they need to stay in Cleavir, like POLICY.
14:53:42
Shinmera
A protocol/architecture for rendering pipelines. As in, it describes and encapsulates different stages and the required resources.
14:54:31
Shinmera
I can only find papers that describe algorithms and their stages, but nothing about a framework or architecture to describe such things.
14:54:59
Shinmera
I remember a talk by some dude from a big studio about their implementation, but I can't find that anymore, and I'm sure it wouldn't be available in paper form anyway
14:57:27
Shinmera
Oh, wait, just found what I was thinking of. https://www.gdcvault.com/play/1022186/Parallelizing-the-Naughty-Dog-Engine
14:59:04
heisig
Shinmera: Kai Selgrad is a Lisper who has previously worked in computer graphics. Maybe you consult him?
20:31:17
Bike
soo i have things more worky than they were, but i still have the question of how to generate an ast outside of a function, so that there's no dynamic environment location set up
20:34:29
Bike
i put in a special IR datum for it in clasp for something else, but i don't know if that's the way to go