
14 Jan
2015
14 Jan
'15
10:55 a.m.
I think the underlying problem here is that there is a difference between "literate" comments and "normal" comments. In a bird-style literate Haskell file, this is what I'll call a literate comment: ~~~ A line with no marker at the beginning ~~~ A normal comment is in a line of Haskell code, put with a comment indicator: ~~~
-- This is a "normal" comment
When GHC sees a bird-style literate Haskell file, it first strips out all lines that don't begin with >. Then, it starts doing its real work, including parsing Haddock comments. So, to use a Haddock comment in a literate Haskell file, you'd need to use the "normal" comment style:
-- | Make a numbered widget mkWidget :: Int -> Widget
There is no way to use Haddock markup in a "literate" comment.
But, as Mateusz points out, there may be blank lines between the Haddock comment and the thing being described:
-- | Get the number of a widget
widgetNum :: Widget -> Int
I hope this clarifies things!
Richard
On Jan 14, 2015, at 2:42 AM, sidhu1f <sidhu1f@gmail.com> wrote:
> At Wed, 14 Jan 2015 12:31:54 +0530,
> Mateusz Kowalczyk wrote:
>
>> I imagine you're suggesting that something like
>
>> Literate comment
>>> someCode = undefined
>
> This (literate comment followed by code with no intervening blank
> line) is exactly what I want (regret my explanation was unclear). But
> when I try it, GHC reports the error 'unlit: Program line next to
> comment'.
>
>> is allowed ...
>
> As you mention above behaviour is allowed, could you let me know how
> to enable it?
>
> Regards
> Sidhu
> _______________________________________________
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users@haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users