|
labeled field update kind-error in ghc 6.4.20050215: msg#00079lang.haskell.glasgow.bugs
Hello again, while trying to get HashTable to work both in IO and in ST I hit the following probable bug in 6.4.20050215. 6.2.1 does accept it, and the #ifdeffed-out version works in both. When the typesignature is removed 6.4 does accept it. Cheers, Remi {-# OPTIONS -cpp -fglasgow-exts #-} module Foo where data HT (ref :: * -> *) = HT { kcount :: Int } #if 1 set_kcount :: Int -> HT ref -> HT ref #endif #if 1 set_kcount kc ht = ht{kcount=kc} #else set_kcount kcount (HT _) = (HT kcount) #endif foo.hs:12:19: Couldn't match kind `*' against `* -> *' When matching the kinds of `t :: *' and `ref :: * -> *' Expected type: HT t Inferred type: HT ref In the record update: ht {kcount = kc} Failed, modules loaded: none. -- Nobody can be exactly like me. Even I have trouble doing it.
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | :i EmptyClass shows a superfluous where, Remi Turk |
|---|---|
| Next by Date: | 6.4.20050215: panic: lookupVers1 MHashTable HT{d}, Remi Turk |
| Previous by Thread: | :i EmptyClass shows a superfluous where, Remi Turk |
| Next by Thread: | RE: labeled field update kind-error in ghc 6.4.20050215, Simon Peyton-Jones |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |