15 lines
348 B
Plaintext
15 lines
348 B
Plaintext
module Existsential where
|
|
|
|
import Prelude
|
|
|
|
import Unsafe.Coerce (unsafeCoerce)
|
|
|
|
foreign import data Test :: forall k. (k -> Type) -> Type
|
|
foreign import data Exists :: forall a b. (a -> b) -> b
|
|
|
|
mkExists :: forall f a. f a -> Exists f
|
|
mkExists = unsafeCoerce
|
|
|
|
runExists :: forall f r. (forall a. f a -> r) -> Exists f -> r
|
|
runExists = unsafeCoerce
|