packages feed

GroteTrap 0.5.1 → 0.5.2

raw patch · 3 files changed

+56/−6 lines, 3 filesdep +GroteTrapdep +test-frameworkdep +test-framework-quickcheck2dep ~QuickCheckdep ~sybPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: GroteTrap, test-framework, test-framework-quickcheck2

Dependency ranges changed: QuickCheck, syb

API changes (from Hackage documentation)

- Language.GroteTrap.Language: fnName :: Function a -> String
- Language.GroteTrap.Language: fnSem :: Function a -> [a] -> a
- Language.GroteTrap.Language: functions :: Language a -> [Function a]
- Language.GroteTrap.Language: instance Enum Fixity1
- Language.GroteTrap.Language: instance Enum Fixity2
- Language.GroteTrap.Language: instance Eq Fixity1
- Language.GroteTrap.Language: instance Eq Fixity2
- Language.GroteTrap.Language: instance Show Fixity1
- Language.GroteTrap.Language: instance Show Fixity2
- Language.GroteTrap.Language: number :: Language a -> Maybe (Int -> a)
- Language.GroteTrap.Language: opFixity1 :: Operator a -> Fixity1
- Language.GroteTrap.Language: opFixity2 :: Operator a -> Fixity2
- Language.GroteTrap.Language: opPrio :: Operator a -> Int
- Language.GroteTrap.Language: opSem1 :: Operator a -> a -> a
- Language.GroteTrap.Language: opSem2 :: Operator a -> a -> a -> a
- Language.GroteTrap.Language: opSemN :: Operator a -> [a] -> a
- Language.GroteTrap.Language: opToken :: Operator a -> String
- Language.GroteTrap.Language: operators :: Language a -> [Operator a]
- Language.GroteTrap.Language: variable :: Language a -> Maybe (String -> a)
- Language.GroteTrap.Lexer: instance Eq Token
- Language.GroteTrap.Lexer: instance Show Token
- Language.GroteTrap.Unparse: instance Unparse ParseTree
+ Language.GroteTrap.Language: [fnName] :: Function a -> String
+ Language.GroteTrap.Language: [fnSem] :: Function a -> [a] -> a
+ Language.GroteTrap.Language: [functions] :: Language a -> [Function a]
+ Language.GroteTrap.Language: [number] :: Language a -> Maybe (Int -> a)
+ Language.GroteTrap.Language: [opFixity1] :: Operator a -> Fixity1
+ Language.GroteTrap.Language: [opFixity2] :: Operator a -> Fixity2
+ Language.GroteTrap.Language: [opPrio] :: Operator a -> Int
+ Language.GroteTrap.Language: [opSem1] :: Operator a -> a -> a
+ Language.GroteTrap.Language: [opSem2] :: Operator a -> a -> a -> a
+ Language.GroteTrap.Language: [opSemN] :: Operator a -> [a] -> a
+ Language.GroteTrap.Language: [opToken] :: Operator a -> String
+ Language.GroteTrap.Language: [operators] :: Language a -> [Operator a]
+ Language.GroteTrap.Language: [variable] :: Language a -> Maybe (String -> a)
+ Language.GroteTrap.Language: instance GHC.Classes.Eq Language.GroteTrap.Language.Fixity1
+ Language.GroteTrap.Language: instance GHC.Classes.Eq Language.GroteTrap.Language.Fixity2
+ Language.GroteTrap.Language: instance GHC.Enum.Enum Language.GroteTrap.Language.Fixity1
+ Language.GroteTrap.Language: instance GHC.Enum.Enum Language.GroteTrap.Language.Fixity2
+ Language.GroteTrap.Language: instance GHC.Show.Show Language.GroteTrap.Language.Fixity1
+ Language.GroteTrap.Language: instance GHC.Show.Show Language.GroteTrap.Language.Fixity2
+ Language.GroteTrap.Lexer: instance GHC.Classes.Eq Language.GroteTrap.Lexer.Token
+ Language.GroteTrap.Lexer: instance GHC.Show.Show Language.GroteTrap.Lexer.Token
+ Language.GroteTrap.Unparse: instance Language.GroteTrap.Unparse.Unparse Language.GroteTrap.ParseTree.ParseTree

