I have reached an impasse in designing a Haskell API for the google's protocol-buffers data language / format. ( http://code.google.com/apis/protocolbuffers/docs/overview.html )
The messages in protobuf are defined in a namespace that nests in the usual hierarchical OO style that Java encourages. To avoid namespace conflicts, I made a hierarchy of modules. But...this is a legal pair protobuf message definitions:
// Test that mutual recursion works. message TestMutualRecursionA { optional TestMutualRecursionB b = 1; optional int32 content = 2; } message TestMutualRecursionB { optional TestMutualRecursionA a = 1; optional int32 content = 2; }
And there is no way ghc can compile these in separate modules. But the overlap of record accessors names "content" makes defining these messages in a single module with a common namespace quite verbose. Any opinions on the least worst way to design this? -- Chris _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe