On Monday, May 18, 2015 at 3:23:52 PM UTC+2, Richard Eisenberg wrote:Hmmmm…
OK,
Any idea of a timescale
In ways that would be hard to predict, promoting all types is a fairly massive change to GHC. If I merge in August, I'll be quite pleased. But it really should be there by 7.12, which should occur by Feb/Mar '16.
On Monday, May 18, 2015 at 3:23:52 PM UTC+2, Richard Eisenberg wrote:
Hmmmm…
OK,
Any idea of a timescale
In ways that would be hard to predict, promoting all types is a fairly massive change to GHC. If I merge in August, I'll be quite pleased. But it really should be there by 7.12, which should occur by Feb/Mar '16.
I'd love to hear the status on this. I found this email thread, through a Google search, because I'm experiencing the same error.
I have these tagged types that I want to make part of a Servant.Server.Internal.Context map, which is a type-level map, that automagically pulls out the right type to supply whatever is needed. As a mere programmer, this is fairly awesome to me, but I can't get it to work because of the aforementioned error. Here's the code:
{-# LANGUAGE DataKinds, TypeOperators #-}
import qualified Data.Tagged as Tag
import Servant.Server.Internal.Context (Context(EmptyContext, (:.)))
type BtcConf = Tag.Tagged "BTCConf" Word
type SettlePeriod = Tag.Tagged "Hours" Word
type DustLimit = Tag.Tagged "Dust" BitcoinAmount
type ChanConf2 = BtcConf :. BitcoinAmount :. DustLimit :. Hours :. EmptyContext
-- ERROR:
-- Data constructor ':.' comes from an un-promotable type 'Context'
/Rune