Opened 5 years ago

Closed 5 years ago

#3407 closed bug (fixed)

GHC.Prim documentation should mention GHC.Exts!

Reported by: RyanN Owned by:
Priority: high Milestone: 6.12.1
Component: Documentation Version: 6.10.4
Keywords: Cc:
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

I had a real headache while learning to use unboxed types yesterday because I couldn't find mention anywhere of how to *convert* between boxed and unboxed representations. (I.e. you unbox a single function and then need to call it from the larger program.)

I read the original paper that mentions the "Int#" data constructor, and eventually found some code on the web with the I# constructor that's actually in use. But I still had to dig before I could find what module it was defined in!

Thanks.

Change History (5)

comment:1 Changed 5 years ago by simonpj

  • Difficulty set to Unknown

Another oddity. The documentation for GHC.Exts, in its Synopsis, says:

Int (I#)
data Word = W# Word#
Float (F#)
Double (D#)
Char (C#)

Note the absence of data for Int, Float etc. This must be wrong.

Also, we should add a pointer to GHC.Exts in the Overview for GHC.Prim and GHC.Types.

comment:2 Changed 5 years ago by igloo

It looks like the "Int (I#)" etc is because the types are defined in another package.

comment:3 Changed 5 years ago by simonmar

So the "Int (I#)" problem will be fixed by #2337. I've heard from David Waern and Isaac Dupree that the new support for cross-package documentation in Haddock should be ready very soon, and definitely in time for 6.12.1.

comment:4 Changed 5 years ago by igloo

  • Milestone set to 6.12.1
  • Priority changed from normal to high

comment:5 Changed 5 years ago by simonmar

  • Resolution set to fixed
  • Status changed from new to closed

I've brought in the Haddock patches from Isaac Dupree's SoC project, which mostly fix the problems. I'm leaving #2337 open for now because we still have missing documentation for functions/types that were defined in a "hidden" module in a different package.

Note: See TracTickets for help on using tickets.