-
Notifications
You must be signed in to change notification settings - Fork 0
/
LOG
13 lines (9 loc) · 784 Bytes
/
LOG
1
2
3
4
5
6
7
8
9
10
11
12
06/10/2024
Realised that in order to have a custom per-type version of each Reflect() procedure (i.e. a polymorphic Reflect),
we need to insert the body of Reflect() and everything that ends up calling back into Reflect (i.e. ReflectField)
into the global namespace of the user's program. Otherwise there's no way we can inspect user types from compile-time
functions inside the module (since the global namespace is not visible from there) and also we could not support
user-provided Reflect() overloads (for the same reason).
Also realised that we're gonna need to do this through a metaprogram plugin.
This is mainly due to the requirement that the tool should be usable from a user's metaprogram, and not just a "normal"
program. Using a plugin allows us to cover both cases.