libera/#clasp - IRC Chatlog
Search
19:57:10
Bike
i think the static analyzer is running serially. it used to work in parallel, didn't it?
19:58:16
yitzi
We started on parallel, but I don't think we finished. The building of [abc]clasp is parallel, but the analyzer is series
20:04:22
yitzi
You can set the default target to boehm by adding `:default-target "cclasp-boehm"` to your config.sexp if you want.
20:05:50
Bike
i thought i remembered this taking "only" a few hours before, and the scroll going by faster
20:12:20
yitzi
Bike: Apparently, I put a note in koga https://github.com/clasp-developers/clasp/blob/ecb185da2507fd01ceeddaecc861a0eb2c253c45/src/koga/scripts.lisp#L115-L126
20:24:09
Bike
vm.reg returns the address of the nth local. then * dereferences it. then the value gets pushed to the stack.
20:26:51
drmeister
It should be a CONS cell - correct? This is does not have cell ellision incorporated yet.
20:31:40
drmeister
Yes, you put all the lexical values in cons cell don't you? Do you follow a ref by some other instruction to get the lexical value?
21:07:39
Bike
i'm getting an error that there is no method for cscrape::tag% for a cscrape::exposed-internal-class for a class i just wrote
22:22:30
Bike
drmeister: actually not sure why i even wrote that since we could pass nil directly...
22:23:05
Bike
bytecode compiler envs are now set up enough that the compiler works with them and macroexpand works with them
22:34:41
drmeister
(setf (fdefinition 'fib) (compile-to-vm::bcompile '(lambda (n) (if (eql n 1) (progn (gctools:garbage-collect) 0) (if (eql n 2) 1 (+ (fib (- n 1)) (fib (- n 2))))))))
23:38:29
drmeister
It looks like putting the side stack at the top of the main stack is a better idea.
23:41:20
drmeister
I'm going to clean up the VM logging machinery and merge these changes into the VM branch later this evening.
23:50:55
Bike
i didn't change anything in the actual bytecode interpreter besides interchanging the arguments to cell-set
0:12:20
karlosz
i wonder what a good name is for the operation X <n> that just wraps the value at frame slot n and puts it in a cell
0:45:12
karlosz
also i seem to need to kill the whole clasp directory every time i want to update it. i got an issue with no applicable error on (#<CSCRAPE::EXPOSED-INTERNAL-CLASS core::BytecodeCmpVarInfo_O>).
0:52:51
yitzi
karlosz: Not sure if Bike ran the analyzer. That error happens when it needs to be run. You should just do boehm instead.
1:03:39
yitzi
That error seems to always mean the same thing. Maybe we should put a handler in for it and just print "Run the static analyzer!"
1:04:48
Bike
::notify karlosz the env structures replace the ones in compile.lisp. i pushed how it looks in the clasp branch of cvm (didn't want to make main even messier than it was)
1:08:44
yitzi
The analyze script does essentially `koga && ninja analyze && koga --extensions=cando && ninja analyze` ... but it does it in a separate build directory so you don't mess up your current one.
1:24:48
Bike
it ought to work as well as it did yesterday (plus the cell elision is in the compiler)
1:25:34
Bike
tomorrow i will finish up macrolet, and then combined with unwind-protect -> funwind-protect it should be able to handle the full language (though not some of clasp's exztension special operators, we'll have to see how that goes)
1:25:56
Bike
::notify karlosz they were written in anticipation of the eventual port of the compiler to C++
1:27:38
Bike
oh, and i still need to implement the long prefix, but honestly we probably don't even need it to build clasp
1:28:28
Bike
and we'll have to fix a few little bugs in the compiler, like let* binds all specials after all lexicals
1:40:07
Bike
we should be able to try what you said about putting it in before cmprepl before the end of the week, i think. tomorrow, if i work out macrolet quickly