With respect to Bird-style literate programs, the
Report states in section 9.4 (p. 134) that "[t]he
program text is recovered by taking only those lines
beginning with '>', and replacing the leading '>' with
a space."
The following program seems to indicate that GHC strips
the leading '>' instead:
-----mixed.lhs-----
\begin{code}
-- Notice two leading spaces!
main = putStrLn "This is LaTeX-literal Haskell."
\end{code}
> main = putStrLn "This is Birdtrack-literal Haskell."
------------------------
GHC says "mixed.lhs:5: parse error on input `main'"
instead of "Multiple declarations of `Main.main'".
Inserting a second space after the '>', however, yields
the latter.
I just stumbled across this because I'm writing a
syntax highlighter and the Report only advises against
but does not forbid mixed-style literate programs.