-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A functional programming language focused around maps. -- -- Please see README.md @package mappy @version 0.1.0.2 module Paths_mappy version :: Version getBinDir :: IO FilePath getLibDir :: IO FilePath getDataDir :: IO FilePath getLibexecDir :: IO FilePath getDataFileName :: FilePath -> IO FilePath getSysconfDir :: IO FilePath module Language.Primitives.IoAble class IoAble a stringify :: IoAble a => a -> String meansPrint :: IoAble a => a -> Bool module Language.Primitives.Io data Io Io :: Io ioInsert :: IoAble a => a -> a -> () instance GHC.Classes.Ord Language.Primitives.Io.Io instance GHC.Show.Show Language.Primitives.Io.Io instance GHC.Classes.Eq Language.Primitives.Io.Io module Language.Error data Error a MainNotFound :: Error a RepeatedDefinition :: String -> Error a NameNotDefined :: String -> Error a WrongNumberOfArguments :: String -> Int -> Int -> Error a KeyNotFound :: a -> Error a GiveCalledOnNonMap :: a -> a -> a -> Error a TakeCalledOnNonMap :: String -> a -> a -> Error a singleError :: a -> Either [a] b instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Error.Error a) instance GHC.Show.Show a => GHC.Show.Show (Language.Error.Error a) module Language.Primitives.Map newtype UnifiedMap a UnifiedMap :: (Map a a) -> UnifiedMap a data PrimitiveMap a IoMap :: Io -> PrimitiveMap a StandardMap :: (Map a a) -> PrimitiveMap a lookup :: Ord a => a -> PrimitiveMap a -> Maybe a findWithDefault :: Ord a => a -> a -> PrimitiveMap a -> a insert :: (IoAble a, Ord a) => a -> a -> PrimitiveMap a -> PrimitiveMap a instance GHC.Classes.Ord a => GHC.Classes.Ord (Language.Primitives.Map.PrimitiveMap a) instance GHC.Show.Show a => GHC.Show.Show (Language.Primitives.Map.PrimitiveMap a) instance GHC.Classes.Eq a => GHC.Classes.Eq (Language.Primitives.Map.PrimitiveMap a) module Language.Ast data Definition MappyDef :: Expression -> Expression -> Definition DefSugar :: SugaredDefinition -> Definition data Expression MappyMap :: (PrimitiveMap Expression) -> Expression MappyApp :: Expression -> [Expression] -> Expression MappyLambda :: [Expression] -> Expression -> Expression MappyClosure :: [Expression] -> Expression -> [(Expression, Expression)] -> Expression MappyKeyword :: String -> Expression MappyNamedValue :: String -> Expression MappyLazyArgument :: String -> Expression ExprSugar :: SugaredExpression -> Expression data PrimitiveMap a IoMap :: Io -> PrimitiveMap a StandardMap :: (Map a a) -> PrimitiveMap a data SugaredDefinition SugaredFnDefinition :: Expression -> [Expression] -> Expression -> SugaredDefinition data SugaredExpression SugaredLet :: [Definition] -> Expression -> SugaredExpression SugaredList :: [Expression] -> SugaredExpression pretty :: Expression -> String instance GHC.Classes.Ord Language.Ast.SugaredDefinition instance GHC.Show.Show Language.Ast.SugaredDefinition instance GHC.Classes.Eq Language.Ast.SugaredDefinition instance GHC.Classes.Ord Language.Ast.Definition instance GHC.Show.Show Language.Ast.Definition instance GHC.Classes.Eq Language.Ast.Definition instance GHC.Classes.Ord Language.Ast.SugaredExpression instance GHC.Show.Show Language.Ast.SugaredExpression instance GHC.Classes.Eq Language.Ast.SugaredExpression instance GHC.Classes.Ord Language.Ast.Expression instance GHC.Show.Show Language.Ast.Expression instance GHC.Classes.Eq Language.Ast.Expression instance Language.Primitives.IoAble.IoAble Language.Ast.Expression module Language.Desugar desugarEachDef :: Definition -> Definition desugarDef :: SugaredDefinition -> Definition desugarExpr :: Expression -> Expression defsToLambda :: [Definition] -> Expression -> Expression module Language.Parser parseFile :: String -> Either ParseError [Definition] defOrExpr :: Parser (Maybe (Either Definition Expression)) file :: Parser [Definition] lineComment :: Parser () expression :: Parser Expression definition :: Parser Definition valueDefinition :: Expression -> Parser Definition functionDefinition :: Expression -> Parser Definition specialForm :: Parser Expression list :: Parser Expression letExpression :: Parser Expression lazyArgument :: Parser Expression lambda :: Parser Expression namesEndingWith :: Parser a -> Parser [Expression] pairs :: Parser (Map Expression Expression) map' :: Parser Expression application :: Parser Expression identifier :: Parser String keyword :: Parser Expression namedValue :: Parser Expression whiteSpace :: Parser String module Language.Primitives primitives :: [(Expression, Expression)] module Language.Executor type FullyEvaluated = Either [Error Expression] Expression type Env = [(Expression, Expression)] validatePreExec :: [Definition] -> Either [Error Expression] (Env, Expression) exec :: [Definition] -> FullyEvaluated eval :: Env -> Expression -> FullyEvaluated evalMap :: (Expression -> FullyEvaluated) -> PrimitiveMap Expression -> FullyEvaluated apply :: Env -> Expression -> [Expression] -> FullyEvaluated apply' :: Env -> Expression -> [Expression] -> FullyEvaluated applyNonPrim :: [Expression] -> Env -> Expression -> Either [Error Expression] Expression assertMap :: String -> Expression -> Expression -> Either [Error Expression] Expression extendEnvironment :: [Expression] -> [Expression] -> Env -> Either [Error Expression] Env checkAgainstRepeatedDefs :: [Definition] -> Either [Error Expression] [Definition] initialEnvironment :: [Definition] -> Either [Error Expression] (Env, Expression) module Mappy readMappyFile :: String -> IO [Definition] module Repl repl :: IO ()