-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Currently, compiled motes (sequences and macros) are stored as Perl source. With the possibility of a Node.js port, it becomes desirable to have multiple implementations using the same persistence store. Making this work will require storing multiple compiled versions, and compile-time source, for compiling in a new implementation language the first time a compiled mote is used in that implementation, instead of simply compiling to implementation-language source.
Close this ticket when we are (1) compiling sequences and macros into an intermediate nameless form; and (2) compiling from said INF into implementation language with something like (eval (preprocess INF)) rather than simply evalling what's read from the database.
Caching the preprocessor result is not necessary (following the "correct, then fast" dictum) but if it is done it should be in the code that is concerned with thawing nonprimitives rather than in the main persistence configuration.