Referencing package things by IDs rather than Names turns out to affect a lot of things.
This PR involves a lot of this is heavy-lifting related pre-work, all towards big Package Manager changes.
Along the way, I stumbled through a few cool things:
a better understand of tracing
improvements in error-reporting (more context, better-shaped error messages)
More detailed changes:
removes tlid from PackageType, Fn, and Constant (in DB, records in F# and Dark PT, RT, ST, etc)
PM now looks up package things by ID rather than TLID
in Execution.executeExpr, remove useless tlid param
some adjustments to
symbolTable and typeSymbolTable have been folded into ExecutionState
Interpreter.eval, and the Interpreter in general, became tidier
RT.ExecutionPoint has been added - can be either Script, Function, or Toplevel (handler)
updated ExecutionState.caller to callStack, which now contains more info (still more work to do here - or, backpedal and do more with Traces here - probably that. then, pass around just the traceId, and look those kinda things up by traceId when needed)
tidied the shape of TypeChecker errors
added Builtin.debugSymbolTable, which has been handy
This breaks/disables (cloud) tracing - the shape of some related things changed, and we're not doing anything with it right now anyway, so will circle back here later. See TRACINGTODOs
Referencing package things by IDs rather than Names turns out to affect a lot of things. This PR involves a lot of this is heavy-lifting related pre-work, all towards big Package Manager changes.
Along the way, I stumbled through a few cool things:
More detailed changes:
tlid
from PackageType, Fn, and Constant (in DB, records in F# and Dark PT, RT, ST, etc)Execution.executeExpr
, remove uselesstlid
paramsymbolTable
andtypeSymbolTable
have been folded intoExecutionState
Interpreter.eval
, and the Interpreter in general, became tidierRT.ExecutionPoint
has been added - can be eitherScript
,Function
, orToplevel
(handler)ExecutionState.caller
tocallStack
, which now contains more info (still more work to do here - or, backpedal and do more with Traces here - probably that. then, pass around just thetraceId
, and look those kinda things up bytraceId
when needed)Builtin.debugSymbolTable
, which has been handyThis breaks/disables (cloud) tracing - the shape of some related things changed, and we're not doing anything with it right now anyway, so will circle back here later. See
TRACINGTODO
s