claferIG 0.4.1 → 0.4.2
raw patch · 8 files changed
+70/−72 lines, 8 filesdep ~claferdep ~claferIGPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: clafer, claferIG
API changes (from Hackage documentation)
- Language.Clafer.IG.AlloyIGInterface: alloyModel :: AlloyIGEnv -> String
- Language.Clafer.IG.AlloyIGInterface: core :: UnsatCore -> [Span]
- Language.Clafer.IG.AlloyIGInterface: globalScope :: AlloyIGEnv -> Integer
- Language.Clafer.IG.AlloyIGInterface: instance (Monad m, Functor m) => Applicative (AlloyIGT m)
- Language.Clafer.IG.AlloyIGInterface: instance Eq Multiplicity
- Language.Clafer.IG.AlloyIGInterface: instance Functor m => Functor (AlloyIGT m)
- Language.Clafer.IG.AlloyIGInterface: instance Monad m => Monad (AlloyIGT m)
- Language.Clafer.IG.AlloyIGInterface: instance MonadException m => MonadException (AlloyIGT m)
- Language.Clafer.IG.AlloyIGInterface: instance MonadIO m => MonadIO (AlloyIGT m)
- Language.Clafer.IG.AlloyIGInterface: instance MonadTrans AlloyIGT
- Language.Clafer.IG.AlloyIGInterface: instance Read Multiplicity
- Language.Clafer.IG.AlloyIGInterface: instance Show Multiplicity
- Language.Clafer.IG.AlloyIGInterface: instance Show UnsatCore
- Language.Clafer.IG.AlloyIGInterface: s_multiplicity :: Sig -> Multiplicity
- Language.Clafer.IG.AlloyIGInterface: s_name :: Sig -> String
- Language.Clafer.IG.AlloyIGInterface: s_startingScope :: Sig -> Maybe Integer
- Language.Clafer.IG.AlloyIGInterface: s_subset :: Sig -> Maybe String
- Language.Clafer.IG.AlloyIGInterface: scopes :: AlloyIGEnv -> Map String Integer
- Language.Clafer.IG.AlloyIGInterface: sigMap :: AlloyIGEnv -> Map String Sig
- Language.Clafer.IG.ClaferIG: addTypes :: IGArgs -> Bool
- Language.Clafer.IG.ClaferIG: all :: IGArgs -> Maybe Integer
- Language.Clafer.IG.ClaferIG: alloyModelInstance :: Instance -> String
- Language.Clafer.IG.ClaferIG: alloySolution :: IGArgs -> FilePath
- Language.Clafer.IG.ClaferIG: bitwidth :: IGArgs -> Integer
- Language.Clafer.IG.ClaferIG: check_duplicates_comp :: IGArgs -> Bool
- Language.Clafer.IG.ClaferIG: claferEnv' :: ClaferIGEnv -> ClaferEnv
- Language.Clafer.IG.ClaferIG: claferIGArgs :: ClaferIGEnv -> IGArgs
- Language.Clafer.IG.ClaferIG: claferModel :: ClaferIGEnv -> String
- Language.Clafer.IG.ClaferIG: claferModelFile :: IGArgs -> FilePath
- Language.Clafer.IG.ClaferIG: constraints :: ClaferIGEnv -> [Constraint]
- Language.Clafer.IG.ClaferIG: counterexample :: Instance -> Maybe Counterexample
- Language.Clafer.IG.ClaferIG: counterexampleAlloyInstance :: Counterexample -> String
- Language.Clafer.IG.ClaferIG: counterexampleInstance :: Counterexample -> ClaferModel
- Language.Clafer.IG.ClaferIG: flatten_inheritance_comp :: IGArgs -> Bool
- Language.Clafer.IG.ClaferIG: info :: ClaferIGEnv -> UIDIClaferMap
- Language.Clafer.IG.ClaferIG: instance (Monad m, Functor m) => Applicative (ClaferIGT m)
- Language.Clafer.IG.ClaferIG: instance Data IGArgs
- Language.Clafer.IG.ClaferIG: instance Functor m => Functor (ClaferIGT m)
- Language.Clafer.IG.ClaferIG: instance Monad m => Monad (ClaferIGT m)
- Language.Clafer.IG.ClaferIG: instance MonadException m => MonadException (ClaferIGT m)
- Language.Clafer.IG.ClaferIG: instance MonadIO m => MonadIO (ClaferIGT m)
- Language.Clafer.IG.ClaferIG: instance MonadTrans ClaferIGT
- Language.Clafer.IG.ClaferIG: instance Show IGArgs
- Language.Clafer.IG.ClaferIG: instance Typeable IGArgs
- Language.Clafer.IG.ClaferIG: json :: IGArgs -> Bool
- Language.Clafer.IG.ClaferIG: lineNumMap :: ClaferIGEnv -> Map Integer String
- Language.Clafer.IG.ClaferIG: maxInt :: IGArgs -> Integer
- Language.Clafer.IG.ClaferIG: modelInstance :: Instance -> ClaferModel
- Language.Clafer.IG.ClaferIG: no_layout_comp :: IGArgs -> Bool
- Language.Clafer.IG.ClaferIG: qNameMaps :: ClaferIGEnv -> QNameMaps
- Language.Clafer.IG.ClaferIG: removedConstraints :: Counterexample -> [Constraint]
- Language.Clafer.IG.ClaferIG: saveDir :: IGArgs -> Maybe FilePath
- Language.Clafer.IG.ClaferIG: scope_strategy_comp :: IGArgs -> ScopeStrategy
- Language.Clafer.IG.ClaferIG: skip_resolver_comp :: IGArgs -> Bool
- Language.Clafer.IG.ClaferIG: strMap :: ClaferIGEnv -> Map Int String
- Language.Clafer.IG.ClaferIG: unsatConstraints :: Instance -> [Constraint]
- Language.Clafer.IG.ClaferIG: useUids :: IGArgs -> Bool
- Language.Clafer.IG.ClaferModel: c_alias :: Value -> Id
- Language.Clafer.IG.ClaferModel: c_children :: Clafer -> [Clafer]
- Language.Clafer.IG.ClaferModel: c_id :: Clafer -> Id
- Language.Clafer.IG.ClaferModel: c_topLevel :: ClaferModel -> [Clafer]
- Language.Clafer.IG.ClaferModel: c_value :: Clafer -> Maybe Value
- Language.Clafer.IG.ClaferModel: i_name :: Id -> String
- Language.Clafer.IG.ClaferModel: i_ordinal :: Id -> Int
- Language.Clafer.IG.ClaferModel: instance Eq Clafer
- Language.Clafer.IG.ClaferModel: instance Eq Id
- Language.Clafer.IG.ClaferModel: instance Eq Node
- Language.Clafer.IG.ClaferModel: instance Eq Value
- Language.Clafer.IG.ClaferModel: instance Ord Id
- Language.Clafer.IG.ClaferModel: instance Ord Node
- Language.Clafer.IG.ClaferModel: instance Show Clafer
- Language.Clafer.IG.ClaferModel: instance Show ClaferModel
- Language.Clafer.IG.ClaferModel: instance Show FamilyTree
- Language.Clafer.IG.ClaferModel: instance Show Id
- Language.Clafer.IG.ClaferModel: instance Show Node
- Language.Clafer.IG.ClaferModel: instance Show Value
- Language.Clafer.IG.ClaferModel: v_str :: Value -> String
- Language.Clafer.IG.ClaferModel: v_value :: Value -> Int
- Language.Clafer.IG.CommandLine: instance Show AutoComplete
- Language.Clafer.IG.CommandLineParser: instance Show Command
- Language.Clafer.IG.CommandLineParser: instance Show UnsatCoreMinimization
- Language.Clafer.IG.Constraints: cardinality :: ClaferInfo -> Cardinality
- Language.Clafer.IG.Constraints: claferInfo :: Constraint -> ClaferInfo
- Language.Clafer.IG.Constraints: constraintInfo :: Constraint -> ConstraintInfo
- Language.Clafer.IG.Constraints: instance Eq Cardinality
- Language.Clafer.IG.Constraints: instance Eq ClaferInfo
- Language.Clafer.IG.Constraints: instance Eq Constraint
- Language.Clafer.IG.Constraints: instance Eq ConstraintInfo
- Language.Clafer.IG.Constraints: instance Show Cardinality
- Language.Clafer.IG.Constraints: instance Show ClaferInfo
- Language.Clafer.IG.Constraints: instance Show Constraint
- Language.Clafer.IG.Constraints: instance Show ConstraintInfo
- Language.Clafer.IG.Constraints: lower :: Cardinality -> Integer
- Language.Clafer.IG.Constraints: pId :: ConstraintInfo -> String
- Language.Clafer.IG.Constraints: pos :: ConstraintInfo -> Span
- Language.Clafer.IG.Constraints: range :: Constraint -> Span
- Language.Clafer.IG.Constraints: syntax :: ConstraintInfo -> String
- Language.Clafer.IG.Constraints: uniqueId :: ClaferInfo -> String
- Language.Clafer.IG.Constraints: upper :: Cardinality -> Maybe Integer
- Language.Clafer.IG.Solution: a_label :: Atom -> String
- Language.Clafer.IG.Solution: f_id :: Field -> Int
- Language.Clafer.IG.Solution: f_label :: Field -> String
- Language.Clafer.IG.Solution: f_parentId :: Field -> Int
- Language.Clafer.IG.Solution: f_tuples :: Field -> [Tuple]
- Language.Clafer.IG.Solution: instance Show Atom
- Language.Clafer.IG.Solution: instance Show Field
- Language.Clafer.IG.Solution: instance Show Sig
- Language.Clafer.IG.Solution: instance Show Solution
- Language.Clafer.IG.Solution: instance Show Tuple
- Language.Clafer.IG.Solution: s_atoms :: Sig -> [Atom]
- Language.Clafer.IG.Solution: s_fields :: Solution -> [Field]
- Language.Clafer.IG.Solution: s_id :: Sig -> Int
- Language.Clafer.IG.Solution: s_label :: Sig -> String
- Language.Clafer.IG.Solution: s_parentId :: Sig -> Maybe Int
- Language.Clafer.IG.Solution: s_sigs :: Solution -> [Sig]
- Language.Clafer.IG.Solution: t_from :: Tuple -> Atom
- Language.Clafer.IG.Solution: t_fromType :: Tuple -> Int
- Language.Clafer.IG.Solution: t_to :: Tuple -> Atom
- Language.Clafer.IG.Solution: t_toType :: Tuple -> Int
- Language.Clafer.IG.Sugarer: instance Show Census
+ Language.Clafer.IG.AlloyIGInterface: [alloyModel] :: AlloyIGEnv -> String
+ Language.Clafer.IG.AlloyIGInterface: [core] :: UnsatCore -> [Span]
+ Language.Clafer.IG.AlloyIGInterface: [globalScope] :: AlloyIGEnv -> Integer
+ Language.Clafer.IG.AlloyIGInterface: [s_multiplicity] :: Sig -> Multiplicity
+ Language.Clafer.IG.AlloyIGInterface: [s_name] :: Sig -> String
+ Language.Clafer.IG.AlloyIGInterface: [s_startingScope] :: Sig -> Maybe Integer
+ Language.Clafer.IG.AlloyIGInterface: [s_subset] :: Sig -> Maybe String
+ Language.Clafer.IG.AlloyIGInterface: [scopes] :: AlloyIGEnv -> Map String Integer
+ Language.Clafer.IG.AlloyIGInterface: [sigMap] :: AlloyIGEnv -> Map String Sig
+ Language.Clafer.IG.AlloyIGInterface: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Language.Clafer.IG.AlloyIGInterface.AlloyIGT m)
+ Language.Clafer.IG.AlloyIGInterface: instance Control.Monad.Trans.Class.MonadTrans Language.Clafer.IG.AlloyIGInterface.AlloyIGT
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Base.Functor m => GHC.Base.Functor (Language.Clafer.IG.AlloyIGInterface.AlloyIGT m)
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Base.Monad m => GHC.Base.Applicative (Language.Clafer.IG.AlloyIGInterface.AlloyIGT m)
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Base.Monad m => GHC.Base.Monad (Language.Clafer.IG.AlloyIGInterface.AlloyIGT m)
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Classes.Eq Language.Clafer.IG.AlloyIGInterface.Multiplicity
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Read.Read Language.Clafer.IG.AlloyIGInterface.Multiplicity
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Show.Show Language.Clafer.IG.AlloyIGInterface.Multiplicity
+ Language.Clafer.IG.AlloyIGInterface: instance GHC.Show.Show Language.Clafer.IG.AlloyIGInterface.UnsatCore
+ Language.Clafer.IG.AlloyIGInterface: instance System.Console.Haskeline.MonadException.MonadException m => System.Console.Haskeline.MonadException.MonadException (Language.Clafer.IG.AlloyIGInterface.AlloyIGT m)
+ Language.Clafer.IG.ClaferIG: [addTypes] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: [all] :: IGArgs -> Maybe Integer
+ Language.Clafer.IG.ClaferIG: [alloyModelInstance] :: Instance -> String
+ Language.Clafer.IG.ClaferIG: [alloySolution] :: IGArgs -> FilePath
+ Language.Clafer.IG.ClaferIG: [bitwidth] :: IGArgs -> Integer
+ Language.Clafer.IG.ClaferIG: [check_duplicates_comp] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: [claferEnv'] :: ClaferIGEnv -> ClaferEnv
+ Language.Clafer.IG.ClaferIG: [claferIGArgs] :: ClaferIGEnv -> IGArgs
+ Language.Clafer.IG.ClaferIG: [claferModelFile] :: IGArgs -> FilePath
+ Language.Clafer.IG.ClaferIG: [claferModel] :: ClaferIGEnv -> String
+ Language.Clafer.IG.ClaferIG: [constraints] :: ClaferIGEnv -> [Constraint]
+ Language.Clafer.IG.ClaferIG: [counterexampleAlloyInstance] :: Counterexample -> String
+ Language.Clafer.IG.ClaferIG: [counterexampleInstance] :: Counterexample -> ClaferModel
+ Language.Clafer.IG.ClaferIG: [counterexample] :: Instance -> Maybe Counterexample
+ Language.Clafer.IG.ClaferIG: [flatten_inheritance_comp] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: [info] :: ClaferIGEnv -> UIDIClaferMap
+ Language.Clafer.IG.ClaferIG: [json] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: [lineNumMap] :: ClaferIGEnv -> Map Integer String
+ Language.Clafer.IG.ClaferIG: [maxInt] :: IGArgs -> Integer
+ Language.Clafer.IG.ClaferIG: [modelInstance] :: Instance -> ClaferModel
+ Language.Clafer.IG.ClaferIG: [no_layout_comp] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: [qNameMaps] :: ClaferIGEnv -> QNameMaps
+ Language.Clafer.IG.ClaferIG: [removedConstraints] :: Counterexample -> [Constraint]
+ Language.Clafer.IG.ClaferIG: [saveDir] :: IGArgs -> Maybe FilePath
+ Language.Clafer.IG.ClaferIG: [scope_strategy_comp] :: IGArgs -> ScopeStrategy
+ Language.Clafer.IG.ClaferIG: [skip_resolver_comp] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: [strMap] :: ClaferIGEnv -> Map Int String
+ Language.Clafer.IG.ClaferIG: [unsatConstraints] :: Instance -> [Constraint]
+ Language.Clafer.IG.ClaferIG: [useUids] :: IGArgs -> Bool
+ Language.Clafer.IG.ClaferIG: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Language.Clafer.IG.ClaferIG.ClaferIGT m)
+ Language.Clafer.IG.ClaferIG: instance Control.Monad.Trans.Class.MonadTrans Language.Clafer.IG.ClaferIG.ClaferIGT
+ Language.Clafer.IG.ClaferIG: instance Data.Data.Data Language.Clafer.IG.ClaferIG.IGArgs
+ Language.Clafer.IG.ClaferIG: instance GHC.Base.Functor m => GHC.Base.Functor (Language.Clafer.IG.ClaferIG.ClaferIGT m)
+ Language.Clafer.IG.ClaferIG: instance GHC.Base.Monad m => GHC.Base.Applicative (Language.Clafer.IG.ClaferIG.ClaferIGT m)
+ Language.Clafer.IG.ClaferIG: instance GHC.Base.Monad m => GHC.Base.Monad (Language.Clafer.IG.ClaferIG.ClaferIGT m)
+ Language.Clafer.IG.ClaferIG: instance GHC.Show.Show Language.Clafer.IG.ClaferIG.IGArgs
+ Language.Clafer.IG.ClaferIG: instance System.Console.Haskeline.MonadException.MonadException m => System.Console.Haskeline.MonadException.MonadException (Language.Clafer.IG.ClaferIG.ClaferIGT m)
+ Language.Clafer.IG.ClaferModel: [c_alias] :: Value -> Id
+ Language.Clafer.IG.ClaferModel: [c_children] :: Clafer -> [Clafer]
+ Language.Clafer.IG.ClaferModel: [c_id] :: Clafer -> Id
+ Language.Clafer.IG.ClaferModel: [c_topLevel] :: ClaferModel -> [Clafer]
+ Language.Clafer.IG.ClaferModel: [c_value] :: Clafer -> Maybe Value
+ Language.Clafer.IG.ClaferModel: [i_name] :: Id -> String
+ Language.Clafer.IG.ClaferModel: [i_ordinal] :: Id -> Int
+ Language.Clafer.IG.ClaferModel: [v_str] :: Value -> String
+ Language.Clafer.IG.ClaferModel: [v_value] :: Value -> Int
+ Language.Clafer.IG.ClaferModel: instance GHC.Classes.Eq Language.Clafer.IG.ClaferModel.Clafer
+ Language.Clafer.IG.ClaferModel: instance GHC.Classes.Eq Language.Clafer.IG.ClaferModel.Id
+ Language.Clafer.IG.ClaferModel: instance GHC.Classes.Eq Language.Clafer.IG.ClaferModel.Node
+ Language.Clafer.IG.ClaferModel: instance GHC.Classes.Eq Language.Clafer.IG.ClaferModel.Value
+ Language.Clafer.IG.ClaferModel: instance GHC.Classes.Ord Language.Clafer.IG.ClaferModel.Id
+ Language.Clafer.IG.ClaferModel: instance GHC.Classes.Ord Language.Clafer.IG.ClaferModel.Node
+ Language.Clafer.IG.ClaferModel: instance GHC.Show.Show Language.Clafer.IG.ClaferModel.Clafer
+ Language.Clafer.IG.ClaferModel: instance GHC.Show.Show Language.Clafer.IG.ClaferModel.ClaferModel
+ Language.Clafer.IG.ClaferModel: instance GHC.Show.Show Language.Clafer.IG.ClaferModel.FamilyTree
+ Language.Clafer.IG.ClaferModel: instance GHC.Show.Show Language.Clafer.IG.ClaferModel.Id
+ Language.Clafer.IG.ClaferModel: instance GHC.Show.Show Language.Clafer.IG.ClaferModel.Node
+ Language.Clafer.IG.ClaferModel: instance GHC.Show.Show Language.Clafer.IG.ClaferModel.Value
+ Language.Clafer.IG.CommandLine: instance GHC.Show.Show Language.Clafer.IG.CommandLine.AutoComplete
+ Language.Clafer.IG.CommandLineParser: instance GHC.Show.Show Language.Clafer.IG.CommandLineParser.Command
+ Language.Clafer.IG.CommandLineParser: instance GHC.Show.Show Language.Clafer.IG.CommandLineParser.UnsatCoreMinimization
+ Language.Clafer.IG.Constraints: [cardinality] :: ClaferInfo -> Cardinality
+ Language.Clafer.IG.Constraints: [claferInfo] :: Constraint -> ClaferInfo
+ Language.Clafer.IG.Constraints: [constraintInfo] :: Constraint -> ConstraintInfo
+ Language.Clafer.IG.Constraints: [lower] :: Cardinality -> Integer
+ Language.Clafer.IG.Constraints: [pId] :: ConstraintInfo -> String
+ Language.Clafer.IG.Constraints: [pos] :: ConstraintInfo -> Span
+ Language.Clafer.IG.Constraints: [range] :: Constraint -> Span
+ Language.Clafer.IG.Constraints: [syntax] :: ConstraintInfo -> String
+ Language.Clafer.IG.Constraints: [uniqueId] :: ClaferInfo -> String
+ Language.Clafer.IG.Constraints: [upper] :: Cardinality -> Maybe Integer
+ Language.Clafer.IG.Constraints: instance GHC.Classes.Eq Language.Clafer.IG.Constraints.Cardinality
+ Language.Clafer.IG.Constraints: instance GHC.Classes.Eq Language.Clafer.IG.Constraints.ClaferInfo
+ Language.Clafer.IG.Constraints: instance GHC.Classes.Eq Language.Clafer.IG.Constraints.Constraint
+ Language.Clafer.IG.Constraints: instance GHC.Classes.Eq Language.Clafer.IG.Constraints.ConstraintInfo
+ Language.Clafer.IG.Constraints: instance GHC.Show.Show Language.Clafer.IG.Constraints.Cardinality
+ Language.Clafer.IG.Constraints: instance GHC.Show.Show Language.Clafer.IG.Constraints.ClaferInfo
+ Language.Clafer.IG.Constraints: instance GHC.Show.Show Language.Clafer.IG.Constraints.Constraint
+ Language.Clafer.IG.Constraints: instance GHC.Show.Show Language.Clafer.IG.Constraints.ConstraintInfo
+ Language.Clafer.IG.Solution: [a_label] :: Atom -> String
+ Language.Clafer.IG.Solution: [f_id] :: Field -> Int
+ Language.Clafer.IG.Solution: [f_label] :: Field -> String
+ Language.Clafer.IG.Solution: [f_parentId] :: Field -> Int
+ Language.Clafer.IG.Solution: [f_tuples] :: Field -> [Tuple]
+ Language.Clafer.IG.Solution: [s_atoms] :: Sig -> [Atom]
+ Language.Clafer.IG.Solution: [s_fields] :: Solution -> [Field]
+ Language.Clafer.IG.Solution: [s_id] :: Sig -> Int
+ Language.Clafer.IG.Solution: [s_label] :: Sig -> String
+ Language.Clafer.IG.Solution: [s_parentId] :: Sig -> Maybe Int
+ Language.Clafer.IG.Solution: [s_sigs] :: Solution -> [Sig]
+ Language.Clafer.IG.Solution: [t_fromType] :: Tuple -> Int
+ Language.Clafer.IG.Solution: [t_from] :: Tuple -> Atom
+ Language.Clafer.IG.Solution: [t_toType] :: Tuple -> Int
+ Language.Clafer.IG.Solution: [t_to] :: Tuple -> Atom
+ Language.Clafer.IG.Solution: instance GHC.Show.Show Language.Clafer.IG.Solution.Atom
+ Language.Clafer.IG.Solution: instance GHC.Show.Show Language.Clafer.IG.Solution.Field
+ Language.Clafer.IG.Solution: instance GHC.Show.Show Language.Clafer.IG.Solution.Sig
+ Language.Clafer.IG.Solution: instance GHC.Show.Show Language.Clafer.IG.Solution.Solution
+ Language.Clafer.IG.Solution: instance GHC.Show.Show Language.Clafer.IG.Solution.Tuple
+ Language.Clafer.IG.Sugarer: instance GHC.Show.Show Language.Clafer.IG.Sugarer.Census
Files
- CHANGES.md +4/−0
- Makefile +40/−41
- README.md +7/−7
- alloyIG.jar binary
- claferIG.cabal +7/−7
- src/Language/Clafer/IG/CommandLineParser.hs +2/−2
- stack.yaml +10/−0
- tools/Makefile +0/−15
CHANGES.md view
@@ -1,3 +1,7 @@+# ClaferIG Version 0.4.2 released on Oct 16, 2015 + +[Release](https://github.com/gsdlab/claferIG/pull/28) + # ClaferIG Version 0.4.1 released on Sep 1, 2015 [Release](https://github.com/gsdlab/claferIG/pull/27)
Makefile view
@@ -1,4 +1,6 @@-TOOL_DIR = tools +ifeq ($(OS),Windows_NT) +EXE := .exe +endif ifeq ($(OS),Windows_NT) LIB := x86-windows/minisatprover* @@ -27,69 +29,47 @@ install: mkdir -p $(to) mkdir -p $(to)/lib - mkdir -p $(to)/tools cp -f lib/*minisatprover* $(to)/lib - cp -f tools/alloy4.2.jar $(to)/tools + cp -f alloy4.2.jar $(to) cp -f alloyIG.jar $(to) cp -f LICENSE $(to)/ cp -f CHANGES.md $(to)/claferIG-CHANGES.md cp -f README.md $(to)/claferIG-README.md - cabal install --bindir=$(to) - -# Removes current build and makes a clean new one (Don't use if starting from scratch!) -cleanEnv: - make clean - ghc-pkg unregister claferIG - rm `which claferIG` - make - -# this takes the version from the .cabal file. Need to run install first to produce Paths_claferIG.hs -newVersion: - ghc -isrc src/dateVer.hs dist/build/autogen/Paths_claferIG.hs -outputdir dist/build --make -o dateVer - ./dateVer > src/Language/Clafer/IG/Version.hs - -init: - cabal sandbox init --sandbox=../.clafertools-cabal-sandbox - cabal install --only-dependencies --enable-tests + cp `stack path --local-install-root`/bin/claferIG$(EXE) $(to) # Build takes less time. For ease of development. build: alloyIG.jar - cabal configure --enable-tests - cabal build + stack build -alloyIG.jar: src/manifest src/org/clafer/ig/AlloyIG.java src/manifest src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java - $(MAKE) -C $(TOOL_DIR) +alloyIG.jar: alloy4.2.jar src/manifest src/org/clafer/ig/AlloyIG.java src/manifest src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java mkdir -p dist/javabuild - javac -cp "tools/alloy4.2.jar" -d dist/javabuild src/org/clafer/ig/AlloyIG.java src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java + javac -cp "alloy4.2.jar" -d dist/javabuild src/org/clafer/ig/AlloyIG.java src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java jar cfm alloyIG.jar src/manifest -C dist/javabuild org/clafer/ig/ -C dist/javabuild edu -lib: +.PHONY : test lib + +lib: alloy4.2.jar @if test -z $(LIB); then \ echo "[WARNING] Did not find a minisat prover binary suitable for your system. You may need to build the binary yourself."; \ else \ - unzip tools/alloy4.2.jar $(LIB) -d lib; \ + unzip alloy4.2.jar $(LIB) -d lib; \ chmod +x lib/$(LIB); \ cp lib/$(LIB) lib; \ fi test: - # Install what's needed for running the tests - cp alloyIG.jar dist/build/test-suite/ - cp alloyIG.jar dist/build/claferIG/ - cp -r tools/ dist/build/test-suite/ - cp -r tools/ dist/build/claferIG/ - cp -r lib/ dist/build/test-suite/ - cp -r lib/ dist/build/claferIG/ - cabal test + cp alloyIG.jar `stack path --dist-dir`/build/test-suite/ + cp alloy4.2.jar `stack path --dist-dir`/build/test-suite/ + cp -R lib `stack path --dist-dir`/build/test-suite/ + cp alloyIG.jar `stack path --dist-dir`/build/claferIG/ + cp alloy4.2.jar `stack path --dist-dir`/build/claferIG/ + cp -R lib `stack path --dist-dir`/build/claferIG/ + stack test clean: - rm -rf dist + stack clean rm -f alloyIG.jar - rm -f claferIG - rm -rf tools/x86-linux - rm -rf tools/amd64-linux - rm -rf tools/x86-windows - rm -rf tools/x86-mac + rm -rf tools tags: hasktags --ctags --extendedctag . @@ -97,3 +77,22 @@ codex: codex update mv codex.tags tags + +WGET_COMMAND := wget +ifeq ($(OS),Windows_NT) + ifeq ($(shell which wget), which: wget: unkown command) + pacman -S make wget + endif +else + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Darwin) + WGET_COMMAND := curl -O + endif +endif + +alloy4.2.jar: + @if test ! -f "alloy4.2.jar"; then \ + echo "[WARNING] Missing alloy4.2.jar. Downloading..."; \ + $(WGET_COMMAND) http://alloy.mit.edu/alloy/downloads/alloy4.2_2015-02-22.jar; \ + mv alloy4.2_2015-02-22.jar alloy4.2.jar; \ + fi
README.md view
@@ -1,6 +1,6 @@ # Clafer Instance Generator -v0.4.1 +v0.4.2 [Clafer](http://clafer.org) is a powerful (equivalent to first-order predicate logic) yet lightweight structural modeling language. Despite simplicity and conciseness of Clafer, writing correct models remains challenging due to hard-to-predict interactions among all constraints expressed in the model. **Clafer instance generator** (ClaferIG) is an interactive tool that generates instances and counter examples of concrete clafers in a Clafer model. If the concrete clafers do not have contradicting constraints, the generator produces valid instance data. Otherwise, the generator produces an unsatisfiable core which included all contradicting constraints and generates a counter example by removing one constraint from the core. The generator can potentially produce many instances if the concrete clafers are not fully specialized. The generator produces different instances on-demand. With these capabilities, the instance generator can be used for debugging models: checking the consistency of the model and detecting under- and overconstraining of the model. The instance generator can also be used programmatically via API (the command line and interactive session interfaces only use the API). @@ -21,14 +21,14 @@ Regardless of the installation method, the following are required: -* [Clafer](https://github.com/gsdlab/clafer) v0.4.1 +* [Clafer](https://github.com/gsdlab/clafer) v0.4.2 * [Java Platform (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) v8+, 64bit * On Windows, Java must be 32bit because of Alloy, 64bit otherwise * [Alloy4.2](http://alloy.mit.edu/alloy/download.html) ### Installation from binaries -Binary distributions of the release 0.4.1 of Clafer Tools for Windows, Mac, and Linux, +Binary distributions of the release 0.4.2 of Clafer Tools for Windows, Mac, and Linux, can be downloaded from [Clafer Tools - Binary Distributions](http://gsd.uwaterloo.ca/clafer-tools-binary-distributions). 1. download the binaries and unpack `<target directory>` of your choice @@ -40,11 +40,11 @@ * [GHC](https://www.haskell.org/downloads) v7.10.* -ClaferIG is now available on [Hackage](http://hackage.haskell.org/package/claferIG-0.4.1/) and it can be installed using +ClaferIG is now available on [Hackage](http://hackage.haskell.org/package/claferIG-0.4.2/) and it can be installed using 1. `cabal update` 2. `cabal install claferIG` -3. `cd <cabal's lib or share folder>` (`C:\Users\<user>\AppData\Roaming\cabal\i386-windows-ghc-7.10.2\claferIG-0.4.1` on Windows or `.cabal/share/x86_64-linux-ghc-7.10.2/claferIG-0.4.1/` on Linux) +3. `cd <cabal's lib or share folder>` (`C:\Users\<user>\AppData\Roaming\cabal\i386-windows-ghc-7.10.2\claferIG-0.4.2` on Windows or `.cabal/share/x86_64-linux-ghc-7.10.2/claferIG-0.4.2/` on Linux) 3. to automatically download Alloy4.2 jar * execute `make` in `tools` 4. To get the `minisatproover` library @@ -116,7 +116,7 @@ (As printed by `claferIG --help`) ``` -ClaferIG v0.4.1 +ClaferIG v0.4.2 claferIG [OPTIONS] [FILE] @@ -168,7 +168,7 @@ ## ``` -## | ClaferIG 0.4.1 | +## | ClaferIG 0.4.2 | You can invoke the following commands as indicated by single quotes:
alloyIG.jar view
binary file changed (22370 → 22364 bytes)
claferIG.cabal view
@@ -1,5 +1,5 @@ Name: claferIG -Version: 0.4.1 +Version: 0.4.2 Synopsis: claferIG is an interactive tool that generates instances of Clafer models. Description: Clafer is a powerful (equivalent to first-order predicate logic) yet lightweight structural modeling language. Despite simplicity and conciseness of Clafer, writing correct models remains challenging due to hard-to-predict interactions among all constraints expressed in the model. Clafer instance generator (ClaferIG) is an interactive tool that generates instances and counter examples of concrete clafers in a Clafer model. If the concrete clafers do not have contradicting constraints, the generator produces valid instance data. Otherwise, the generator produces an unsatisfiable core which included all contradicting constraints and generates a counter example by removing one constraint from the core. The generator can potentially produce many instances if the concrete clafers are not fully specialized. The generator produces different instances on-demand. With these capabilities, the instance generator can be used for debugging models: checking the consistency of the model and detecting under- and overconstraining of the model. The instance generator can also be used programmatically via API (the command line and interactive session interfaces only use the API). Homepage: http://clafer.org @@ -19,8 +19,8 @@ , alloyIG.jar , CHANGES.md , Makefile - , tools/Makefile , lib/minisatprover.md + , stack.yaml source-repository head type: git location: git://github.com/gsdlab/claferIG.git @@ -42,8 +42,8 @@ , transformers-compat >= 0.3 && < 0.5 , mtl-compat >= 0.2.1 - , clafer == 0.4.1 - , claferIG == 0.4.1 + , clafer == 0.4.2 + , claferIG == 0.4.2 other-modules: Paths_claferIG Hs-Source-Dirs: src-cmd ghc-options: -Wall -fno-warn-orphans @@ -70,7 +70,7 @@ , transformers-compat >= 0.3 && < 0.5 , mtl-compat >= 0.2.1 - , clafer == 0.4.1 + , clafer == 0.4.2 if os(windows) build-depends: HaXml == 1.24 @@ -109,7 +109,7 @@ , tasty-th >= 0.1.3 , transformers-compat >= 0.3 && < 0.5 - , clafer == 0.4.1 - , claferIG == 0.4.1 + , clafer == 0.4.2 + , claferIG == 0.4.2 other-modules: Paths_claferIG ghc-options: -Wall -fno-warn-orphans
src/Language/Clafer/IG/CommandLineParser.hs view
@@ -68,7 +68,7 @@ parseCommandLine :: String -> Either ParseError Command parseCommandLine input = if null input then Right Next - else parse doParse "claferIG" input + else parse doParse "ClaferAlloyIG" input where doParse = do @@ -83,7 +83,7 @@ -- Any unexpected character means parse did not reach the end of the input, hence cannot autocomplete. parseCommandLineAutoComplete :: String -> ParseError parseCommandLineAutoComplete input = - case parse doParse "claferIG autocomplete" input of + case parse doParse "ClaferAlloyIG autocomplete" input of Left e -> e Right _ -> error "Failed at failing." where
+ stack.yaml view
@@ -0,0 +1,10 @@+# for GHC-7.10.2 +extra-deps: + [ data-stringmap-1.0.1.1 + , HaXml-1.24 + ] +resolver: lts-3.9 + +packages: +- '../clafer' +- '.'
− tools/Makefile
@@ -1,15 +0,0 @@-WGET_COMMAND := wget - -ifneq ($(OS),Windows_NT) - UNAME := $(shell uname -s) - ifeq ($(UNAME),Darwin) - WGET_COMMAND := curl -O - endif -endif - -all: - @if test ! -f "alloy4.2.jar"; then \ - echo "[WARNING] Missing alloy4.2.jar. Downloading..."; \ - $(WGET_COMMAND) http://alloy.mit.edu/alloy/downloads/alloy4.2_2015-02-22.jar; \ - mv alloy4.2_2015-02-22.jar alloy4.2.jar; \ - fi