Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
pattern TLet :: Var v => Direction Word16 -> v -> Mem -> Term ANormalF v -> Term ANormalF v -> Term ANormalF v Source #
pattern TLetD :: Var v => v -> Mem -> Term ANormalF v -> Term ANormalF v -> Term ANormalF v Source #
pattern TLets :: Var v => Direction Word16 -> [v] -> [Mem] -> Term ANormalF v -> Term ANormalF v -> Term ANormalF v Source #
pattern TName :: Var v => v -> Either Reference v -> [v] -> Term ANormalF v -> Term ANormalF v Source #
data CompileExn Source #
Instances
Exception CompileExn Source # | |
Defined in Unison.Runtime.ANF toException :: CompileExn -> SomeException # fromException :: SomeException -> Maybe CompileExn # displayException :: CompileExn -> String # | |
Show CompileExn Source # | |
Defined in Unison.Runtime.ANF showsPrec :: Int -> CompileExn -> ShowS # show :: CompileExn -> String # showList :: [CompileExn] -> ShowS # |
internalBug :: HasCallStack => String -> a Source #
Instances
Foldable Direction Source # | |
Defined in Unison.Runtime.ANF fold :: Monoid m => Direction m -> m # foldMap :: Monoid m => (a -> m) -> Direction a -> m # foldMap' :: Monoid m => (a -> m) -> Direction a -> m # foldr :: (a -> b -> b) -> b -> Direction a -> b # foldr' :: (a -> b -> b) -> b -> Direction a -> b # foldl :: (b -> a -> b) -> b -> Direction a -> b # foldl' :: (b -> a -> b) -> b -> Direction a -> b # foldr1 :: (a -> a -> a) -> Direction a -> a # foldl1 :: (a -> a -> a) -> Direction a -> a # toList :: Direction a -> [a] # length :: Direction a -> Int # elem :: Eq a => a -> Direction a -> Bool # maximum :: Ord a => Direction a -> a # minimum :: Ord a => Direction a -> a # | |
Traversable Direction Source # | |
Functor Direction Source # | |
Semigroup a => Monoid (Direction a) Source # | |
Semigroup a => Semigroup (Direction a) Source # | |
Show a => Show (Direction a) Source # | |
Eq a => Eq (Direction a) Source # | |
Ord a => Ord (Direction a) Source # | |
Defined in Unison.Runtime.ANF |
data SuperNormal v Source #
Lambda | |
|
Instances
Show v => Show (SuperNormal v) Source # | |
Defined in Unison.Runtime.ANF showsPrec :: Int -> SuperNormal v -> ShowS # show :: SuperNormal v -> String # showList :: [SuperNormal v] -> ShowS # | |
Var v => Eq (SuperNormal v) Source # | |
Defined in Unison.Runtime.ANF (==) :: SuperNormal v -> SuperNormal v -> Bool # (/=) :: SuperNormal v -> SuperNormal v -> Bool # |
data SuperGroup v Source #
Rec | |
|
Instances
Show v => Show (SuperGroup v) Source # | |
Defined in Unison.Runtime.ANF showsPrec :: Int -> SuperGroup v -> ShowS # show :: SuperGroup v -> String # showList :: [SuperGroup v] -> ShowS # | |
Var v => Eq (SuperGroup v) Source # | |
Defined in Unison.Runtime.ANF (==) :: SuperGroup v -> SuperGroup v -> Bool # (/=) :: SuperGroup v -> SuperGroup v -> Bool # | |
BuiltinForeign (SuperGroup Symbol) Source # | |
Defined in Unison.Runtime.Foreign | |
ForeignConvention (SuperGroup Symbol) Source # | |
float :: Var v => Monoid a => Map v Reference -> Term v a -> (Term v a, Map Reference Reference, [(Reference, Term v a)], [(Reference, Term v a)]) Source #
floatGroup :: Var v => Monoid a => Map v Reference -> [(v, Term v a)] -> ([(v, Id)], [(Reference, Term v a)], [(Reference, Term v a)]) Source #
lamLift :: Var v => Monoid a => Map v Reference -> Term v a -> (Term v a, Map Reference Reference, [(Reference, Term v a)], [(Reference, Term v a)]) Source #
lamLiftGroup :: Var v => Monoid a => Map v Reference -> [(v, Term v a)] -> ([(v, Id)], [(Reference, Term v a)], [(Reference, Term v a)]) Source #
ALet (Direction Word16) [Mem] e e | |
AName (Either Reference v) [v] e | |
ALit Lit | |
ABLit Lit | |
AMatch v (Branched e) | |
AShift Reference e | |
AHnd [Reference] v e | |
AApp (Func v) [v] | |
AFrc v | |
AVar v |
pattern AApv :: v -> [v] -> ANormalF v e | |
pattern ACom :: Reference -> [v] -> ANormalF v e | |
pattern ACon :: Reference -> CTag -> [v] -> ANormalF v e | |
pattern AKon :: v -> [v] -> ANormalF v e | |
pattern AReq :: Reference -> CTag -> [v] -> ANormalF v e | |
pattern APrm :: POp -> [v] -> ANormalF v e | |
pattern AFOp :: FOp -> [v] -> ANormalF v e |
Partial GroupRef [Word64] [Value] | |
Data Reference Word64 [Word64] [Value] | |
Cont [Word64] [Value] Cont | |
BLit BLit |
Instances
MatchIntegral (EnumMap Word64 e) (Maybe e) | |
MatchText (Map Text e) (Maybe e) | |
MatchRequest (Map Reference (EnumMap CTag ([Mem], e))) e | |
MatchEmpty | |
MatchData Reference (EnumMap CTag ([Mem], e)) (Maybe e) | |
MatchSum (EnumMap Word64 ([Mem], e)) | |
MatchNumeric Reference (EnumMap Word64 e) (Maybe e) |
Instances
Foldable Branched Source # | |
Defined in Unison.Runtime.ANF fold :: Monoid m => Branched m -> m # foldMap :: Monoid m => (a -> m) -> Branched a -> m # foldMap' :: Monoid m => (a -> m) -> Branched a -> m # foldr :: (a -> b -> b) -> b -> Branched a -> b # foldr' :: (a -> b -> b) -> b -> Branched a -> b # foldl :: (b -> a -> b) -> b -> Branched a -> b # foldl' :: (b -> a -> b) -> b -> Branched a -> b # foldr1 :: (a -> a -> a) -> Branched a -> a # foldl1 :: (a -> a -> a) -> Branched a -> a # elem :: Eq a => a -> Branched a -> Bool # maximum :: Ord a => Branched a -> a # minimum :: Ord a => Branched a -> a # | |
Traversable Branched Source # | |
Functor Branched Source # | |
Show e => Show (Branched e) Source # | |
Eq e => Eq (Branched e) Source # | |
Instances
Foldable Func Source # | |
Defined in Unison.Runtime.ANF fold :: Monoid m => Func m -> m # foldMap :: Monoid m => (a -> m) -> Func a -> m # foldMap' :: Monoid m => (a -> m) -> Func a -> m # foldr :: (a -> b -> b) -> b -> Func a -> b # foldr' :: (a -> b -> b) -> b -> Func a -> b # foldl :: (b -> a -> b) -> b -> Func a -> b # foldl' :: (b -> a -> b) -> b -> Func a -> b # foldr1 :: (a -> a -> a) -> Func a -> a # foldl1 :: (a -> a -> a) -> Func a -> a # elem :: Eq a => a -> Func a -> Bool # maximum :: Ord a => Func a -> a # | |
Traversable Func Source # | |
Functor Func Source # | |
Show v => Show (Func v) Source # | |
Eq v => Eq (Func v) Source # | |
NumDefns (SuperGroup v) (SuperGroup v) | |
DefnConventions (SuperNormal v) (SuperNormal v) | |
Subterms (ANormal v) (ANormal v) |
equivocate :: Var v => SuperGroup v -> SuperGroup v -> Either (SGEqv v) () Source #
superNormalize :: Var v => Term v a -> SuperGroup v Source #
valueTermLinks :: Value -> [Reference] Source #
groupTermLinks :: Var v => SuperGroup v -> [Reference] Source #
foldGroupLinks :: (Monoid r, Var v) => (Bool -> Reference -> r) -> SuperGroup v -> r Source #
overGroupLinks :: Var v => (Bool -> Reference -> Reference) -> SuperGroup v -> SuperGroup v Source #
traverseGroupLinks :: (Applicative f, Var v) => (Bool -> Reference -> f Reference) -> SuperGroup v -> f (SuperGroup v) Source #
normalLinks :: (Applicative f, Var v) => (Bool -> Reference -> f Reference) -> SuperNormal v -> f (SuperNormal v) Source #
prettyGroup :: Var v => String -> SuperGroup v -> ShowS Source #
prettySuperNormal :: Var v => Int -> SuperNormal v -> ShowS Source #