You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I may need to revise any changes cause the API is a little unstable at that point, but it should be do-able. Here is a high level sketch:
Relevant files: functions.t and ufversions.t (uf = user function) these are both in include/ebb/src which is where most of the compiler lives.
Conceptually you have 3 levels of hierarchy, which are specialized down:
function object (this is what is bound to the function name at the user level. You would add a "disassemble" member function at this level.)
type version table (for each argument specialization of a function, you get one of these. Your disassemble function will need to supply arguments as if it were a for each call to get to this layer)
ufversion (each of these is a further possible specialization of the type version table)
All of this is built using some Lua conventions around object prototypes, and making use of higher order memoization functions. If any of that seems confusing, just let me know.
This should all work out fine for CPU code, but doing the obvious thing for GPU will likely just dump a meaningless launcher program. So that will take a bit more thought about how to cache and display the use of multiple Terra functions to implement an ebb function.
pipe this through from Terra, including working out something for GPUs etc.
The text was updated successfully, but these errors were encountered: