если нету gadt?
data PrimitiveKind
foreign import data Bool_Kind :: PrimitiveKind
foreign import data String_Kind :: PrimitiveKind
data Primitive :: PrimitiveKind -> Symbol -> Type
data Primitive k a =
SBool(SProxy a)
| SString(SProxy a)
getBool :: forall r r' l
. IsSymbol l
=> Cons l Boolean r' r
=> Primitive Bool_Kind l
-> { | r }
-> Boolean
getBool (SBool p) o = get p o
Как мне без gadt связать SBool и Bool_Kind?
В ST используется foreign import кайнд
попробуй равенство по Лейбницу для эмуляции
какой код ты ожтдаешь?
Обсуждают сегодня