hunk ./hopes.cabal 41 - Other-Modules: Lexer, Parser, ParseUtils, - Syntax, Lang, Buildins, Types, - Tc, WellForm, TypeCheck, Restrict, + Other-Modules: Lexer, Parser, ParseUtils, Syntax, + Lang, Buildins, Types, + Tc, WellForm, TypeCheck, Restrict, hunk ./hopes.cabal 45 - Hopl, Logic, Infer, Subst, + Hopl, Logic, Logic.Class, Infer, Subst, KnowledgeBase, hunk ./src/Shell.hs 23 -import Driver -import KnowledgeBase -import Hopl -import Types -import Pretty -import Control.Monad.Error -import Control.Monad.State +import Driver (mkCom, dispatch, runDriverM, Command(..), CommandDesc(..), HopeEnv(..), userCommands) +import KnowledgeBase (clauses) +import Hopl (clauseHead) +import Types (unTyp) +import Pretty (ppr) +import Control.Monad.Error (catchError) +import Control.Monad.State (lift, liftIO, gets) hunk ./src/Shell.hs 31 -import System.Console.Haskeline +import System.Console.Haskeline (getInputLine, setComplete, defaultSettings, completeWord, simpleCompletion, InputT, runInputT) hunk ./src/Shell.hs 33 --- import Control.Monad.State hunk ./src/Shell.hs 76 -completePredicates = -- completeQuotedWord Nothing "\'" listPredicates $ +completePredicates = -- completeQuotedWord Nothing "\'" listPredicates $ hunk ./src/Shell.hs 79 -listPredicates s = - let predicates kb = nub $ map (show.ppr.unTyp.clauseHead) $ clauses kb +listPredicates s = + let predicates kb = nub $ map (show.ppr.unTyp.clauseHead) $ clauses kb hunk ./src/basic/Types.hs 21 -import Data.IORef -- that's ugly +import Data.IORef (IORef) -- that's ugly hunk ./src/basic/Types.hs 110 -order a = +order a = hunk ./src/basic/Types.hs 118 -arity a = +arity a = hunk ./src/checker/Tc.hs 21 -import Control.Monad.Reader -import Control.Monad.State +import Control.Monad.Reader (ReaderT, runReaderT, local, asks) +import Control.Monad.State (StateT, runStateT, modify, gets) hunk ./src/checker/Tc.hs 24 -import Loc +import Loc (MonadLoc, getLoc, loc, HasLocation, locSpan, unLoc) hunk ./src/checker/Tc.hs 26 - hunk ./src/checker/Tc.hs 30 -import Data.IORef +import Data.IORef (newIORef, readIORef, writeIORef) hunk ./src/checker/Tc.hs 34 - TcEnv { + TcEnv { hunk ./src/checker/Tc.hs 39 -data TcState = +data TcState = hunk ./src/checker/Tc.hs 61 -recoverTc main recov = +recoverTc main recov = hunk ./src/checker/Tc.hs 95 - case maybet of + case maybet of hunk ./src/checker/Tc.hs 100 -normEnv = +normEnv = hunk ./src/checker/Tc.hs 114 - Just t -> do + Just t -> do hunk ./src/checker/Tc.hs 154 -data Context = +data Context = hunk ./src/desugar/Desugar.hs 25 -import Types -import Loc -import Control.Monad.Reader -import Control.Monad.State +import Types (TyEnv, Typed, tyAll, typed, order, typeOf, MonoTypeV(..)) +import Loc (unLoc, Located(..)) +import Control.Monad.Reader (ReaderT, runReaderT, local, asks) +import Control.Monad.State (StateT, evalStateT, get, modify) hunk ./src/desugar/Desugar.hs 115 - (l:_) -> + (l:_) -> hunk ./src/desugar/Desugar.hs 119 - Just ty -> - case ty of + Just ty -> + case ty of hunk ./src/desugar/Desugar.hs 132 -freshVar :: (MonadState Int m, Monad m, Symbol a) => m a +-- freshVar :: (MonadState Int m, Monad m, Symbol a) => m a hunk ./src/desugar/Desugar.hs 137 - + hunk ./src/parser/Lexer.hs 18 -module Lexer where +module Lexer (lexer) +where hunk ./src/parser/Lexer.hs 21 -import Loc -import ParseUtils +import Loc (Loc(..), Located, located, getLocSpan, spanEnd) +import ParseUtils (ParserT, ParserInput, Token(..), getInput, setInput, setTok, parseErrorWithLoc) hunk ./src/parser/Lexer.hs 24 -import Pretty +import Pretty (sep,text,quotes,char) hunk ./src/parser/Lexer.hs 56 -data ScanResult = +data ScanResult = hunk ./src/parser/Lexer.hs 58 - | TokEnd + | TokEnd hunk ./src/parser/Lexer.hs 100 -scanSkip inp lo = +scanSkip inp lo = hunk ./src/parser/ParseUtils.hs 110 -parseErrorWithLoc loc msg = +parseErrorWithLoc loc msg = hunk ./src/parser/ParseUtils.hs 144 -mkSrc stmts = +mkSrc stmts = hunk ./src/parser/ParseUtils.hs 160 -mkQuantForm xs ys = +mkQuantForm xs ys = hunk ./src/parser/ParseUtils.hs 177 -mkList elems tl = +mkList elems tl = hunk ./src/parser/ParseUtils.hs 218 - [t] -> return t + [t] -> return t hunk ./src/parser/Parser.y 29 - module Parser, - module ParseUtils + parseSrc, parseGoal, runParser, withInput, fromFile hunk ./src/parser/Parser.y 32 -import Lexer +import Loc (Located(..), located, unLoc, bogusLoc) +import Lexer (lexer) hunk ./src/parser/Parser.y 35 -import Types -import Loc +import Types (unTyp, TySig, Type) hunk ./src/parser/Parser.y 40 -%token +%token hunk ./src/parser/Parser.y 70 -%% +%% hunk ./hopes.cabal 7 -Author: Angelos Charalambidis +Author: Angelos Charalambidis hunk ./hopes.cabal 18 + pl/examples/*.pl hunk ./hopes.cabal 21 - + AUTHORS + COPYING hunk ./src/checker/Restrict.hs 21 -import Tc -import TypeCheck hunk ./src/checker/Restrict.hs 22 +import Tc +import TypeCheck (tiExpr, tcExpr) hunk ./src/checker/Restrict.hs 99 - restrictHead f + restrictHead f hunk ./src/checker/Restrict.hs 150 -predInHeadErr preds = +predInHeadErr preds = hunk ./src/checker/Restrict.hs 157 -varInHead var = - typeError (sep ([text "Bounded variable:", +varInHead var = + typeError (sep ([text "Bounded variable:", hunk ./src/checker/Tc.hs 21 -import Control.Monad.Reader (ReaderT, runReaderT, local, asks) -import Control.Monad.State (StateT, runStateT, modify, gets) - hunk ./src/checker/Tc.hs 23 -import Syntax -import Lang +import Syntax (LHpExpr, LHpClause, HpSymbol, isFact) +import Lang (rigids) hunk ./src/checker/Tc.hs 28 - +import Control.Monad.Reader (ReaderT, runReaderT, local, asks) +import Control.Monad.State (StateT, runStateT, modify, gets) hunk ./src/checker/TypeCheck.hs 19 -module TypeCheck where +module TypeCheck (tcProg,tcExpr, tiExpr, tcForm) where hunk ./src/checker/TypeCheck.hs 198 - Just ty -> do + Just ty -> do hunk ./src/checker/TypeCheck.hs 211 - let desc = hang (text "Could not match types:") 4 - (vcat [ text "Inferred:" <+> ppr inf_ty', + let desc = hang (text "Could not match types:") 4 + (vcat [ text "Inferred:" <+> ppr inf_ty', hunk ./src/checker/WellForm.hs 19 -module WellForm where +module WellForm (wfp, wfg) where hunk ./src/checker/WellForm.hs 25 -import TypeCheck -import Restrict +import TypeCheck (tcProg, tcForm) +import Restrict (restrictProg, restrictForm) hunk ./src/checker/WellForm.hs 53 -zonkEnv env = +zonkEnv env = hunk ./src/checker/WellForm.hs 71 -normSrc p = do +normSrc p = do hunk ./hopes.cabal 28 - Build-Depends: haskell98, mtl, haskeline + Build-Depends: base, mtl, haskeline hunk ./src/Driver.hs 32 -import System(exitWith, ExitCode(..)) +import System.Exit(exitWith, ExitCode(..)) hunk ./src/Shell.hs 20 -import List(find,nub) -import Data.List(isPrefixOf) -import Char(isSpace) +import Data.List(find,nub,isPrefixOf) +import Data.Char(isSpace) hunk ./src/basic/Pretty.hs 29 -import List (nub) +import Data.List (nub) +-- import List (nub) hunk ./src/basic/Syntax.hs 24 -import List (find) +import Data.List (find) hunk ./src/basic/Types.hs 20 -import List (nub) +-- import List (nub) +import Data.List (nub) hunk ./src/checker/Restrict.hs 27 -import Monad (when) -import List (partition) -import Maybe (catMaybes) +import Control.Monad (when) +import Data.List (partition) +import Data.Maybe (catMaybes) hunk ./src/checker/TypeCheck.hs 30 -import Monad (mapAndUnzipM, when) +import Control.Monad (mapAndUnzipM, when) hunk ./src/parser/Lexer.hs 23 -import Char (isSpace, isUpper, isLower, isDigit, isAlpha) +import Data.Char (isSpace, isUpper, isLower, isDigit, isAlpha) hunk ./src/parser/ParseUtils.hs 27 -import Char (isUpper) -import List (partition, nub) +import Data.Char (isUpper) +import Data.List (partition, nub)