[C2hs] [c2hs] #36: Allow parametrized yet monomorphic data types in {#pointer ... #}

c2hs cvs-ghc at haskell.org
Wed Jan 26 21:46:01 CET 2011

#36: Allow parametrized yet monomorphic data types in {#pointer ... #}
 Reporter:  guest   |        Type:  enhancement
   Status:  new     |    Priority:  normal     
Milestone:          |   Component:  general    
  Version:  0.16.2  |    Keywords:             

 Currently pointer declaration could only use non-parametrized types. But
 sometimes it's too restrictive. I think examples below are self-

 This is OK but pointer is untyped
 {#pointer *OKA__Hit as OKA_Hit #}

 This doesn't work although it's perfectly sound. On syntactic level it may
 require addition of parenthesis.
 {#pointer *OKA__Hit as OKA_Hit -> Hit Chan () #}

 ./Event.chs:23: (column 42) [ERROR]  >>> Syntax error!
   The phrase `Chan' is not allowed here.

 There is workaround with type synonyms but it's not very elegant.
 type Typedef = Hit Chan ()
 {#pointer *OKA__Hit as OKA_Hit -> Typedef #}

Ticket URL: <http://hackage.haskell.org/trac/c2hs/ticket/36>
c2hs <http://www.cse.unsw.edu.au/~chak/haskell/c2hs/>
C->Haskell, An Interface Generator for Haskell

More information about the C2hs mailing list