Text this: Logic-based program synthesis and transformation :