CozySynthesizer / cozy

The collection synthesizer
https://cozy.uwplse.org
Apache License 2.0
209 stars 18 forks source link

Target language dependent synthesis #68

Open Calvin-L opened 6 years ago

Calvin-L commented 6 years ago

Different target languages (e.g. Java, C++, Python) have different available primitives to use. For instance, EArrayLen is easy to implement in Java but not in C. (This relates to #67; EArrayLen makes sense regardless of the target language, but should not appear in the final implementation if your target language is C.)

Cozy should probably adjust its set of primitives and perhaps even its cost model based on what target language was requested.

To implement this, we will also need to change Cozy's command-line interface to accept only one target language at a time.