bff 0.3 → 0.3.1
raw patch · 4 files changed
+18/−14 lines, 4 filesdep ~basedep ~derivenew-uploader
Dependency ranges changed: base, derive
Files
- Data/Bff.hs +1/−1
- MyInterpret.hs +8/−6
- bff-cgi.hs +5/−3
- bff.cabal +4/−4
Data/Bff.hs view
@@ -21,7 +21,7 @@ import qualified Data.IntMapOrd as IntMapOrd (union, lookup, fromAscPairList, empty, checkInsert, lookupR) import Data.Set (Set) import qualified Data.Set as Set (toAscList, singleton)-import Maybe (fromJust)+import Data.Maybe (fromJust) import Control.Monad.State (State, runState) import qualified Control.Monad.State as State (get, put) import Control.Applicative
MyInterpret.hs view
@@ -8,11 +8,11 @@ where import Language.Haskell.Interpreter-import Language.Haskell.Interpreter.GHC.Unsafe+import Language.Haskell.Interpreter.Unsafe import Prelude hiding (catch) import Control.Concurrent-import Control.Exception+import Control.OldException import Control.Monad import Control.Monad.Error import System.Posix.Signals@@ -67,23 +67,25 @@ when (unsafe exp) $ throwDyn (MyException "Indicators for unsafe computations found in exp") eResult <- runInterpreter $ do- setUseLanguageExtensions False+ --setUseLanguageExtensions False+ set [languageExtensions := []] -- Not available in hint-3.2? -- setOptimizations All reset -- no need for temporary files I hope- setInstalledModsAreInScopeQualified True + --setInstalledModsAreInScopeQualified True + set [installedModulesInScope := True] unsafeSetGhcOption "-fno-monomorphism-restriction" setImports modules - liftIO $ putStrLn exp+-- liftIO $ putStrLn exp todo exp case eResult of- Left exception -> throw exception+ Left exception -> throwDyn exception Right result -> return result formatInterpreterError (UnknownError s) = "Unknown Interpreter Error " ++ s
bff-cgi.hs view
@@ -19,10 +19,10 @@ maindiv << ( p << ("This tool allows you to experiment with the "+++ "method described in the paper “" +++- hotlink "http://wwwtcs.inf.tu-dresden.de/~voigt/popl09-2.pdf"+ hotlink "http://www.iai.uni-bonn.de/~jv/popl09-2.pdf" << "Bidirectionalization for Free!" +++ "” (POPL'09) by " +++- hotlink "http://wwwtcs.inf.tu-dresden.de/~voigt/"+ hotlink "http://www.iai.uni-bonn.de/~jv/" << "Janis Voigtländer" +++ "." )@@ -35,7 +35,9 @@ "You need to define " +++ tt << "source" +++ " and " +++ tt << "get" +++ ". The code is evaluated inside a " +++ tt << "let" +++ " block, so you can define functions by "+++- "pattern matching, but you cannot define new data types. "+++ "The type classes required by the bidirectionalization functions are defined for " +++ tt << "Maybe" ++++ "pattern matching, but you cannot define new data types. "++++ "The type classes required by the bidirectionalization functions are defined for " +++ + tt << "Maybe" +++ ", " +++ tt << "[]" +++ ", and this simple tree type:" +++ pre << "data Tree a = Leaf a | Node (Tree a) (Tree a)" ) +++
bff.cabal view
@@ -1,5 +1,5 @@ name: bff-version: 0.3+version: 0.3.1 license: PublicDomain description: This is an implementation of the ideas presented in "Bidirectionalization@@ -55,7 +55,7 @@ Data.Derive.Zippable Data.Zippable.Definition build-depends:- base >= 2 && < 4, containers, mtl, template-haskell, category-extras >= 0.53.5, derive >= 0.1.1,+ base >= 2 && < 5, containers, mtl, template-haskell, category-extras >= 0.53.5, derive == 0.1.1, haskell98, bimap >= 0.2.3, unix executable bff-shell@@ -65,7 +65,7 @@ MyInterpret if flag(binaries) build-depends:- base >= 2 && < 4, directory, hint >= 0.3.2+ base >= 2 && < 5, directory, hint >= 0.3.2 buildable: True else buildable: False@@ -77,7 +77,7 @@ MyInterpret if flag(binaries) build-depends:- base >= 2 && < 4, directory, xhtml, cgi, hint >= 0.3.2, utf8-string+ base >= 2 && < 5, directory, xhtml, cgi, hint >= 0.3.2, utf8-string buildable: True else buildable: False