[Haskell-cafe] Re: Haddock : parse error on input `{-# UNPACK'

Dominic Steinitz dominic at steinitz.org
Sun Jun 7 02:50:22 EDT 2009


Erik de Castro Lopo <mle+hs <at> mega-nerd.com> writes:

> 
> Dominic Steinitz wrote:
> 
> > Erik de Castro Lopo <mle+hs <at> mega-nerd.com> writes:
> > 
> > > 
> > >   src/Data/Binary/Strict/IncrementalGet.hs:106:11:
> > >       parse error on input `{-# UNPACK'
> > > 
> > 
> > This is a haddock error and I presume a bug in haddock.
> 
> Well I raised a bug here:
> 
>     http://trac.haskell.org/haddock/ticket/109
> 
> Thats actually not the problem. I'm trying to build a debian package
> for this thing and this haddock problem is preventing that.
> 
> Erik

This seems to be the problem:
http://hackage.haskell.org/trac/hackage/ticket/230. There's obviously a work
round for it as the haddock for the binary package builds (e.g.
http://hackage.haskell.org/packages/archive/binary/0.5.0.1/doc/html/Data-Binary-Get.html)
but I don't know what it is.

What's even more frustrating is one of the authors of has tried:

#ifndef __HADDOCK__
-- | The parse state
data S = S {-# UNPACK #-} !BL.ByteString  -- ^ input
           {-# UNPACK #-} !Int  -- ^ bytes read
           {-# UNPACK #-} ![B.ByteString]
           {-# UNPACK #-} !Int  -- ^ the failure depth
#endif

and haddock ignores this. And the binary package just has this (no ifdefs!):

-- Our internal buffer type
data Buffer = Buffer {-# UNPACK #-} !(ForeignPtr Word8)
                     {-# UNPACK #-} !Int                -- offset
                     {-# UNPACK #-} !Int                -- used bytes
                     {-# UNPACK #-} !Int                -- length left

Perhaps one of the authors of binary can tell us their secret of success?

Dominic.





More information about the Haskell-Cafe mailing list