libera/#clasp - IRC Chatlog
Search
18:28:30
yitzi
It seems to track the source path, but I am getting line number 999902 for frames inside those files.
18:33:09
Bike
for one we could probably bind current-source-pos and then you'd get the line number of the top level form, and that wouldn't be too hard
18:38:06
yitzi
I am calling clasp-cleavir::cclasp-eval directly b.c. I have to override core:*eval-with-env-hook* to break into load-source's loop
18:39:15
Bike
it uses cst-from-expression, which doesn't accept a default SPI, which is a little annoying
18:41:44
yitzi
The recent Eclector allows overriding the source query function. I used that to do line/column tracking for the implementations that only return a file position.
19:01:54
Bike
still debating what would be the best thing to do. the information about classes from the scraper and analyzer are different enough that i don't think i want to conflate them, but then having more than one info for the same name would require refactoring a bunch of stuff
19:25:35
Bike
hm, or, what if we used the analyzer info only for "gc managed types", and the scraper for the lisp accessible stuff
20:07:16
yitzi
Bike: what about just reading cst right from the stream with eclector.concrete-syntax-tree:cst-read? Thereby replacing my usage of load-source
20:16:57
Bike
you could do that with uh, (cst:cons (cst:cst-from-expression 'lambda) (cst:cons (cst:cst-from-expression nil) cst-goes-here))) i think
20:39:07
Bike
is this master branch or main? insert-jump-coercion no longer exists in main, i don't think. bir-to-bmir is only a hundred lines
20:49:01
cracauer
I think the git checkout of deploy on the bb was screwed up. Let's see whether a fresh one fixes it.
21:03:45
cracauer
in fact the entire machine is screwed. Oh well. Will be some time until I know whether the assert is caused by this.
23:40:26
drmeister
I just talked with cracauer - the buildbot is an AWS machine - it went away and a new one replaced it but with OLDER software.
23:40:55
drmeister
The problem is not in the clasp source - the problem was the new AWS machine had old software/data.
23:48:08
cracauer
we sometimes get this time warp when the spot instance is replaced, but most of the time we do not.
23:48:33
drmeister
Bike: We might be able to statically analyze out what the LISP_CLASS macro defines.
23:51:23
drmeister
The LISP_CLASS -> scraper tags is easy - it's CPP generated code and the scraper knows how to extract the info.
23:53:32
drmeister
To get the static analyzer to extract the info - I have to expand the CPP macro like: LISP_CLASS(core, ClPkg, HashTable_O, "HashTable",HashTableBase_O);
23:55:38
drmeister
The ClPkg and "HashTable" are strings - I'd have to add them as constants or arguments to a function call. The 'core' - ugh - that's a namespace - I'd have to stringify it with the C preprocessor and then do whatever I did with ClPkg and "HashTable"
23:58:14
drmeister
What you said "hm, or, what if we used the analyzer info only for "gc managed types", and the scraper for the lisp accessible stuff" - that is what we are doing now - that would be easier.
23:59:15
drmeister
Bike: But then there is "what do we need" for the stamps? Do we just need the class name and the base class name listed in the macro?
23:59:47
drmeister
We have the class name - is all we need is the base class name listed in the macro?