abstracting the abstract

Submitted by metaperl on Thu, 05/04/2006 - 4:49pm.

Does anyone have any suggestions for making this code even more abstract?

-- concrete approach
twoThreeA1 = above (sideBySide white blackRectangle) (sideBySide blackRectangle white)
twoThreeA2 = sideBySide (above white blackRectangle) (above blackRectangle white)

-- abstract approach
twoThreeAg joiner builder = joiner (builder white blackRectangle) (builder blackRectangle white)
twoThreeA1g = twoThreeAg above sideBySide
twoThreeA2g = twoThreeAg sideBySide above

-- can we get more abstract?