This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE ScopedTypeVariables, | |
TypeOperators, | |
DataKinds, | |
KindSignatures, | |
TypeFamilies, | |
GADTs, | |
FlexibleContexts, | |
FlexibleInstances, | |
MultiParamTypeClasses #-} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE GADTs, TypeOperators, FlexibleInstances, MultiParamTypeClasses, FlexibleContexts #-} | |
import Data.Syntactic | |
import Data.Syntactic.Functional hiding (eval) | |
import Data.Syntactic.TypeUniverse | |
import Data.Syntactic.Sugar.BindingT () | |
data Let a where | |
Let :: Let (a :-> (a -> b) :-> Full b) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{-# LANGUAGE TypeOperators, GADTs, FlexibleContexts, AllowAmbiguousTypes, StandaloneDeriving, DeriveDataTypeable #-} | |
import Data.Typeable | |
import Data.Syntactic | |
import Data.Syntactic.Functional | |
import Data.Syntactic.Sugar.BindingT () | |
deriving instance Typeable Construct | |
deriving instance Typeable BindingT | |
deriving instance Typeable AST |