Haskell package for representation, parsing, and pretty-printing of GLSL