unison-runtime-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Runtime.MCode

Synopsis

Documentation

data Args' Source #

Constructors

Arg1 !Int 
Arg2 !Int !Int 
ArgN !(PrimArray Int) 
ArgR !Int !Int 

Instances

Instances details
Show Args' Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> Args' -> ShowS #

show :: Args' -> String #

showList :: [Args'] -> ShowS #

data Args Source #

Constructors

ZArgs 
VArg1 !Int 
VArg2 !Int !Int 
VArgR !Int !Int 
VArgN !(PrimArray Int) 
VArgV !Int 

Instances

Instances details
Show Args Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> Args -> ShowS #

show :: Args -> String #

showList :: [Args] -> ShowS #

Eq Args Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: Args -> Args -> Bool #

(/=) :: Args -> Args -> Bool #

Ord Args Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: Args -> Args -> Ordering #

(<) :: Args -> Args -> Bool #

(<=) :: Args -> Args -> Bool #

(>) :: Args -> Args -> Bool #

(>=) :: Args -> Args -> Bool #

max :: Args -> Args -> Args #

min :: Args -> Args -> Args #

data RefNums Source #

Constructors

RN 

data MLit Source #

Constructors

MI !Int 
MN !Word64 
MC !Char 
MD !Double 
MT !Text 
MM !Referent 
MY !Reference 

Instances

Instances details
Show MLit Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> MLit -> ShowS #

show :: MLit -> String #

showList :: [MLit] -> ShowS #

Eq MLit Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: MLit -> MLit -> Bool #

(/=) :: MLit -> MLit -> Bool #

Ord MLit Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: MLit -> MLit -> Ordering #

(<) :: MLit -> MLit -> Bool #

(<=) :: MLit -> MLit -> Bool #

(>) :: MLit -> MLit -> Bool #

(>=) :: MLit -> MLit -> Bool #

max :: MLit -> MLit -> MLit #

min :: MLit -> MLit -> MLit #

data GInstr comb Source #

Instances

Instances details
Foldable GInstr Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fold :: Monoid m => GInstr m -> m #

foldMap :: Monoid m => (a -> m) -> GInstr a -> m #

foldMap' :: Monoid m => (a -> m) -> GInstr a -> m #

foldr :: (a -> b -> b) -> b -> GInstr a -> b #

foldr' :: (a -> b -> b) -> b -> GInstr a -> b #

foldl :: (b -> a -> b) -> b -> GInstr a -> b #

foldl' :: (b -> a -> b) -> b -> GInstr a -> b #

foldr1 :: (a -> a -> a) -> GInstr a -> a #

foldl1 :: (a -> a -> a) -> GInstr a -> a #

toList :: GInstr a -> [a] #

null :: GInstr a -> Bool #

length :: GInstr a -> Int #

elem :: Eq a => a -> GInstr a -> Bool #

maximum :: Ord a => GInstr a -> a #

minimum :: Ord a => GInstr a -> a #

sum :: Num a => GInstr a -> a #

product :: Num a => GInstr a -> a #

Traversable GInstr Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

traverse :: Applicative f => (a -> f b) -> GInstr a -> f (GInstr b) #

sequenceA :: Applicative f => GInstr (f a) -> f (GInstr a) #

mapM :: Monad m => (a -> m b) -> GInstr a -> m (GInstr b) #

sequence :: Monad m => GInstr (m a) -> m (GInstr a) #

Functor GInstr Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fmap :: (a -> b) -> GInstr a -> GInstr b #

(<$) :: a -> GInstr b -> GInstr a #

Show comb => Show (GInstr comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> GInstr comb -> ShowS #

show :: GInstr comb -> String #

showList :: [GInstr comb] -> ShowS #

Eq (GInstr comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: GInstr comb -> GInstr comb -> Bool #

(/=) :: GInstr comb -> GInstr comb -> Bool #

Ord (GInstr comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: GInstr comb -> GInstr comb -> Ordering #

(<) :: GInstr comb -> GInstr comb -> Bool #

(<=) :: GInstr comb -> GInstr comb -> Bool #

(>) :: GInstr comb -> GInstr comb -> Bool #

(>=) :: GInstr comb -> GInstr comb -> Bool #

max :: GInstr comb -> GInstr comb -> GInstr comb #

min :: GInstr comb -> GInstr comb -> GInstr comb #

type RInstr val = GInstr (RComb val) Source #

data GSection comb Source #

Constructors

App !Bool !(GRef comb) !Args 
Call !Bool !CombIx comb !Args 
Jump !Int !Args 
Match !Int !(GBranch comb) 
Yield !Args 
Ins !(GInstr comb) !(GSection comb) 
Let !(GSection comb) !CombIx !Int !(GSection comb) 
Die String 
Exit 
DMatch !(Maybe Reference) !Int !(GBranch comb) 
NMatch !(Maybe Reference) !Int !(GBranch comb) 
RMatch !Int !(GSection comb) !(EnumMap Word64 (GBranch comb)) 

Bundled Patterns

pattern MatchT :: Int -> GSection comb -> Map Text (GSection comb) -> GSection comb 
pattern MatchW :: Int -> GSection comb -> EnumMap Word64 (GSection comb) -> GSection comb 

Instances

Instances details
Foldable GSection Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fold :: Monoid m => GSection m -> m #

foldMap :: Monoid m => (a -> m) -> GSection a -> m #

foldMap' :: Monoid m => (a -> m) -> GSection a -> m #

foldr :: (a -> b -> b) -> b -> GSection a -> b #

foldr' :: (a -> b -> b) -> b -> GSection a -> b #

foldl :: (b -> a -> b) -> b -> GSection a -> b #

foldl' :: (b -> a -> b) -> b -> GSection a -> b #

foldr1 :: (a -> a -> a) -> GSection a -> a #

foldl1 :: (a -> a -> a) -> GSection a -> a #

toList :: GSection a -> [a] #

null :: GSection a -> Bool #

length :: GSection a -> Int #

elem :: Eq a => a -> GSection a -> Bool #

maximum :: Ord a => GSection a -> a #

minimum :: Ord a => GSection a -> a #

sum :: Num a => GSection a -> a #

product :: Num a => GSection a -> a #

Traversable GSection Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

traverse :: Applicative f => (a -> f b) -> GSection a -> f (GSection b) #

sequenceA :: Applicative f => GSection (f a) -> f (GSection a) #

mapM :: Monad m => (a -> m b) -> GSection a -> m (GSection b) #

sequence :: Monad m => GSection (m a) -> m (GSection a) #

Functor GSection Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fmap :: (a -> b) -> GSection a -> GSection b #

(<$) :: a -> GSection b -> GSection a #

Show comb => Show (GSection comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> GSection comb -> ShowS #

show :: GSection comb -> String #

showList :: [GSection comb] -> ShowS #

Eq comb => Eq (GSection comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: GSection comb -> GSection comb -> Bool #

(/=) :: GSection comb -> GSection comb -> Bool #

Ord comb => Ord (GSection comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: GSection comb -> GSection comb -> Ordering #

(<) :: GSection comb -> GSection comb -> Bool #

(<=) :: GSection comb -> GSection comb -> Bool #

(>) :: GSection comb -> GSection comb -> Bool #

(>=) :: GSection comb -> GSection comb -> Bool #

max :: GSection comb -> GSection comb -> GSection comb #

min :: GSection comb -> GSection comb -> GSection comb #

type RSection val = GSection (RComb val) Source #

data GComb val comb Source #

Constructors

Comb !(GCombInfo comb) 
CachedVal !Word64 !val 

Bundled Patterns

pattern Lam :: Int -> Int -> GSection comb -> GComb val comb 

Instances

Instances details
Bifoldable GComb Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

bifold :: Monoid m => GComb m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> GComb a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> GComb a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> GComb a b -> c #

Bifunctor GComb Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

bimap :: (a -> b) -> (c -> d) -> GComb a c -> GComb b d #

first :: (a -> b) -> GComb a c -> GComb b c #

second :: (b -> c) -> GComb a b -> GComb a c #

Bitraversable GComb Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> GComb a b -> f (GComb c d) #

Foldable (GComb val) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fold :: Monoid m => GComb val m -> m #

foldMap :: Monoid m => (a -> m) -> GComb val a -> m #

foldMap' :: Monoid m => (a -> m) -> GComb val a -> m #

foldr :: (a -> b -> b) -> b -> GComb val a -> b #

foldr' :: (a -> b -> b) -> b -> GComb val a -> b #

foldl :: (b -> a -> b) -> b -> GComb val a -> b #

foldl' :: (b -> a -> b) -> b -> GComb val a -> b #

foldr1 :: (a -> a -> a) -> GComb val a -> a #

foldl1 :: (a -> a -> a) -> GComb val a -> a #

toList :: GComb val a -> [a] #

null :: GComb val a -> Bool #

length :: GComb val a -> Int #

elem :: Eq a => a -> GComb val a -> Bool #

maximum :: Ord a => GComb val a -> a #

minimum :: Ord a => GComb val a -> a #

sum :: Num a => GComb val a -> a #

product :: Num a => GComb val a -> a #

Traversable (GComb val) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

traverse :: Applicative f => (a -> f b) -> GComb val a -> f (GComb val b) #

sequenceA :: Applicative f => GComb val (f a) -> f (GComb val a) #

mapM :: Monad m => (a -> m b) -> GComb val a -> m (GComb val b) #

sequence :: Monad m => GComb val (m a) -> m (GComb val a) #

Functor (GComb val) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fmap :: (a -> b) -> GComb val a -> GComb val b #

(<$) :: a -> GComb val b -> GComb val a #

(Show comb, Show val) => Show (GComb val comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> GComb val comb -> ShowS #

show :: GComb val comb -> String #

showList :: [GComb val comb] -> ShowS #

(Eq comb, Eq val) => Eq (GComb val comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: GComb val comb -> GComb val comb -> Bool #

(/=) :: GComb val comb -> GComb val comb -> Bool #

(Ord comb, Ord val) => Ord (GComb val comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: GComb val comb -> GComb val comb -> Ordering #

(<) :: GComb val comb -> GComb val comb -> Bool #

(<=) :: GComb val comb -> GComb val comb -> Bool #

(>) :: GComb val comb -> GComb val comb -> Bool #

(>=) :: GComb val comb -> GComb val comb -> Bool #

max :: GComb val comb -> GComb val comb -> GComb val comb #

min :: GComb val comb -> GComb val comb -> GComb val comb #

data GCombInfo comb Source #

Constructors

LamI !Int !Int !(GSection comb) 

Instances

Instances details
Foldable GCombInfo Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fold :: Monoid m => GCombInfo m -> m #

foldMap :: Monoid m => (a -> m) -> GCombInfo a -> m #

foldMap' :: Monoid m => (a -> m) -> GCombInfo a -> m #

foldr :: (a -> b -> b) -> b -> GCombInfo a -> b #

foldr' :: (a -> b -> b) -> b -> GCombInfo a -> b #

foldl :: (b -> a -> b) -> b -> GCombInfo a -> b #

foldl' :: (b -> a -> b) -> b -> GCombInfo a -> b #

foldr1 :: (a -> a -> a) -> GCombInfo a -> a #

foldl1 :: (a -> a -> a) -> GCombInfo a -> a #

toList :: GCombInfo a -> [a] #

null :: GCombInfo a -> Bool #

length :: GCombInfo a -> Int #

elem :: Eq a => a -> GCombInfo a -> Bool #

maximum :: Ord a => GCombInfo a -> a #

minimum :: Ord a => GCombInfo a -> a #

sum :: Num a => GCombInfo a -> a #

product :: Num a => GCombInfo a -> a #

Traversable GCombInfo Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

traverse :: Applicative f => (a -> f b) -> GCombInfo a -> f (GCombInfo b) #

sequenceA :: Applicative f => GCombInfo (f a) -> f (GCombInfo a) #

mapM :: Monad m => (a -> m b) -> GCombInfo a -> m (GCombInfo b) #

sequence :: Monad m => GCombInfo (m a) -> m (GCombInfo a) #

Functor GCombInfo Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fmap :: (a -> b) -> GCombInfo a -> GCombInfo b #

(<$) :: a -> GCombInfo b -> GCombInfo a #

Show comb => Show (GCombInfo comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> GCombInfo comb -> ShowS #

show :: GCombInfo comb -> String #

showList :: [GCombInfo comb] -> ShowS #

Eq comb => Eq (GCombInfo comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: GCombInfo comb -> GCombInfo comb -> Bool #

(/=) :: GCombInfo comb -> GCombInfo comb -> Bool #

Ord comb => Ord (GCombInfo comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: GCombInfo comb -> GCombInfo comb -> Ordering #

(<) :: GCombInfo comb -> GCombInfo comb -> Bool #

(<=) :: GCombInfo comb -> GCombInfo comb -> Bool #

(>) :: GCombInfo comb -> GCombInfo comb -> Bool #

(>=) :: GCombInfo comb -> GCombInfo comb -> Bool #

max :: GCombInfo comb -> GCombInfo comb -> GCombInfo comb #

min :: GCombInfo comb -> GCombInfo comb -> GCombInfo comb #

newtype RComb val Source #

The fixed point of a GComb where all references to a Comb are themselves Combs.

Constructors

RComb 

Fields

Instances

Instances details
Show (RComb val) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> RComb val -> ShowS #

show :: RComb val -> String #

showList :: [RComb val] -> ShowS #

type RCombInfo val = GCombInfo (RComb val) Source #

type GCombs val comb = EnumMap Word64 (GComb val comb) Source #

Map of combinators, parameterized by comb reference type

type RCombs val = GCombs val (RComb val) Source #

data CombIx Source #

Constructors

CIx !Reference !Word64 !Word64 

Instances

Instances details
Show CombIx Source # 
Instance details

Defined in Unison.Runtime.MCode

Eq CombIx Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: CombIx -> CombIx -> Bool #

(/=) :: CombIx -> CombIx -> Bool #

Ord CombIx Source # 
Instance details

Defined in Unison.Runtime.MCode

data GRef comb Source #

Constructors

Stk !Int 
Env !CombIx comb 
Dyn !Word64 

Instances

Instances details
Foldable GRef Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fold :: Monoid m => GRef m -> m #

foldMap :: Monoid m => (a -> m) -> GRef a -> m #

foldMap' :: Monoid m => (a -> m) -> GRef a -> m #

foldr :: (a -> b -> b) -> b -> GRef a -> b #

foldr' :: (a -> b -> b) -> b -> GRef a -> b #

foldl :: (b -> a -> b) -> b -> GRef a -> b #

foldl' :: (b -> a -> b) -> b -> GRef a -> b #

foldr1 :: (a -> a -> a) -> GRef a -> a #

foldl1 :: (a -> a -> a) -> GRef a -> a #

toList :: GRef a -> [a] #

null :: GRef a -> Bool #

length :: GRef a -> Int #

elem :: Eq a => a -> GRef a -> Bool #

maximum :: Ord a => GRef a -> a #

minimum :: Ord a => GRef a -> a #

sum :: Num a => GRef a -> a #

product :: Num a => GRef a -> a #

Traversable GRef Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

traverse :: Applicative f => (a -> f b) -> GRef a -> f (GRef b) #

sequenceA :: Applicative f => GRef (f a) -> f (GRef a) #

mapM :: Monad m => (a -> m b) -> GRef a -> m (GRef b) #

sequence :: Monad m => GRef (m a) -> m (GRef a) #

Functor GRef Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fmap :: (a -> b) -> GRef a -> GRef b #

(<$) :: a -> GRef b -> GRef a #

Show comb => Show (GRef comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> GRef comb -> ShowS #

show :: GRef comb -> String #

showList :: [GRef comb] -> ShowS #

Eq (GRef comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: GRef comb -> GRef comb -> Bool #

(/=) :: GRef comb -> GRef comb -> Bool #

Ord (GRef comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: GRef comb -> GRef comb -> Ordering #

(<) :: GRef comb -> GRef comb -> Bool #

(<=) :: GRef comb -> GRef comb -> Bool #

(>) :: GRef comb -> GRef comb -> Bool #

(>=) :: GRef comb -> GRef comb -> Bool #

max :: GRef comb -> GRef comb -> GRef comb #

min :: GRef comb -> GRef comb -> GRef comb #

type RRef val = GRef (RComb val) Source #

type Ref = GRef CombIx Source #

A reference to a combinator, parameterized by comb

data UPrim1 Source #

Instances

Instances details
Bounded UPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Enum UPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Show UPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Eq UPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: UPrim1 -> UPrim1 -> Bool #

(/=) :: UPrim1 -> UPrim1 -> Bool #

Ord UPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Tag UPrim1 Source # 
Instance details

Defined in Unison.Runtime.Serialize

data UPrim2 Source #

Instances

Instances details
Bounded UPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Enum UPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Show UPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Eq UPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: UPrim2 -> UPrim2 -> Bool #

(/=) :: UPrim2 -> UPrim2 -> Bool #

Ord UPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Tag UPrim2 Source # 
Instance details

Defined in Unison.Runtime.Serialize

data BPrim1 Source #

Instances

Instances details
Bounded BPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Enum BPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Show BPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Eq BPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: BPrim1 -> BPrim1 -> Bool #

(/=) :: BPrim1 -> BPrim1 -> Bool #

Ord BPrim1 Source # 
Instance details

Defined in Unison.Runtime.MCode

Tag BPrim1 Source # 
Instance details

Defined in Unison.Runtime.Serialize

data BPrim2 Source #

Instances

Instances details
Bounded BPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Enum BPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Show BPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Eq BPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: BPrim2 -> BPrim2 -> Bool #

(/=) :: BPrim2 -> BPrim2 -> Bool #

Ord BPrim2 Source # 
Instance details

Defined in Unison.Runtime.MCode

Tag BPrim2 Source # 
Instance details

Defined in Unison.Runtime.Serialize

data GBranch comb Source #

Constructors

Test1 !Word64 !(GSection comb) !(GSection comb) 
Test2 !Word64 !(GSection comb) !Word64 !(GSection comb) !(GSection comb) 
TestW !(GSection comb) !(EnumMap Word64 (GSection comb)) 
TestT !(GSection comb) !(Map Text (GSection comb)) 

Instances

Instances details
Foldable GBranch Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fold :: Monoid m => GBranch m -> m #

foldMap :: Monoid m => (a -> m) -> GBranch a -> m #

foldMap' :: Monoid m => (a -> m) -> GBranch a -> m #

foldr :: (a -> b -> b) -> b -> GBranch a -> b #

foldr' :: (a -> b -> b) -> b -> GBranch a -> b #

foldl :: (b -> a -> b) -> b -> GBranch a -> b #

foldl' :: (b -> a -> b) -> b -> GBranch a -> b #

foldr1 :: (a -> a -> a) -> GBranch a -> a #

foldl1 :: (a -> a -> a) -> GBranch a -> a #

toList :: GBranch a -> [a] #

null :: GBranch a -> Bool #

length :: GBranch a -> Int #

elem :: Eq a => a -> GBranch a -> Bool #

maximum :: Ord a => GBranch a -> a #

minimum :: Ord a => GBranch a -> a #

sum :: Num a => GBranch a -> a #

product :: Num a => GBranch a -> a #

Traversable GBranch Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

traverse :: Applicative f => (a -> f b) -> GBranch a -> f (GBranch b) #

sequenceA :: Applicative f => GBranch (f a) -> f (GBranch a) #

mapM :: Monad m => (a -> m b) -> GBranch a -> m (GBranch b) #

sequence :: Monad m => GBranch (m a) -> m (GBranch a) #

Functor GBranch Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

fmap :: (a -> b) -> GBranch a -> GBranch b #

(<$) :: a -> GBranch b -> GBranch a #

Show comb => Show (GBranch comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

showsPrec :: Int -> GBranch comb -> ShowS #

show :: GBranch comb -> String #

showList :: [GBranch comb] -> ShowS #

Eq comb => Eq (GBranch comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

(==) :: GBranch comb -> GBranch comb -> Bool #

(/=) :: GBranch comb -> GBranch comb -> Bool #

Ord comb => Ord (GBranch comb) Source # 
Instance details

Defined in Unison.Runtime.MCode

Methods

compare :: GBranch comb -> GBranch comb -> Ordering #

(<) :: GBranch comb -> GBranch comb -> Bool #

(<=) :: GBranch comb -> GBranch comb -> Bool #

(>) :: GBranch comb -> GBranch comb -> Bool #

(>=) :: GBranch comb -> GBranch comb -> Bool #

max :: GBranch comb -> GBranch comb -> GBranch comb #

min :: GBranch comb -> GBranch comb -> GBranch comb #

type RBranch val = GBranch (RComb val) Source #

resolveCombs :: Maybe (EnumMap Word64 (RCombs val)) -> EnumMap Word64 (GCombs val CombIx) -> EnumMap Word64 (RCombs val) Source #

lazily replace all references to combinators with the combinators themselves, tying the knot recursively when necessary.

sanitizeCombsOfForeignFuncs :: Bool -> Set ForeignFunc -> EnumMap Word64 (EnumMap Word64 (GComb Void CombIx)) -> EnumMap Word64 (EnumMap Word64 (GComb Void CombIx)) Source #

If running in a sandboxed environment, replace all restricted foreign functions with an error.

combDeps :: GComb val comb -> [Word64] Source #

combTypes :: GComb any comb -> [Word64] Source #

prettyComb :: (Show val, Show comb) => Word64 -> Word64 -> GComb val comb -> ShowS Source #