Search
Saturday, 7th of September 2019, 12:20:18 UTC
12:24:49
beach
shka_: Well, Clordane is going to be a piece of cake.
12:28:29
beach
No, the debuggee is not going to send names of variables to Clordane, because variables may be renamed by optimization passes.
12:29:11
beach
It is going to send source information and values.
13:14:36
shka_
or just easy in comparison? ;-)
13:16:28
beach
I have never written a debugger before, so I can't compare.
14:06:35
beach
So I added a CLIENT parameter to functions in Cleavir version 2 for creating HIR from AST. I needed that so that I can create an :AROUND method on COMPILE-AST that creates the new special instructions. And I don't want that to be done for all clients of AST-to-HIR.
14:11:03
scymtym
probably for the debugging support instructions mentioned above
14:11:52
beach
Bike: Did you see this one: metamodular.com/clordane.mp4
14:12:30
Bike
not sure what i'm looking at. stepping?
14:12:50
beach
It stops before interpreting each instruction.
14:13:22
Bike
huh, surprised each instruction corresponds to a visible change
14:13:42
beach
Oh, sorry, each instruction with source info in it.
14:14:03
Bike
well, still. they should pretty much all have source info
14:14:09
beach
I am probably doing a bad job with putting source info in the instructions.
14:14:41
beach
Yes, they ought to, but they don't. :)
14:15:00
beach
And, as I said before, it turns out to be the wrong thing to do.
14:15:12
beach
I will move source info to these new special instructions.
14:15:39
Bike
having source info in instructions is wrong?
14:16:05
beach
Yes. That's what I decided before today.
14:16:19
Bike
yeah, i'm looking at the log
14:18:02
Bike
but each ast would still have its own source info?
14:18:33
beach
The AST will have start and end of the corresponding expression.
14:18:43
beach
I mean, it already does in SICL.
14:19:20
beach
Then an :AROUND method on COMPILE-AST will insert a special instruction before and one after the code generated from the AST.
14:19:36
Bike
and the :around method would be client specific?
14:19:48
beach
That's my current thinking, yes.
14:20:00
beach
The instruction before will contain the start information and the instruction after will contain end information.
14:21:14
beach
... rather than every instruction containing both as I do now.
14:21:34
Bike
right... well, i think i could make that work with clasp
14:22:12
Bike
currently it relies on every instruction having info, but i can see this working
14:22:44
beach
But I wasn't sure that Clasp would want the new thing, so I am making it SICL specific for now.
14:23:37
Bike
well, i mean, so you'd be removing the origin slot from HIR instructions?
14:24:21
beach
It depends on whether clients might need it.
14:24:24
Bike
because if you did obviously clasp would have to work out another strategy
14:24:59
beach
But this is Cleavir version 2, so at some point we should decide together how to make it work for Clasp.
14:25:41
beach
And I wouldn't rush, because I need to see how these new ideas work out with Clordane.
14:25:54
beach
I haven't given any thought to backtrace for instance.
16:19:03
beach
Hmm, there appear to be situations where this simple idea won't work, i.e. insert special instructions before and after the code created by COMPILE-AST.
18:43:34
Bike
oh like if the instruction is a terminator
Sunday, 8th of September 2019, 0:20:18 UTC