packages feed

symantic-grammar 0.3.0.20180213 → 0.3.1.20180831

raw patch · 11 files changed

+55/−7 lines, 11 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Language.Symantic.Grammar.BinTree: instance Data.Semigroup.Semigroup (Language.Symantic.Grammar.BinTree.BinTree a)
- Language.Symantic.Grammar.Source: instance (GHC.Classes.Eq a, GHC.Classes.Eq src) => GHC.Classes.Eq (Language.Symantic.Grammar.Source.At src a)
- Language.Symantic.Grammar.Source: instance (GHC.Classes.Ord a, GHC.Classes.Ord src) => GHC.Classes.Ord (Language.Symantic.Grammar.Source.At src a)
- Language.Symantic.Grammar.Source: instance (GHC.Show.Show a, GHC.Show.Show src) => GHC.Show.Show (Language.Symantic.Grammar.Source.At src a)
+ Language.Symantic.Grammar.BinTree: instance GHC.Base.Semigroup (Language.Symantic.Grammar.BinTree.BinTree a)
+ Language.Symantic.Grammar.Source: instance (GHC.Classes.Eq src, GHC.Classes.Eq a) => GHC.Classes.Eq (Language.Symantic.Grammar.Source.At src a)
+ Language.Symantic.Grammar.Source: instance (GHC.Classes.Ord src, GHC.Classes.Ord a) => GHC.Classes.Ord (Language.Symantic.Grammar.Source.At src a)
+ Language.Symantic.Grammar.Source: instance (GHC.Show.Show src, GHC.Show.Show a) => GHC.Show.Show (Language.Symantic.Grammar.Source.At src a)
- Language.Symantic.Grammar.EBNF: EBNF :: (RuleMode -> (Infix, Side) -> Text) -> EBNF a
+ Language.Symantic.Grammar.EBNF: EBNF :: RuleMode -> (Infix, Side) -> Text -> EBNF a

Files

