«IMPORT haskell» «DEFINE haskellModule FOR Module» «FILE getFullyQualifiedName().replaceAll('\\.','/')+".hs"-» {-| «comment» -} module «getFullyQualifiedName()» ( -- * Types «FOREACH typedecls AS type-» «IF type.export-» «type.name»(..), «ENDIF-» «ENDFOREACH-» -- ** Operations «FOREACH functions AS function-» «IF function.export-» «function.name», -- ::«function.type» «ENDIF-» «ENDFOREACH-» ) where «EXPAND TypeDecl::haskellType FOREACH typedecls» «EXPAND Function::haskellFunction FOREACH functions» «ENDFILE» «ENDDEFINE»