Это помогает написать Tree
это в GADT
Syntax
:
{-# Language GADTs #-}
data Tree a where
Empty :: Tree a
Leaf :: a -> Tree a
Node :: Tree a -> a -> Tree a -> Tree a
, который дает понять, что Leaf :: a -> Tree a
- это функция. Мы можем быть явно о виде Tree
,
import Data.Kind
data Tree :: Type -> Type where
..