Box<dyn...> used for instructions is a pain to work with and I'm not sure how that could be serialized (it most likely can't without doing it manually in some humongous match)
Extension constants are allocated at compile time and their mapping is then stored in the extension state. The numbers without the extension info are meaningless. This can be worked around by injecting something like (edef cin 0x1235468798796546) at the beginning of the program and having the extensions support updating their mappings with these values.
Performance-wise, the compiler is very fast, so this does not make a great deal of sense to begin with. It might be useful when programs are to be shared. But then, sharing the source code makes more sense anyway.
There are several obstacles right now:
- `Box<dyn...>` used for instructions is a pain to work with and I'm not sure how that could be serialized (it most likely can't without doing it manually in some humongous match)
- Extension constants are allocated at compile time and their mapping is then stored in the extension state. The numbers without the extension info are meaningless. This can be worked around by injecting something like `(edef cin 0x1235468798796546)` at the beginning of the program and having the extensions support updating their mappings with these values.
Performance-wise, the compiler is very fast, so this does not make a great deal of sense to begin with. It might be useful when programs are to be shared. But then, sharing the source code makes more sense anyway.
There are several obstacles right now:
Box<dyn...>
used for instructions is a pain to work with and I'm not sure how that could be serialized (it most likely can't without doing it manually in some humongous match)(edef cin 0x1235468798796546)
at the beginning of the program and having the extensions support updating their mappings with these values.Performance-wise, the compiler is very fast, so this does not make a great deal of sense to begin with. It might be useful when programs are to be shared. But then, sharing the source code makes more sense anyway.