
I wonder if people who like one giant window maybe don't use the REPL? I keep 3 windows open: one with the editor, one with ghci, and one with a shell. The shell I use for compiles, darcs records, diffs, grepping, moving files around, etc. I don't understand how people are able work with fewer... it's awkward to constantly ^Z out of the editor, not to mention that you can't look at a diff, test output, compiler output, etc. and code at the same time. With the REPL I'm constantly jumping back and forth to fix type errors, test functions, etc. Since I have 3 terminals that basically means a strict 80 columns on all but the widest monitors, but it's never a problem. Just define more small functions. Breaking them up keeps the nesting down, gives names to to sections, gives me something to test from the REPL, and ensures there are regularly spaced toplevel type signatures, so a type error doesn't propagate too far through inference. I've tried with >3 terminals but I can never figure out what to do with the extra ones. Now that I think of it, it would be interesting to slave two vims together so the secondary one is always the % buffer. Then I don't worry about who is opened where but can still swap between current and last used quickly.