
Hi Markus, Markus Barenhoff wrote:
I have written a parsec parser for reading a marshallaled dataformat.
The returned data structure is based on the following data type:
data T = TString String | TInt Integer | TList [TorrentT] | TDict [(TorrentT, TorrentT)]
I think TString and TInt are clear. The elements of a TList always have the same "type" (same constructor). The TDict is a dictionary where the key is always a TString but the value can be of any of the other "types", even in the same dictionary. F.e the key "foo" may map to a TInt while the key "bar" maps to another TDict.
Maybe something like data T = TString String | TInt Integer | TStringList [String] | TIntList [Integer] | TDict [(String, T)] would work. Tillmann