
Hi Neil.
The Yhc compiler uses 8 element tuples in some places - its not a good solution ever. Using them I would be counting commas all the time ;)
I suspect the use of the 2 element tuple is really common, the 3 element tuple sees a few outings, and the 4 and above element tuple is a bit of a rarity.
Thanks for your answer. This 4 tuple design can be found in regex-base (Text.Regex.Base.Context) (before, match, after, [submatch]) I only did need the submatches. tuple -> hlist -> get 3 element would be an option too ;) But you are right. It would be mutch better to use (BMAS = Before Match After Submatches) data BMASContext = BMASContext { before:: , match:: , after::, submatches :: .. } Then I could do submatches ( "..." =~ "..." ) which would be a lot more readable, too. You can define your own. I have to dive into the regex code much deeper.. It should have been a quick hack :) Marc