In Juvix we have an extension HRAnn which is literally just the product of HR and Ann. So it would be nice if we could express that with something like
module HR where
data T
hrExtTerm :: ExtTerm
hrExtTerm = ...
extendTerm "Term" [t|T|] hrExtTerm
module Ann where
data T
annExtTerm :: ExtTerm
annExtTerm = ...
extendTerm "Term" [t|T|] annExtTerm
module HRAnn where
import HR; import Ann
data T
extendTerm "Term" [t|T|] (hrExtTerm `pair` annExtTerm)
In Juvix we have an extension
HRAnnwhich is literally just the product ofHRandAnn. So it would be nice if we could express that with something like