Binary format for compiled program re-use #12

Open
opened 4 years ago by MightyPork · 0 comments
Owner

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) - 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.
MightyPork added the
feature
ft-core
labels 4 years ago
MightyPork added the
prio:LOW
label 4 years ago
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date

0001-01-01

Dependencies

No dependencies set.

Reference: MightyPork/crsn#12
Loading…
There is no content yet.