justinwoo / purescript-type-isequal

Type equality check returning a Boolean kind. Useful for type-level programming.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

purescript-type-isequal

Build Status

Type equality check returning a Boolean kind. Useful for type-level programming.

Example

From tests:

isEqual
  :: forall a b result
   . IsEqual a b result
  => Proxy a
  -> Proxy b
  -> BProxy result
isEqual _ _ =  BProxy

-- this is true as Int is Int
testA :: BProxy True
testA = isEqual (Proxy :: Proxy Int) (Proxy :: Proxy Int)

-- this is false as Int is not String
testB :: BProxy False
testB = isEqual (Proxy :: Proxy Int) (Proxy :: Proxy String)

About

Type equality check returning a Boolean kind. Useful for type-level programming.

License:MIT License


Languages

Language:PureScript 100.0%