A programming language for linguistic tasks