Text this: Practical aspects of declarative languages