freenode/#clasp - IRC Chatlog
Search
13:40:59
Bike
beach: i changed my mind about sbcl being too hard. it's still work, but it seems preferable to the current system, or to relying on having a previous clasp binary
13:41:21
Bike
i haven't started on it, though. we'll have to rewrite the source so that it's written more conformingly
13:43:07
Bike
i also think we can probably have the cleavir-in-sbcl thing only go to ASTs and not bother with HIR, unless i'm missing something
13:45:19
Bike
i'm hoping after some time we can strip things down so that the interpreter knows how to load fasls and call C++ and not much else, so we can have things defined in CL instead of C++. but that's farther off
13:53:37
beach
I think going from source code (or CST) to AST is the hard part, because the environment must contain all the implementation-specific macros, types, etc.
13:54:04
beach
From AST to HIR should be easier. There could be some specialization on the implementation, but it shouldn't be too hard.
13:59:26
Bike
I have some functions set up that make an environment for cleavir that only has the functions available in the interpreter, plus cleavir primops and such. It has a cleavir-env:eval method that evaluates things in a different global environment that has a full CL
14:58:52
drmeister
I presume that trace is binding *print-pretty* to T and the traces are unreadable because the lines are very, very long
15:02:52
Bike
(princ (with-output-to-string (*trace-output*) ...) *trace-output*) haha, what the fuck
17:22:03
Bike
it redirects prints to *trace-output* into a string, and then prints that string to *trace-output*. so you could have the "..." by itself to get the same effect less convolutedly. unless i'm missing something.
18:19:15
drmeister
I'm gingerly crawling into the dark cave that is the Clang C++ AST. My goal is to recover template argument of a template type like: gctools::GCBitUnitArray_moveable<1,unsigned int,int>. There are snipes and wumpusses in here.
18:48:19
drmeister
Got it - I should be able to define simple-bit-vectors and simple-signed-crumb-vectors(2bit) simple-unsigned-crumb-vectors (2bit unsigned), simple-signed-nibble-vectors and simple-unsigned-nibble-vectors now.
18:54:10
drmeister
There are several names for 2 bit values on Wikipedia - I thought that was the most evocative.
18:59:58
Bike
it got most of the way through inline, and in inline it tries to define a compiler macro on array-row-major-index
19:19:56
Shinmera
beach: I suppose. I don't know if it'll be worth creating specific array types for though.
21:00:02
drmeister
I'm trying to stay away from a C++ solution that creates loads of new pointers that need to be fixed.
21:10:05
drmeister
If you want just the external symbols then leave out the maphash over the internal ones.
21:10:24
drmeister
Hang on - checking the order of values returned by (core:package-hash-tables ...)