It's time Haskell had a modern REPL like Mathematica's (or better).
Make each calculation run in a separate thread, so user has control over each computation box's resources (ability to pause, play, cancel, replay, set memory/stack/time limits, etc). Allow for graphics output as well (how?).
Then detach these boxes from today's GHCi 1D canvas into 2D space, allow the boxes to be cloned (a clone receives same source, waits for the user to press "play" button...), their source code edited (allow for more than one line, too).
Then allow for these boxes to be assembled into chains - or networks - if types fit (deduce new constraints, if any, as in usual type inference). Make the joined boxes into one function/module, automatically produce the resulting source file, etc., etc.
Is this feasible? Can a community of experts self-organize to produce something like that, "for great good"?