
joe.thornber:
I'm not going to get time to look at this again until the weekend, so I thought I'd post what I had for people to muse over.
Combining splitters rather than rectangles is a neat idea (I hope). However I think we do need a combinator that merges rectangles back together again. Consider a layout consisting of three columns, where the middle column is twice the width of the out ones. To do this I'd like to create four columns and then merge together the two middle columns:
eg, merge [1..2] . hcat . replicate 4 $ unit
I really don't like passing indexes to merge, so if anyone can come up with a nicer way I'd be very interested.
For now, this approach ignores the whole issue of scaling factors given by the user to get the window sizes exactly as they want. But I do wonder if that can be done as a seperate distortion pass over the resultant rects anyway.
I think this is quite a promising approach. Perhaps implement some demonstration tiligns using this DSL? -- Don