Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class MonoidEndoFolder a where
- monoidFold :: Monoid m => (a -> m) -> a -> m
- data IExpr
- data IExprF r
- data ExprA a
- data ExprT a
- getA :: ExprA a -> a
- data LamType l
- data ParserTerm l v
- = TZero
- | TPair (ParserTerm l v) (ParserTerm l v)
- | TVar v
- | TApp (ParserTerm l v) (ParserTerm l v)
- | TCheck (ParserTerm l v) (ParserTerm l v)
- | TITE (ParserTerm l v) (ParserTerm l v) (ParserTerm l v)
- | TLeft (ParserTerm l v)
- | TRight (ParserTerm l v)
- | TTrace (ParserTerm l v)
- | THash (ParserTerm l v)
- | TChurch Int
- | TLam (LamType l) (ParserTerm l v)
- | TLimitedRecursion (ParserTerm l v) (ParserTerm l v) (ParserTerm l v)
- data ParserTermF (l :: Type) (v :: Type) r
- indent :: Int -> String -> String
- sindent :: String -> State Int String
- indentWithOneChild :: String -> State Int String -> State Int String
- indentWithOneChild' :: String -> State Int String -> State Int String
- indentWithTwoChildren' :: String -> State Int String -> State Int String -> State Int String
- indentWithChildren' :: String -> [State Int String] -> State Int String
- indentWithTwoChildren :: String -> State Int String -> State Int String -> State Int String
- indentWithThreeChildren :: String -> State Int String -> State Int String -> State Int String -> State Int String
- dropUntil :: (a -> Bool) -> [a] -> [a]
- newtype FragIndex = FragIndex {
- unFragIndex :: Int
- data FragExpr a
- data FragExprF (a :: Type) r
- = ZeroFragF
- | PairFragF r r
- | EnvFragF
- | SetEnvFragF r
- | DeferFragF FragIndex
- | AbortFragF
- | GateFragF r r
- | LeftFragF r
- | RightFragF r
- | TraceFragF
- | AuxFragF a
- showFragAlg :: Show a => Base (FragExpr a) (State Int String) -> State Int String
- newtype EIndex = EIndex {}
- newtype UnsizedRecursionToken = UnsizedRecursionToken {}
- data RecursionSimulationPieces a
- data LocTag
- newtype FragExprUR = FragExprUR {}
- type RecursionPieceFrag = RecursionSimulationPieces FragExprUR
- type Term1 = Cofree (ParserTermF String String) LocTag
- type Term2 = Cofree (ParserTermF () Int) LocTag
- newtype Term3 = Term3 (Map FragIndex FragExprUR)
- newtype Term4 = Term4 (Map FragIndex (Cofree (FragExprF Void) LocTag))
- type BreakState a b = State (b, FragIndex, Map FragIndex (Cofree (FragExprF a) LocTag))
- type BreakState' a b = BreakState a b (Cofree (FragExprF a) LocTag)
- type IndExpr = ExprA EIndex
- data RunTimeError
- class TelomareLike a where
- fromTelomare :: IExpr -> a
- toTelomare :: a -> Maybe IExpr
- class TelomareLike a => AbstractRunTime a where
- eval :: a -> a
- rootFrag :: Map FragIndex a -> a
- zero :: IExpr
- pair :: IExpr -> IExpr -> IExpr
- var :: IExpr
- env :: IExpr
- twiddle :: IExpr -> IExpr
- app :: IExpr -> IExpr -> IExpr
- pleft :: IExpr -> IExpr
- pright :: IExpr -> IExpr
- setenv :: IExpr -> IExpr
- defer :: IExpr -> IExpr
- lam :: IExpr -> IExpr
- completeLam :: IExpr -> IExpr
- ite :: IExpr -> IExpr -> IExpr -> IExpr
- varN :: Int -> IExpr
- varNF :: Int -> FragExpr a
- pattern FirstArg :: IExpr
- pattern SecondArg :: IExpr
- pattern ThirdArg :: IExpr
- pattern FourthArg :: IExpr
- pattern Lam :: IExpr -> IExpr
- pattern App :: IExpr -> IExpr -> IExpr
- pattern TwoArgFun :: IExpr -> IExpr
- pattern ITE :: IExpr -> IExpr -> IExpr -> IExpr
- pattern EasyTrace :: IExpr -> IExpr
- countApps :: Int -> IExpr -> Maybe Int
- pattern ChurchNum :: Int -> IExpr
- pattern ToChurch :: IExpr
- deferF :: Show a => BreakState' a b -> BreakState' a b
- pairF :: BreakState' a b -> BreakState' a b -> BreakState' a b
- setEnvF :: BreakState' a b -> BreakState' a b
- appF :: (Show a, Enum b, Show b) => BreakState' a b -> BreakState' a b -> BreakState' a b
- showRunBreakState' :: BreakState' RecursionPieceFrag UnsizedRecursionToken -> String
- lamF :: (Show a, Enum b) => BreakState' a b -> BreakState' a b
- clamF :: (Show a, Enum b) => BreakState' a b -> BreakState' a b
- innerChurchF :: LocTag -> Int -> BreakState' a b
- gateF :: BreakState' a b -> BreakState' a b -> BreakState' a b
- iteF :: BreakState' a b -> BreakState' a b -> BreakState' a b -> BreakState' a b
- repeatFunctionF :: (Show a, Enum b) => LocTag -> FragExpr a -> BreakState' a b
- i2cF :: (Show a, Enum b) => LocTag -> Int -> BreakState' a b
- unsizedRecursionWrapper :: UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken
- nextBreakToken :: (Enum b, Show b) => BreakState a b b
- buildFragMap :: BreakState' a b -> Map FragIndex (Cofree (FragExprF a) LocTag)
- pattern FirstArgA :: ExprA a
- pattern SecondArgA :: ExprA a
- pattern ThirdArgA :: ExprA a
- pattern FourthArgA :: ExprA a
- pattern AppA :: ExprA a -> ExprA a -> ExprA a
- pattern LamA :: ExprA a -> ExprA a
- pattern TwoArgFunA :: ExprA a -> a -> a -> ExprA a
- pattern PlusA :: ExprA a -> ExprA a -> ExprA a
- pattern MultA :: ExprA a -> ExprA a -> ExprA a
- data DataType
- data PartialType
- mergePairType :: DataType -> DataType
- mergePairTypeP :: PartialType -> PartialType
- containsFunction :: PartialType -> Bool
- cleanType :: PartialType -> Bool
- g2i :: IExpr -> Int
- i2g :: Int -> IExpr
- ints2g :: [Int] -> IExpr
- g2Ints :: IExpr -> [Int]
- s2g :: String -> IExpr
- g2s :: IExpr -> String
- toChurch :: Int -> IExpr
- i2gF :: LocTag -> Int -> BreakState' a b
- ints2gF :: LocTag -> [Int] -> BreakState' a b
- s2gF :: LocTag -> String -> BreakState' a b
- isNum :: IExpr -> Bool
- nextI :: State EIndex EIndex
- toIndExpr :: IExpr -> State EIndex IndExpr
- toIndExpr' :: IExpr -> IndExpr
- telomareToFragmap :: IExpr -> Map FragIndex (Cofree (FragExprF a) LocTag)
- fragmapToTelomare :: Map FragIndex (FragExpr a) -> Maybe IExpr
- forget :: Corecursive a => Cofree (Base a) anno -> a
- tag :: Recursive a => anno -> a -> Cofree (Base a) anno
- newtype FragExprURSansAnnotation = FragExprURSA {}
- forgetAnnotationFragExprUR :: FragExprUR -> FragExprURSansAnnotation
- insertAndGetKey :: (Ord e, Enum e) => a -> State (Map e a) e
- pattern AbortRecursion :: IExpr
- pattern AbortUser :: IExpr -> IExpr
- pattern AbortAny :: IExpr
- pattern AbortUnsizeable :: IExpr -> IExpr
- data Pattern
- data PatternF r
- = PatternVarF [Char]
- | PatternIntF Int
- | PatternStringF [Char]
- | PatternIgnoreF
- | PatternPairF r r
- data UnprocessedParsedTerm
- = VarUP String
- | ITEUP UnprocessedParsedTerm UnprocessedParsedTerm UnprocessedParsedTerm
- | LetUP [(String, UnprocessedParsedTerm)] UnprocessedParsedTerm
- | ListUP [UnprocessedParsedTerm]
- | IntUP Int
- | StringUP String
- | PairUP UnprocessedParsedTerm UnprocessedParsedTerm
- | AppUP UnprocessedParsedTerm UnprocessedParsedTerm
- | LamUP String UnprocessedParsedTerm
- | ChurchUP Int
- | UnsizedRecursionUP UnprocessedParsedTerm UnprocessedParsedTerm UnprocessedParsedTerm
- | LeftUP UnprocessedParsedTerm
- | RightUP UnprocessedParsedTerm
- | TraceUP UnprocessedParsedTerm
- | CheckUP UnprocessedParsedTerm UnprocessedParsedTerm
- | HashUP UnprocessedParsedTerm
- | CaseUP UnprocessedParsedTerm [(Pattern, UnprocessedParsedTerm)]
- data UnprocessedParsedTermF r
- _CaseUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, [(Pattern, UnprocessedParsedTerm)])
- _HashUP :: Prism' UnprocessedParsedTerm UnprocessedParsedTerm
- _CheckUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, UnprocessedParsedTerm)
- _TraceUP :: Prism' UnprocessedParsedTerm UnprocessedParsedTerm
- _RightUP :: Prism' UnprocessedParsedTerm UnprocessedParsedTerm
- _LeftUP :: Prism' UnprocessedParsedTerm UnprocessedParsedTerm
- _UnsizedRecursionUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, UnprocessedParsedTerm, UnprocessedParsedTerm)
- _ChurchUP :: Prism' UnprocessedParsedTerm Int
- _LamUP :: Prism' UnprocessedParsedTerm (String, UnprocessedParsedTerm)
- _AppUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, UnprocessedParsedTerm)
- _PairUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, UnprocessedParsedTerm)
- _StringUP :: Prism' UnprocessedParsedTerm String
- _IntUP :: Prism' UnprocessedParsedTerm Int
- _ListUP :: Prism' UnprocessedParsedTerm [UnprocessedParsedTerm]
- _LetUP :: Prism' UnprocessedParsedTerm ([(String, UnprocessedParsedTerm)], UnprocessedParsedTerm)
- _ITEUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, UnprocessedParsedTerm, UnprocessedParsedTerm)
- _VarUP :: Prism' UnprocessedParsedTerm String
Documentation
class MonoidEndoFolder a where Source #
monoidFold :: Monoid m => (a -> m) -> a -> m Source #
Zero | |
Pair !IExpr !IExpr | |
Env | |
SetEnv !IExpr | |
Defer !IExpr | |
Gate !IExpr !IExpr | |
PLeft !IExpr | |
PRight !IExpr | |
Trace |
Instances
Instances
Foldable IExprF Source # | |
Defined in Telomare fold :: Monoid m => IExprF m -> m Source # foldMap :: Monoid m => (a -> m) -> IExprF a -> m Source # foldMap' :: Monoid m => (a -> m) -> IExprF a -> m Source # foldr :: (a -> b -> b) -> b -> IExprF a -> b Source # foldr' :: (a -> b -> b) -> b -> IExprF a -> b Source # foldl :: (b -> a -> b) -> b -> IExprF a -> b Source # foldl' :: (b -> a -> b) -> b -> IExprF a -> b Source # foldr1 :: (a -> a -> a) -> IExprF a -> a Source # foldl1 :: (a -> a -> a) -> IExprF a -> a Source # toList :: IExprF a -> [a] Source # null :: IExprF a -> Bool Source # length :: IExprF a -> Int Source # elem :: Eq a => a -> IExprF a -> Bool Source # maximum :: Ord a => IExprF a -> a Source # minimum :: Ord a => IExprF a -> a Source # | |
Traversable IExprF Source # | |
Functor IExprF Source # | |
ZeroA a | |
PairA (ExprA a) (ExprA a) a | |
EnvA a | |
SetEnvA (ExprA a) a | |
DeferA (ExprA a) a | |
AbortA a | |
GateA (ExprA a) (ExprA a) a | |
PLeftA (ExprA a) a | |
PRightA (ExprA a) a | |
TraceA a |
Instances
Show a => Show (ExprA a) Source # | |
Eq a => Eq (ExprA a) Source # | |
Ord a => Ord (ExprA a) Source # | |
ZeroT | |
PairT (ExprT a) (ExprT a) | |
EnvT | |
SetEnvT (ExprT a) | |
DeferT (ExprT a) | |
AbortT | |
GateT (ExprT a) (ExprT a) | |
LeftT (ExprT a) | |
RightT (ExprT a) | |
TraceT | |
TagT (ExprT a) a |
Instances
Show a => Show (ExprT a) Source # | |
Eq a => Eq (ExprT a) Source # | |
Ord a => Ord (ExprT a) Source # | |
TelomareLike (ExprT a) Source # | |
Lambdas can be closed if it's expresion does not depend on any outer binding.
Instances
Show l => Show (LamType l) Source # | |
Eq l => Eq (LamType l) Source # | |
Ord l => Ord (LamType l) Source # | |
Defined in Telomare |
data ParserTerm l v Source #
Parser AST
TZero | |
TPair (ParserTerm l v) (ParserTerm l v) | |
TVar v | |
TApp (ParserTerm l v) (ParserTerm l v) | |
TCheck (ParserTerm l v) (ParserTerm l v) | |
TITE (ParserTerm l v) (ParserTerm l v) (ParserTerm l v) | |
TLeft (ParserTerm l v) | |
TRight (ParserTerm l v) | |
TTrace (ParserTerm l v) | |
THash (ParserTerm l v) | |
TChurch Int | |
TLam (LamType l) (ParserTerm l v) | |
TLimitedRecursion (ParserTerm l v) (ParserTerm l v) (ParserTerm l v) |
Instances
data ParserTermF (l :: Type) (v :: Type) r Source #
TZeroF | |
TPairF r r | |
TVarF v | |
TAppF r r | |
TCheckF r r | |
TITEF r r r | |
TLeftF r | |
TRightF r | |
TTraceF r | |
THashF r | |
TChurchF Int | |
TLamF (LamType l) r | |
TLimitedRecursionF r r r |
Instances
indent :: Int -> String -> String Source #
Helper function to indent. Usefull for indented Show instances.
indentWithTwoChildren' :: String -> State Int String -> State Int String -> State Int String Source #
indentWithTwoChildren :: String -> State Int String -> State Int String -> State Int String Source #
Two children indentation.
indentWithThreeChildren :: String -> State Int String -> State Int String -> State Int String -> State Int String Source #
dropUntil :: (a -> Bool) -> [a] -> [a] Source #
`dropUntil p xs` drops leading elements until `p $ head xs` is satisfied.
Instances
Enum FragIndex Source # | |
Defined in Telomare succ :: FragIndex -> FragIndex Source # pred :: FragIndex -> FragIndex Source # toEnum :: Int -> FragIndex Source # fromEnum :: FragIndex -> Int Source # enumFrom :: FragIndex -> [FragIndex] Source # enumFromThen :: FragIndex -> FragIndex -> [FragIndex] Source # enumFromTo :: FragIndex -> FragIndex -> [FragIndex] Source # enumFromThenTo :: FragIndex -> FragIndex -> FragIndex -> [FragIndex] Source # | |
Generic FragIndex Source # | |
Show FragIndex Source # | |
Binary FragIndex Source # | |
NFData FragIndex Source # | |
Eq FragIndex Source # | |
Ord FragIndex Source # | |
Defined in Telomare | |
type Rep FragIndex Source # | |
ZeroFrag | |
PairFrag (FragExpr a) (FragExpr a) | |
EnvFrag | |
SetEnvFrag (FragExpr a) | |
DeferFrag FragIndex | |
AbortFrag | |
GateFrag (FragExpr a) (FragExpr a) | |
LeftFrag (FragExpr a) | |
RightFrag (FragExpr a) | |
TraceFrag | |
AuxFrag a |
Instances
data FragExprF (a :: Type) r Source #
ZeroFragF | |
PairFragF r r | |
EnvFragF | |
SetEnvFragF r | |
DeferFragF FragIndex | |
AbortFragF | |
GateFragF r r | |
LeftFragF r | |
RightFragF r | |
TraceFragF | |
AuxFragF a |
Instances
Foldable (FragExprF a) Source # | |
Defined in Telomare fold :: Monoid m => FragExprF a m -> m Source # foldMap :: Monoid m => (a0 -> m) -> FragExprF a a0 -> m Source # foldMap' :: Monoid m => (a0 -> m) -> FragExprF a a0 -> m Source # foldr :: (a0 -> b -> b) -> b -> FragExprF a a0 -> b Source # foldr' :: (a0 -> b -> b) -> b -> FragExprF a a0 -> b Source # foldl :: (b -> a0 -> b) -> b -> FragExprF a a0 -> b Source # foldl' :: (b -> a0 -> b) -> b -> FragExprF a a0 -> b Source # foldr1 :: (a0 -> a0 -> a0) -> FragExprF a a0 -> a0 Source # foldl1 :: (a0 -> a0 -> a0) -> FragExprF a a0 -> a0 Source # toList :: FragExprF a a0 -> [a0] Source # null :: FragExprF a a0 -> Bool Source # length :: FragExprF a a0 -> Int Source # elem :: Eq a0 => a0 -> FragExprF a a0 -> Bool Source # maximum :: Ord a0 => FragExprF a a0 -> a0 Source # minimum :: Ord a0 => FragExprF a a0 -> a0 Source # | |
Eq a => Eq1 (FragExprF a) Source # | |
Show a => Show1 (FragExprF a) Source # | |
Traversable (FragExprF a) Source # | |
Defined in Telomare traverse :: Applicative f => (a0 -> f b) -> FragExprF a a0 -> f (FragExprF a b) Source # sequenceA :: Applicative f => FragExprF a (f a0) -> f (FragExprF a a0) Source # mapM :: Monad m => (a0 -> m b) -> FragExprF a a0 -> m (FragExprF a b) Source # sequence :: Monad m => FragExprF a (m a0) -> m (FragExprF a a0) Source # | |
Functor (FragExprF a) Source # | |
newtype UnsizedRecursionToken Source #
Instances
data RecursionSimulationPieces a Source #
Instances
Instances
Generic LocTag Source # | |
Show LocTag Source # | |
NFData LocTag Source # | |
Eq LocTag Source # | |
Ord LocTag Source # | |
Defined in Telomare | |
type Rep LocTag Source # | |
Defined in Telomare type Rep LocTag = D1 ('MetaData "LocTag" "Telomare" "telomare-0.1.0.0-inplace" 'False) (C1 ('MetaCons "DummyLoc" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Loc" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) |
newtype FragExprUR Source #
Instances
Generic FragExprUR Source # | |
Defined in Telomare from :: FragExprUR -> Rep FragExprUR x Source # to :: Rep FragExprUR x -> FragExprUR Source # | |
Show FragExprUR Source # | |
NFData FragExprUR Source # | |
Defined in Telomare rnf :: FragExprUR -> () Source # | |
Eq FragExprUR Source # | |
Defined in Telomare (==) :: FragExprUR -> FragExprUR -> Bool Source # (/=) :: FragExprUR -> FragExprUR -> Bool Source # | |
type Rep FragExprUR Source # | |
Defined in Telomare type Rep FragExprUR = D1 ('MetaData "FragExprUR" "Telomare" "telomare-0.1.0.0-inplace" 'True) (C1 ('MetaCons "FragExprUR" 'PrefixI 'True) (S1 ('MetaSel ('Just "unFragExprUR") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Cofree (FragExprF (RecursionSimulationPieces FragExprUR)) LocTag)))) |
Term3 :: Map FragIndex (FragExpr BreakExtras) -> Term3
type BreakState' a b = BreakState a b (Cofree (FragExprF a) LocTag) Source #
data RunTimeError Source #
Instances
Show RunTimeError Source # | |
Eq RunTimeError Source # | |
Defined in Telomare (==) :: RunTimeError -> RunTimeError -> Bool Source # (/=) :: RunTimeError -> RunTimeError -> Bool Source # | |
Ord RunTimeError Source # | |
Defined in Telomare compare :: RunTimeError -> RunTimeError -> Ordering Source # (<) :: RunTimeError -> RunTimeError -> Bool Source # (<=) :: RunTimeError -> RunTimeError -> Bool Source # (>) :: RunTimeError -> RunTimeError -> Bool Source # (>=) :: RunTimeError -> RunTimeError -> Bool Source # max :: RunTimeError -> RunTimeError -> RunTimeError Source # min :: RunTimeError -> RunTimeError -> RunTimeError Source # |
class TelomareLike a where Source #
fromTelomare :: IExpr -> a Source #
toTelomare :: a -> Maybe IExpr Source #
Instances
TelomareLike NExprs Source # | |
Defined in Telomare.RunTime | |
TelomareLike IExpr Source # | |
Defined in Telomare.RunTime | |
TelomareLike Term3 Source # | |
TelomareLike Term4 Source # | |
TelomareLike ExpP Source # | |
Defined in Telomare.Eval | |
TelomareLike StuckExpr Source # | |
Defined in Telomare.Possible | |
TelomareLike UnsizedExpr Source # | |
Defined in Telomare.Possible fromTelomare :: IExpr -> UnsizedExpr Source # toTelomare :: UnsizedExpr -> Maybe IExpr Source # | |
TelomareLike (ExprT a) Source # | |
class TelomareLike a => AbstractRunTime a where Source #
Instances
completeLam :: IExpr -> IExpr Source #
deferF :: Show a => BreakState' a b -> BreakState' a b Source #
pairF :: BreakState' a b -> BreakState' a b -> BreakState' a b Source #
setEnvF :: BreakState' a b -> BreakState' a b Source #
appF :: (Show a, Enum b, Show b) => BreakState' a b -> BreakState' a b -> BreakState' a b Source #
lamF :: (Show a, Enum b) => BreakState' a b -> BreakState' a b Source #
clamF :: (Show a, Enum b) => BreakState' a b -> BreakState' a b Source #
innerChurchF :: LocTag -> Int -> BreakState' a b Source #
gateF :: BreakState' a b -> BreakState' a b -> BreakState' a b Source #
iteF :: BreakState' a b -> BreakState' a b -> BreakState' a b -> BreakState' a b Source #
repeatFunctionF :: (Show a, Enum b) => LocTag -> FragExpr a -> BreakState' a b Source #
unsizedRecursionWrapper :: UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken -> BreakState' RecursionPieceFrag UnsizedRecursionToken Source #
nextBreakToken :: (Enum b, Show b) => BreakState a b b Source #
buildFragMap :: BreakState' a b -> Map FragIndex (Cofree (FragExprF a) LocTag) Source #
pattern SecondArgA :: ExprA a Source #
pattern FourthArgA :: ExprA a Source #
pattern TwoArgFunA :: ExprA a -> a -> a -> ExprA a Source #
Instances
Show DataType Source # | |
Eq DataType Source # | |
Ord DataType Source # | |
Plated DataType Source # | |
data PartialType Source #
ZeroTypeP | |
AnyType | |
TypeVariable LocTag Int | |
ArrTypeP PartialType PartialType | |
PairTypeP PartialType PartialType |
Instances
Show PartialType Source # | |
Eq PartialType Source # | |
Defined in Telomare (==) :: PartialType -> PartialType -> Bool Source # (/=) :: PartialType -> PartialType -> Bool Source # | |
Ord PartialType Source # | |
Defined in Telomare compare :: PartialType -> PartialType -> Ordering Source # (<) :: PartialType -> PartialType -> Bool Source # (<=) :: PartialType -> PartialType -> Bool Source # (>) :: PartialType -> PartialType -> Bool Source # (>=) :: PartialType -> PartialType -> Bool Source # max :: PartialType -> PartialType -> PartialType Source # min :: PartialType -> PartialType -> PartialType Source # | |
Plated PartialType Source # | |
Defined in Telomare |
mergePairType :: DataType -> DataType Source #
containsFunction :: PartialType -> Bool Source #
cleanType :: PartialType -> Bool Source #
toIndExpr' :: IExpr -> IndExpr Source #
newtype FragExprURSansAnnotation Source #
Instances
Show FragExprURSansAnnotation Source # | |
Eq FragExprURSansAnnotation Source # | |
Defined in Telomare |
pattern AbortRecursion :: IExpr Source #
pattern AbortUnsizeable :: IExpr -> IExpr Source #
AST for patterns in `case` expressions
Instances
Instances
Foldable PatternF Source # | |
Defined in Telomare fold :: Monoid m => PatternF m -> m Source # foldMap :: Monoid m => (a -> m) -> PatternF a -> m Source # foldMap' :: Monoid m => (a -> m) -> PatternF a -> m Source # foldr :: (a -> b -> b) -> b -> PatternF a -> b Source # foldr' :: (a -> b -> b) -> b -> PatternF a -> b Source # foldl :: (b -> a -> b) -> b -> PatternF a -> b Source # foldl' :: (b -> a -> b) -> b -> PatternF a -> b Source # foldr1 :: (a -> a -> a) -> PatternF a -> a Source # foldl1 :: (a -> a -> a) -> PatternF a -> a Source # toList :: PatternF a -> [a] Source # null :: PatternF a -> Bool Source # length :: PatternF a -> Int Source # elem :: Eq a => a -> PatternF a -> Bool Source # maximum :: Ord a => PatternF a -> a Source # minimum :: Ord a => PatternF a -> a Source # | |
Traversable PatternF Source # | |
Defined in Telomare | |
Functor PatternF Source # | |
data UnprocessedParsedTerm Source #
Firstly parsed AST sans location annotations
Instances
data UnprocessedParsedTermF r Source #
VarUPF [Char] | |
ITEUPF r r r | |
LetUPF [([Char], r)] r | |
ListUPF [r] | |
IntUPF Int | |
StringUPF [Char] | |
PairUPF r r | |
AppUPF r r | |
LamUPF [Char] r | |
ChurchUPF Int | |
UnsizedRecursionUPF r r r | |
LeftUPF r | |
RightUPF r | |
TraceUPF r | |
CheckUPF r r | |
HashUPF r | |
CaseUPF r [(Pattern, r)] |
Instances
_CaseUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, [(Pattern, UnprocessedParsedTerm)]) Source #
_UnsizedRecursionUP :: Prism' UnprocessedParsedTerm (UnprocessedParsedTerm, UnprocessedParsedTerm, UnprocessedParsedTerm) Source #
_LetUP :: Prism' UnprocessedParsedTerm ([(String, UnprocessedParsedTerm)], UnprocessedParsedTerm) Source #