Abstract Interpretation as a Programming Language