cmu 1.11 → 1.12
raw patch · 3 files changed
+36/−30 lines, 3 filesdep ~base
Dependency ranges changed: base
Files
- ChangeLog +7/−0
- cmu.cabal +25/−25
- src/Algebra/CommutativeMonoid/Main.hs +4/−5
ChangeLog view
@@ -1,3 +1,10 @@+2019-10-15 John D. Ramsdell <ramsdell@mitre.org>++ * cmu.cabal (Version): Released as version 1.12++ * src/Algebra/CommutativeMonoid/Main.hs (AnsErr): Updated code+ to support the MonadFail proposal as implemented in base-4.13.0.0.+ 2018-01-06 John D. Ramsdell <ramsdell@mitre.org> * src/Algebra/CommutativeMonad/Main.hs (readM): Adapted the code
cmu.cabal view
@@ -1,38 +1,38 @@-Name: cmu-Version: 1.11-Maintainer: ramsdell@mitre.org-Cabal-Version: >= 1.6-License: GPL-License-File: license.txt-Synopsis: Unification in a Commutative Monoid+Name: cmu+Version: 1.12+Maintainer: ramsdell@mitre.org+Cabal-Version: >= 1.6+License: GPL+License-File: license.txt+Synopsis: Unification in a Commutative Monoid Description: The unification problem is given the problem- statement t =? t\', find a most general- substitution s such that s(t) = s(t\') modulo- the axioms of a commutative monoid.- Substitition s is more general than s\' if- there is a substitition s\" such that s\' =- s\" o s.-Category: Algebra-Build-Type: Simple-Extra-Source-Files: readme.txt ChangeLog Makefile+ statement t =? t\', find a most general+ substitution s such that s(t) = s(t\') modulo+ the axioms of a commutative monoid.+ Substitition s is more general than s\' if+ there is a substitition s\" such that s\' =+ s\" o s.+Category: Algebra+Build-Type: Simple+Extra-Source-Files: readme.txt ChangeLog Makefile Library- Build-Depends: base >= 3 && < 5, containers >= 0.3, array- Exposed-Modules: Algebra.CommutativeMonoid.Unification+ Build-Depends: base >= 4.13 && < 5, containers >= 0.3, array+ Exposed-Modules: Algebra.CommutativeMonoid.Unification Algebra.CommutativeMonoid.LinDiophEq- Hs-Source-Dirs: src+ Hs-Source-Dirs: src GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Executable cmu- Main-Is: Algebra/CommutativeMonoid/Main.hs- Build-Depends: base >= 3 && < 5, containers >= 0.3, array- Other-Modules: Algebra.CommutativeMonoid.Unification+ Main-Is: Algebra/CommutativeMonoid/Main.hs+ Build-Depends: base >= 4.13 && < 5, containers >= 0.3, array+ Other-Modules: Algebra.CommutativeMonoid.Unification Algebra.CommutativeMonoid.LinDiophEq- Hs-Source-Dirs: src+ Hs-Source-Dirs: src GHC-Options: -Wall -fno-warn-name-shadowing -fwarn-unused-imports Source-Repository head- Type: git- Location: git://github.com/ramsdell/cmu.git+ Type: git+ Location: git://github.com/ramsdell/cmu.git
src/Algebra/CommutativeMonoid/Main.hs view
@@ -17,7 +17,6 @@ module Main (main, test) where -import qualified Control.Monad.Fail as Fail import System.IO (isEOF, hFlush, stdout) import Algebra.CommutativeMonoid.Unification @@ -37,12 +36,12 @@ print subst putStrLn "" -readM :: (Read a, Fail.MonadFail m) => String -> m a+readM :: (Read a, MonadFail m) => String -> m a readM s = case [ x | (x, t) <- reads s, ("", "") <- lex t ] of [x] -> return x- [] -> Fail.fail "no parse"- _ -> Fail.fail "ambiguous parse"+ [] -> fail "no parse"+ _ -> fail "ambiguous parse" -- Like Either String but with fail method defined data AnsErr a@@ -63,7 +62,7 @@ (Err s) >>= _ = Err s return = Ans -instance Fail.MonadFail AnsErr where+instance MonadFail AnsErr where fail = Err -- fail is Err -- Main loop