Open mwookawa opened 7 years ago
there is a fine line here between designing K useful DSLs and designing a distinct synthesizer for each one, and designing a single synthesizer framework (say, in the style of Rosette) that allows one to design K useful synthesis-enabled DSLs.
Note that I say this is a fine line because if we are only designing K use DSLs, it is most expedient and generally clearest (to my mind) to separately define the syntax, static and dynamic semantics of each DSL. However, the distinction between K distinct synthesizers and one synthesizer framework from which we derive K instantiations has a significant effect on how we implement these languages.
My feeling is that this is I/we should just choose an approach (or resign to an ad hoc hybrid) and dive in, and at a later point at which we have achieved functionality, identify which risks paid off and which did not.
My experience so far doing this with bintools is that the various generators don't have a great deal in common. But they're more like compilers than synthesizers.
Master ticket for drawing out our proposed synthesis toolchain (including evolving components under dev) conceptually