mueval 0.9.1.1.2 → 0.9.3
raw patch · 4 files changed
+44/−20 lines, 4 filesdep ~basedep ~hintnew-uploaderPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, hint
API changes (from Hackage documentation)
- Mueval.ArgsParse: expression :: Options -> String
- Mueval.ArgsParse: extensions :: Options -> Bool
- Mueval.ArgsParse: getOptions :: [String] -> Either (Bool, String) Options
- Mueval.ArgsParse: help :: Options -> Bool
- Mueval.ArgsParse: instance Show Options
- Mueval.ArgsParse: loadFile :: Options -> String
- Mueval.ArgsParse: modules :: Options -> Maybe [String]
- Mueval.ArgsParse: namedExtensions :: Options -> [String]
- Mueval.ArgsParse: noImports :: Options -> Bool
- Mueval.ArgsParse: packageTrust :: Options -> Bool
- Mueval.ArgsParse: printType :: Options -> Bool
- Mueval.ArgsParse: rLimits :: Options -> Bool
- Mueval.ArgsParse: timeLimit :: Options -> Int
- Mueval.ArgsParse: trustedPackages :: Options -> [String]
- Mueval.ArgsParse: typeOnly :: Options -> Bool
- Mueval.ArgsParse: user :: Options -> String
+ Mueval.ArgsParse: [expression] :: Options -> String
+ Mueval.ArgsParse: [extensions] :: Options -> Bool
+ Mueval.ArgsParse: [help] :: Options -> Bool
+ Mueval.ArgsParse: [loadFile] :: Options -> String
+ Mueval.ArgsParse: [modules] :: Options -> Maybe [String]
+ Mueval.ArgsParse: [namedExtensions] :: Options -> [String]
+ Mueval.ArgsParse: [noImports] :: Options -> Bool
+ Mueval.ArgsParse: [packageTrust] :: Options -> Bool
+ Mueval.ArgsParse: [printType] :: Options -> Bool
+ Mueval.ArgsParse: [rLimits] :: Options -> Bool
+ Mueval.ArgsParse: [timeLimit] :: Options -> Int
+ Mueval.ArgsParse: [trustedPackages] :: Options -> [String]
+ Mueval.ArgsParse: [typeOnly] :: Options -> Bool
+ Mueval.ArgsParse: [user] :: Options -> String
+ Mueval.ArgsParse: instance GHC.Show.Show Mueval.ArgsParse.Options
+ Mueval.Interpreter: glasgowExtensions :: [Extension]
Files
- Mueval/ArgsParse.hs +1/−14
- Mueval/Interpreter.hs +39/−2
- main.hs +2/−2
- mueval.cabal +2/−2
Mueval/ArgsParse.hs view
@@ -1,5 +1,4 @@-{-# LANGUAGE CPP #-}-module Mueval.ArgsParse (Options(..), interpreterOpts, getOptions) where+module Mueval.ArgsParse (Options(..), interpreterOpts) where import Control.Monad (liftM) import System.Console.GetOpt@@ -98,15 +97,3 @@ header :: String header = "Usage: mueval [OPTION...] --expression EXPRESSION..."---- | Just give us the end result options; this parsing for--- us. Bonus points for handling UTF.-getOptions :: [String] -> Either (Bool, String) Options-getOptions = interpreterOpts . map decodeString--decodeString :: String -> String-#if __GLASGOW_HASKELL__ >= 702-decodeString = id-#else-decodeString = Codec.decodeString-#endif
Mueval/Interpreter.hs view
@@ -18,8 +18,8 @@ import Data.List import Language.Haskell.Interpreter (eval, set, reset, setImportsQ, loadModules, liftIO,- installedModulesInScope, languageExtensions,- typeOf, setTopLevelModules, runInterpreter, glasgowExtensions,+ installedModulesInScope, languageExtensions, availableExtensions,+ typeOf, setTopLevelModules, runInterpreter, OptionVal(..), Interpreter, InterpreterError(..),GhcError(..), Extension(UnknownExtension))@@ -177,3 +177,40 @@ \(E.SomeException e) -> return . Exception . toStream . show $ e where uncons [] = End uncons (x:xs) = x `seq` Cons x (toStream xs)++-- Copied from old hint, removed from hint since 0.5.0.+glasgowExtensions :: [Extension]+glasgowExtensions = intersect availableExtensions exts612 -- works also for 608 and 610+ where exts612 = map readExt ["PrintExplicitForalls",+ "ForeignFunctionInterface",+ "UnliftedFFITypes",+ "GADTs",+ "ImplicitParams",+ "ScopedTypeVariables",+ "UnboxedTuples",+ "TypeSynonymInstances",+ "StandaloneDeriving",+ "DeriveDataTypeable",+ "FlexibleContexts",+ "FlexibleInstances",+ "ConstrainedClassMethods",+ "MultiParamTypeClasses",+ "FunctionalDependencies",+ "MagicHash",+ "PolymorphicComponents",+ "ExistentialQuantification",+ "UnicodeSyntax",+ "PostfixOperators",+ "PatternGuards",+ "LiberalTypeSynonyms",+ "ExplicitForAll",+ "RankNTypes",+ "ImpredicativeTypes",+ "TypeOperators",+ "RecursiveDo",+ "DoRec",+ "ParallelListComp",+ "EmptyDataDecls",+ "KindSignatures",+ "GeneralizedNewtypeDeriving",+ "TypeFamilies" ]
main.hs view
@@ -5,13 +5,13 @@ module Main (main) where import Mueval.Parallel-import Mueval.ArgsParse (getOptions)+import Mueval.ArgsParse (interpreterOpts) import System.Environment import System.Exit main :: IO () main = do args <- getArgs -- force parse errors in main's thread- case getOptions args of+ case interpreterOpts args of Left (n,s) -> putStrLn s >> if n then exitSuccess else exitFailure Right opts -> forkedMain $! opts
mueval.cabal view
@@ -1,5 +1,5 @@ name: mueval-version: 0.9.1.1.2+version: 0.9.3 license: BSD3 license-file: LICENSE@@ -31,7 +31,7 @@ library exposed-modules: Mueval.Parallel, Mueval.Context, Mueval.Interpreter, Mueval.ArgsParse, Mueval.Resources- build-depends: base>=4 && < 5, containers, directory, mtl>2, filepath, unix, process,+ build-depends: base>= 4.5 && < 5, containers, directory, mtl>2, filepath, unix, process, hint>=0.3.1, show>=0.3, Cabal, extensible-exceptions, simple-reflect, QuickCheck ghc-options: -Wall -static