idris-0.9.15: Functional Programming Language with Dependent Types

Safe HaskellNone

Idris.AbsSyntax

Contents

Synopsis

Documentation

forCodegen :: Codegen -> [(Codegen, a)] -> [a]Source

addObjectFile :: Codegen -> FilePath -> Idris ()Source

getLibs :: Codegen -> Idris [String]Source

addLib :: Codegen -> String -> Idris ()Source

addFlag :: Codegen -> String -> Idris ()Source

addDyLib :: [String] -> Idris (Either DynamicLib String)Source

addAutoImport :: FilePath -> Idris ()Source

addHdr :: Codegen -> String -> Idris ()Source

addImported :: FilePath -> Idris ()Source

addFunctionErrorHandlers :: Name -> Name -> [Name] -> Idris ()Source

Adds error handlers for a particular function and argument. If names are ambiguous, all matching handlers are updated.

addInstance :: Bool -> Name -> Name -> Idris ()Source

getHdrs :: Codegen -> Idris [String]Source

getImported :: Idris [FilePath]Source

getSO :: Idris (Maybe String)Source

setSO :: Maybe String -> Idris ()Source

withContext :: (IState -> Ctxt a) -> Name -> b -> (a -> Idris b) -> Idris bSource

withContext_ :: (IState -> Ctxt a) -> Name -> (a -> Idris ()) -> Idris ()Source

runIO :: IO a -> Idris aSource

A version of liftIO that puts errors into the exception type of the Idris monad

addInternalApp :: FilePath -> Int -> PTerm -> Idris ()Source

getInternalApp :: FilePath -> Int -> Idris PTermSource

addDeferred :: [(Name, (Int, Maybe Name, Type, Bool))] -> Idris ()Source

addDeferredTyCon :: [(Name, (Int, Maybe Name, Type, Bool))] -> Idris ()Source

addDeferred' :: NameType -> [(Name, (Int, Maybe Name, Type, Bool))] -> Idris ()Source

isetPrompt :: String -> Idris ()Source

isetLoadedRegion :: Idris ()Source

Tell clients how much was parsed and loaded

getDumpDefun :: Idris (Maybe FilePath)Source

getDumpCases :: Idris (Maybe FilePath)Source

setREPL :: Bool -> Idris ()Source

setNoBanner :: Bool -> Idris ()Source

setQuiet :: Bool -> Idris ()Source

setIdeSlave :: Bool -> Handle -> Idris ()Source

setTargetCPU :: String -> Idris ()Source

setVerbose :: Bool -> Idris ()Source

setCoverage :: Bool -> Idris ()Source

setIBCSubDir :: FilePath -> Idris ()Source

addImportDir :: FilePath -> Idris ()Source

setImportDirs :: [FilePath] -> Idris ()Source

setImpShow :: Bool -> Idris ()Source

logLvl :: Int -> String -> Idris ()Source

iLOG :: String -> Idris ()Source

setTypeCase :: Bool -> Idris ()Source

expandParams :: (Name -> Name) -> [(Name, PTerm)] -> [Name] -> [Name] -> PTerm -> PTermSource

expandParamsD :: Bool -> IState -> (Name -> Name) -> [(Name, PTerm)] -> [Name] -> PDecl -> PDeclSource

mapsnd :: (t -> t2) -> (t1, t) -> (t1, t2)Source

if it's just a type variable or concrete type, do it early (0)

if there's only type variables and injective constructors, do it next (1)

if there's a function type, next (2)

finally, everything else (3)

addImpl :: IState -> PTerm -> PTermSource

Add the implicit arguments to applications in the term

addImpl' :: Bool -> [Name] -> [Name] -> IState -> PTerm -> PTermSource

aiFn :: Bool -> Bool -> Bool -> IState -> FC -> Name -> [[Text]] -> [PArg] -> Either Err PTermSource

mkPApp :: FC -> Int -> PTerm -> [PArg] -> PTermSource

findStatics :: IState -> PTerm -> (PTerm, [Bool])Source

data EitherErr a b Source

Constructors

LeftErr a 
RightOK b 

Instances

Monad (EitherErr a) 
Functor (EitherErr a) 
Applicative (EitherErr a) 

toEither :: EitherErr a b -> Either a bSource

matchClause' :: Bool -> IState -> PTerm -> PTerm -> Either (PTerm, PTerm) [(Name, PTerm)]Source