The Scheme Elucidator do both abstraction and synthesis statically
Alternatively, the synthesis may be done dynamically by the web server.