Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- data BuiltinMatcherLike uni fun = BuiltinMatcherLike {
- _bmlSplitMatchContext ∷ ∀ tyname name a. Prism' (AppContext tyname name uni fun a) (SplitMatchContext tyname name uni fun a)
- _bmlBranchArities ∷ [Arity]
- bmlSplitMatchContext ∷ ∀ uni fun p tyname name a f. (Choice p, Applicative f) ⇒ Getter (BuiltinMatcherLike uni fun) (p (SplitMatchContext tyname name uni fun a) (f (SplitMatchContext tyname name uni fun a)) → p (AppContext tyname name uni fun a) (f (AppContext tyname name uni fun a)))
- bmlBranchArities ∷ ∀ uni fun. Lens' (BuiltinMatcherLike uni fun) [Arity]
- defaultUniMatcherLike ∷ Map DefaultFun (BuiltinMatcherLike DefaultUni DefaultFun)
- data BuiltinsInfo (uni ∷ Type → Type) fun = BuiltinsInfo {
- _biSemanticsVariant ∷ BuiltinSemanticsVariant fun
- _biMatcherLike ∷ Map fun (BuiltinMatcherLike uni fun)
- _biUnserializableConstants ∷ Some (ValueOf uni) → Bool
- biSemanticsVariant ∷ ∀ uni fun. Lens' (BuiltinsInfo uni fun) (BuiltinSemanticsVariant fun)
- biMatcherLike ∷ ∀ uni fun. Lens' (BuiltinsInfo uni fun) (Map fun (BuiltinMatcherLike uni fun))
- biUnserializableConstants ∷ ∀ uni fun. Lens' (BuiltinsInfo uni fun) (Some (ValueOf uni) → Bool)
- builtinArityInfo ∷ ∀ uni fun. ToBuiltinMeaning uni fun ⇒ BuiltinsInfo uni fun → fun → Arity
- constantIsSerializable ∷ ∀ uni fun. BuiltinsInfo uni fun → Some (ValueOf uni) → Bool
- termIsSerializable ∷ BuiltinsInfo uni fun → Term tyname name uni fun a → Bool
- asBuiltinDatatypeMatch ∷ Ord fun ⇒ BuiltinsInfo uni fun → fun → Maybe (APrism' (AppContext tyname name uni fun a) (SplitMatchContext tyname name uni fun a))
- builtinDatatypeMatchBranchArities ∷ Ord fun ⇒ BuiltinsInfo uni fun → fun → Maybe [Arity]
- defaultUniUnserializableConstants ∷ Some (ValueOf DefaultUni) → Bool
Documentation
data BuiltinMatcherLike uni fun Source #
The information we need to work with a builtin that is like a datatype matcher.
BuiltinMatcherLike | |
|
bmlSplitMatchContext ∷ ∀ uni fun p tyname name a f. (Choice p, Applicative f) ⇒ Getter (BuiltinMatcherLike uni fun) (p (SplitMatchContext tyname name uni fun a) (f (SplitMatchContext tyname name uni fun a)) → p (AppContext tyname name uni fun a) (f (AppContext tyname name uni fun a))) Source #
bmlBranchArities ∷ ∀ uni fun. Lens' (BuiltinMatcherLike uni fun) [Arity] Source #
data BuiltinsInfo (uni ∷ Type → Type) fun Source #
All non-static information about builtins that the compiler might want.
BuiltinsInfo | |
|
Instances
biSemanticsVariant ∷ ∀ uni fun. Lens' (BuiltinsInfo uni fun) (BuiltinSemanticsVariant fun) Source #
biMatcherLike ∷ ∀ uni fun. Lens' (BuiltinsInfo uni fun) (Map fun (BuiltinMatcherLike uni fun)) Source #
biUnserializableConstants ∷ ∀ uni fun. Lens' (BuiltinsInfo uni fun) (Some (ValueOf uni) → Bool) Source #
builtinArityInfo ∷ ∀ uni fun. ToBuiltinMeaning uni fun ⇒ BuiltinsInfo uni fun → fun → Arity Source #
Get the arity of a builtin function from the BuiltinInfo
.
constantIsSerializable ∷ ∀ uni fun. BuiltinsInfo uni fun → Some (ValueOf uni) → Bool Source #
termIsSerializable ∷ BuiltinsInfo uni fun → Term tyname name uni fun a → Bool Source #
asBuiltinDatatypeMatch ∷ Ord fun ⇒ BuiltinsInfo uni fun → fun → Maybe (APrism' (AppContext tyname name uni fun a) (SplitMatchContext tyname name uni fun a)) Source #
Split a builtin match
.
builtinDatatypeMatchBranchArities ∷ Ord fun ⇒ BuiltinsInfo uni fun → fun → Maybe [Arity] Source #
Get the branch arities for a builtin match
.