Does literate programming in haskell (.lhs) support the idea in Knuth's WEB of using aliases for blocks of code? In other words doing something like
main = do
<part 1>
<part 2>
<part 1> === putStrLn "foo"
<part 2> === putStrLn "bar"
(except I don't know what the actual syntax is)
-Dennis