freenode/#clasp - IRC Chatlog
Search
15:02:32
frgo
OT question for all you gurus lurking out there: I am looking for a CL package that provides a message passing library à la Clojure core.async with #'chan and ! and ? macros for sending and receiving messages. Is anyone aware of such a thing? TIA!
16:57:35
Shinmera
frgo: I can't promise it to be fast. I'm actually quite convinced that, compared to a library with this kind of piping in mind, it's going to be slow.
17:00:33
frgo
Shinmera: Well - that's not an issue right now. I have only tens of events per second so nothing dramatic at all. WhatÄs more important: I need to be able to use this in a product being eventually sold commercially - and the license you assigned to it permits it.
18:37:41
drmeister
FuncallableInstance_O and Instance_O will have their _Class and _Rack at the same offset
18:38:30
drmeister
The _Sig (pointer to class slots - used to update stale instances) will be at different offsets in Instance_O and FuncallableInstance_O and use dispatching to look it up.
18:48:52
drmeister
Yikes - no idea - I expect it wouldn't run for even a few minutes because of all the activation frames.
18:50:13
drmeister
I'm toying with the idea of writing a new compiler. I have Cleavir-style environments implemented already in C++. I need to implement the special forms.
18:51:11
drmeister
Besides that we've been rearranging the runtime in ways that impact fastgf and typep
18:54:17
drmeister
How about load all the source code including Cleavir and then use it to compile-file everything.
18:56:54
drmeister
It would just eliminate the parts of the aclasp/bclasp compiler that compile the special operators.
18:58:00
drmeister
It would involve two stages, compile to an AST and then analyze lexical variables to figure out which need to be in closures and which can go into registers.
19:02:34
stassats
through how many compilers/interpeters are you going to go before things are reasonable?
19:15:13
drmeister
I welcome any advice on how to cut this Gordian knot. Long build times are extremely painful to me. But I have to keep moving forward.
19:15:37
stassats
so you load clasp, load cleavir, then output llvm ir from that, then assemble them
19:18:54
drmeister
Using a program written in pidgin Common Lisp running in Clasp's interpreter - or written in C++.
19:23:28
drmeister
Let's think on this. If we were to set up the calls to translate-simple-instruction and translate-branch-instruction, layout-procedure, layout-basic-block