Files

GroteTrap.cabal view
@@ -1,14 +1,14 @@ Name:           GroteTrap-Version:        0.5.1+Version:        0.5.2 Synopsis:       Parser and selection library for expression languages. Description:    Allows quick definition of expression languages. You get a parser for free, as well as conversion from text selection to tree selection and back. Homepage:       http://www.haskell.org/haskellwiki/GroteTrap  Author:         Jeroen Leeuwestein, Martijn van Steenbergen Maintainer:     martijn@van.steenbergen.nl-Copyright:      Copyright (c) 2007-2015 Jeroen Leeuwestein and Martijn van Steenbergen+Copyright:      Copyright (c) 2007-2016 Jeroen Leeuwestein and Martijn van Steenbergen -Cabal-Version:  >= 1.6+Cabal-Version:  >= 1.8 License:        BSD3 License-file:   LICENSE Category:       Language@@ -21,10 +21,9 @@  Library   Build-Depends:    base < 5,-                    QuickCheck < 2.9,                     parsec < 3.2,                     mtl < 2.3,-                    syb < 0.5+                    syb < 0.7   Exposed-Modules:  Language.GroteTrap                     Language.GroteTrap.Language                     Language.GroteTrap.Lexer@@ -36,3 +35,14 @@                     Language.GroteTrap.Util   Other-Modules:    Language.GroteTrap.ParseTree                     Language.GroteTrap.Parser++Test-Suite tests+  Type:             exitcode-stdio-1.0+  Main-Is:          Tests.hs+  Build-Depends:    GroteTrap,+                    base < 5,+                    parsec < 3.2,+                    mtl < 2.3,+                    QuickCheck < 2.10,+                    test-framework,+                    test-framework-quickcheck2
LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2008-2015, Jeroen Leeuwestein and Martijn van Steenbergen+Copyright (c) 2008-2016, Jeroen Leeuwestein and Martijn van Steenbergen All rights reserved.  Redistribution and use in source and binary forms, with or without
+ Tests.hs view
@@ -0,0 +1,40 @@+module Main where++import Test.Framework (Test, defaultMain)+import Test.Framework.Providers.QuickCheck2 (testProperty)+import Test.QuickCheck ((==>))++import Language.GroteTrap.Range+  (validRange, includes, unionRange, distRange, size)+import Language.GroteTrap.Trees (up, down, left, right)++main :: IO ()+main  = defaultMain tests++tests :: [Test]+tests =+  [ testProperty "range/propUnionRange" propUnionRange+  , testProperty "range/propDistRange" propDistRange+  , testProperty "range/propDistRangeComm" propDistRangeComm+  , testProperty "trees/propDownUp" propDownUp+  , testProperty "trees/propUpDown" propUpDown+  , testProperty "trees/propLeftRight" propLeftRight+  , testProperty "trees/propRightLeft" propRightLeft+  ]++-- ranges++propUnionRange r1 r2 = validRange r1 && validRange r2 ==> u `includes` r1 && u `includes` r2+  where u = unionRange r1 r2++propDistRange r1 r2 = validRange r1 && validRange r2 && r1 `includes` r2 ==>+                        distRange r1 r2 <= size r1++propDistRangeComm r1 r2 = distRange r1 r2 == distRange r2 r1++-- tree paths++propDownUp     path  =  up (down path) == path+propUpDown     path  =  not (null path) ==> init (down (up path)) == init path+propLeftRight  path  =  not (null path) && last path > 0 ==> right (left path) == path+propRightLeft  path  =  not (null path) && last path >= 0 ==> left (right path) == path