Language/Symantic/Grammar/BinTree.hs view
@@ -2,7 +2,15 @@ -- made of applications of tokens. module Language.Symantic.Grammar.BinTree where +import Control.Applicative (Applicative(..))+import Control.Monad (Monad(..))+import Data.Eq (Eq)+import Data.Foldable (Foldable(..))+import Data.Functor (Functor(..), (<$>))+import Data.Monoid (Monoid(..)) import Data.Semigroup (Semigroup(..))+import Data.Traversable (Traversable(..))+import Text.Show (Show)  -- * Type 'BinTree' -- | /Binary Tree/.
Language/Symantic/Grammar/EBNF.hs view
@@ -1,8 +1,12 @@ module Language.Symantic.Grammar.EBNF where  import Control.Applicative (Applicative(..))-import Data.Semigroup+import Data.Eq (Eq)+import Data.Function (($), (.), id)+import Data.Functor (Functor(..))+import Data.Semigroup (Semigroup(..)) import Data.Text (Text)+import Text.Show (Show(..)) import qualified Data.Text as Text  import Language.Symantic.Grammar.Meta
Language/Symantic/Grammar/Error.hs view
@@ -1,6 +1,8 @@ {-# LANGUAGE TypeApplications #-} module Language.Symantic.Grammar.Error where +import Data.Either (Either(..))+import Data.Function (($), (.)) import Data.Proxy (Proxy)  -- * Class 'ErrorInj'
Language/Symantic/Grammar/Fixity.hs view
@@ -1,8 +1,14 @@ module Language.Symantic.Grammar.Fixity where  import Data.Bool as Bool+import Data.Eq (Eq(..))+import Data.Function ((.))+import Data.Int (Int)+import Data.Maybe (Maybe(..))+import Data.Ord (Ord(..)) import Data.Semigroup import Data.String (IsString(..))+import Text.Show (Show)  -- * Type 'Fixity' data Fixity
Language/Symantic/Grammar/Meta.hs view
@@ -2,6 +2,10 @@ {-# LANGUAGE UndecidableInstances #-} module Language.Symantic.Grammar.Meta where +import Data.Either (Either)+import Data.Function (($), const)+import Data.Functor (Functor, (<$>))+ import Language.Symantic.Grammar.Source  -- * Type 'Gram_Reader'
Language/Symantic/Grammar/Operators.hs view
@@ -4,7 +4,15 @@  import Control.Applicative (Applicative(..)) import Control.Monad (void)+import Data.Either (Either(..))+import Data.Eq (Eq) import Data.Foldable+import Data.Function (($), (.), flip, id)+import Data.Functor ((<$>))+import Data.Maybe (Maybe(..))+import Data.Ord (Ord(..), Ordering(..))+import Data.Tuple (curry)+import Text.Show (Show, showChar, showParen, showString, showsPrec)  import Language.Symantic.Grammar.Fixity import Language.Symantic.Grammar.EBNF
Language/Symantic/Grammar/Regular.hs view
@@ -1,8 +1,13 @@ -- | Symantics for regular grammars. module Language.Symantic.Grammar.Regular where +import Control.Applicative (Applicative(..))+import Data.Foldable (foldr)+import Data.Function (($), flip, id)+import Data.Functor (Functor, (<$>)) import Data.Semigroup (Semigroup(..)) import Data.String (IsString(..))+import qualified Data.List as List import qualified Data.Text as Text  import Language.Symantic.Grammar.Meta@@ -93,10 +98,10 @@ 	(<*.) :: RegL g (a -> b) -> Terminal g a -> RegL g b 	infixl 4 <*. 	manyL :: Terminal g a -> RegL g [a]-	manyL g' = reverse <$> go g'+	manyL g' = List.reverse <$> go g' 		where go g = flip (:) <$> go g <*. g <+> empty 	someL :: Terminal g a -> RegL g [a]-	someL g = (\cs c -> cs ++ [c]) <$> manyL g <*. g+	someL g = (\cs c -> cs <> [c]) <$> manyL g <*. g instance Gram_RegL EBNF where 	Reg f <*. Terminal x = Reg $ f <*> x 	manyL (Terminal (EBNF g)) = Reg $ EBNF $ \rm _po -> "{" <> g rm (op, SideL) <> "}"  where op = infixN0
Language/Symantic/Grammar/Source.hs view
@@ -2,6 +2,9 @@ {-# LANGUAGE TypeFamilies #-} module Language.Symantic.Grammar.Source where +import Data.Eq (Eq)+import Data.Ord (Ord)+import Text.Show (Show) import Data.Functor (Functor) import Data.Typeable (Typeable) 
Language/Symantic/Grammar/Terminal.hs view
@@ -2,8 +2,15 @@ -- | Symantics for terminal grammars. module Language.Symantic.Grammar.Terminal where +import Control.Applicative (Applicative(..))+import Data.Bool+import Data.Char (Char)+import Data.Eq (Eq(..))+import Data.Function (($), (.))+import Data.Functor (Functor(..), (<$>)) import Data.Semigroup (Semigroup(..))-import Data.String (IsString(..))+import Data.String (IsString(..), String)+import Text.Show (Show(..)) import qualified Data.Bool as Bool import qualified Data.Char as Char import qualified Data.List as List
stack.yaml view
@@ -1,3 +1,3 @@-resolver: lts-10.5+resolver: lts-12.8 packages: - '.'
symantic-grammar.cabal view
@@ -2,7 +2,7 @@ -- PVP:  +-+------- breaking API changes --       | | +----- non-breaking API additions --       | | | +--- code changes with no API change-version: 0.3.0.20180213+version: 0.3.1.20180831 category: Language synopsis: Library for symantic grammars. description: This library defines an embedded DSL for regular or context-free grammars,@@ -21,7 +21,7 @@  build-type: Simple cabal-version: >= 1.24-tested-with: GHC==8.2.2+tested-with: GHC==8.4.3 extra-source-files:   stack.yaml extra-tmp-files:@@ -52,6 +52,7 @@     KindSignatures     LambdaCase     MultiParamTypeClasses+    NoImplicitPrelude     OverloadedStrings     ScopedTypeVariables     StandaloneDeriving