Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- builtinNames :: Set VarName
- standardBuiltinNames :: Set VarName
- additionalBuiltinNames :: Set VarName
- resolveUniqueBuiltin :: (MonadAlpha m, MonadError Error m) => VarName' -> m Expr'
- resolveBuiltin :: (MonadAlpha m, MonadError Error m) => VarName' -> Int -> m Expr'
- formatBuiltin :: Builtin -> String
- typeBuiltin :: Builtin -> Type
- mapTypeBuiltin :: (Type -> Type) -> Builtin -> Builtin
- attributeNames :: Set AttributeName
- resolveAttribute' :: (MonadAlpha m, MonadError Error m) => Attribute' -> m Attribute'
- resolveAttribute :: (MonadAlpha m, MonadError Error m) => Expr' -> Attribute' -> m Expr
- formatAttribute :: Attribute -> String
- typeAttribute :: Attribute -> (Type, Type)
- mapTypeAttribute :: (Type -> Type) -> Attribute -> Attribute
Documentation
resolveUniqueBuiltin :: (MonadAlpha m, MonadError Error m) => VarName' -> m Expr' Source #
resolveUniqueBuiltin
makes a builtin function from a variable name.
However, this doesn't anything for ambiguous builtin functions.
For example, the builtin function "max" is kept as a variable because it may be \(\mathbf{list}(\alpha) \to \alpha\), \(\alpha \times \alpha \to \alpha\), etc. and this function cannot resolve it.
resolveBuiltin :: (MonadAlpha m, MonadError Error m) => VarName' -> Int -> m Expr' Source #
formatBuiltin :: Builtin -> String Source #
typeBuiltin :: Builtin -> Type Source #
resolveAttribute' :: (MonadAlpha m, MonadError Error m) => Attribute' -> m Attribute' Source #
resolveAttribute :: (MonadAlpha m, MonadError Error m) => Expr' -> Attribute' -> m Expr Source #
formatAttribute :: Attribute -> String Source #