A programming language for describing how data conversions