libera/#clasp - IRC Chatlog
Search
19:16:23
drmeister
Bike: https://github.com/clasp-developers/clasp/blob/vm/src/lisp/kernel/lsp/evalmacros.lisp#L196
19:18:21
yitzi
Ok, I think I could probably make it switchable between vclasp = 1-4 and the usual steps. Let me know what and when I can help.
19:50:12
Bike
speaking of structs, should we work on runtime struct support next? like, packed structs rather than using instance
19:56:02
Bike
i guess the &key &aok thing could be fixed by saying aok is the high bit set, rather than using negation
19:57:11
Bike
the bytecode compiler also uses some seq functions that we have in seqlib, like replace
19:57:29
Bike
is that ok for doing things early? i mean, in C++ it would just be a std::copy or memmove or what have you
20:01:16
Bike
if you pull the latest compile.lisp from the clasp branch of cvm, i think it's pidgined enough (the header generation code will need to be commented out)
20:03:06
Bike
actually there's probably a bunch of places that need better declaration handling, so i'll just do that now
20:51:49
Bike
i don't understand why there doesn't seem to be anything in the code for resetting the frame-start to 0 in a nested function
21:21:17
Bike
i've been putting off fixing this because specials make lambda lists even messier than they already are
22:28:38
karlosz
Bike: yeah the key thing should be 1's complement instead of 2s complement and then itll work
22:35:01
karlosz
Bike: you're right for changing the frame-end thing. it used to be there but then it got killed when i got rid of the extra hair for enclose (the thing that segregated closed over variables from local ones in the environment)
22:37:26
karlosz
could some of the fixes be cherry picked onto main? its annoying to have two branches but it can be convenient to have the non clasp version for testing when e.g. the vm branch isn't building cleanly
22:38:23
karlosz
i think the lexical environment structure is more or less finalized in terms of what it'll look like now, so the C++ versions shouldn't be an isuse wrt duplication
22:38:47
Bike
Sure. I mean, I've still been using #+clasp, so i think the clasp branch should still run portably? i hope? it's just got a lot of #+ #- stuff
22:40:26
karlosz
if it runs portably anyway i don't think there's a reason to have two separate branches
22:43:24
yitzi
drmeister: to do the nightly for homebrew you start the Bump formula action. I just started it.
22:43:31
karlosz
(mostly i want to be sure we're looking at the same generated code if we're debugging something)
22:46:18
yitzi
If you guys leave the existing code with conditionals I can make two separate build paths in koga if you need it. That way with the same branch you could make different images in two different build directories.
23:00:25
karlosz
ah, nevermind, i see that there is actually a fair bit of difference between the compilers now
23:01:33
karlosz
Bike: i think keeping two branches is fine but the clasp branch doesn't work with #-clasp and we could just nuke it
23:06:54
yitzi
drmeister: What do you think about giving option to CL_DEFMETHOD to NOT always generate the class/method names? I've got four vector classes and they each have a "vref" function by intention. Having 4 additional symbols generated for every function is kind of irritating: real-single-vector/vref, real-double-vector/vref, complex-single-vector/vref, complex-double-vector/vref.
23:24:11
karlosz
ive gotten it to work a couple times but i just got the error "boehmprecise/" is not a LIST
23:30:49
karlosz
yitzi: when i try to rerun koga i always get some error with a stale git lock file being present
23:38:14
yitzi
Please paste the error the next time you see it and I'll try to fix it. You can also do `./koga --skip-sync` if you want avoid the git pulls
23:39:15
yitzi
If that doesn't work use `./koga --deep-clean` ... that should avoid you having to reclone.
23:42:12
yitzi
btw, generally you should only have to rerun koga if there are new or deleted files in the build. A lot of the time you don't need to rerun that for small changes. koga = configure and ninja = make in terms of functionality.
0:18:20
drmeister
We could compile things as bytecode and then recompile them automatically as native code if we spend a lot of time in them - could we not?
0:52:51
drmeister
::notify yitzi delta-vega uses shasht:with-json-key and that's not external in shasht.
0:54:58
Colleen
yitzi: drmeister said 2 minutes, 7 seconds ago: delta-vega uses shasht:with-json-key and that's not external in shasht.
1:30:07
karlosz
drmeister: didn't have much time today to do much. trying to get caught up with Bike's C++ification of some of the code and then look at how to improve the actual C++ VM (i.e. where some indirections could be removed from accessing literal vectors)