packages feed

symantic 6.3.3.20190614 → 6.3.4.20190712

raw patch · 3 files changed

+26/−28 lines, 3 filesdep ~symantic-documentPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: symantic-document

API changes (from Hackage documentation)

- Language.Symantic.Typing.Document: docConst :: Monoid d => DocFrom (Word Char) d => DocFrom (Word Text) d => Imports NameTy -> Const src c -> d
+ Language.Symantic.Typing.Document: docConst :: Monoid d => From (Word Char) d => From (Word Text) d => Imports NameTy -> Const src c -> d
- Language.Symantic.Typing.Document: docMod :: Monoid d => DocFrom (Word Char) d => DocFrom (Word Text) d => (a -> d) -> Mod a -> d
+ Language.Symantic.Typing.Document: docMod :: Monoid d => From (Word Char) d => From (Word Text) d => (a -> d) -> Mod a -> d
- Language.Symantic.Typing.Document: docNameTy :: DocFrom (Word Text) d => NameTy -> d
+ Language.Symantic.Typing.Document: docNameTy :: From (Word Text) d => NameTy -> d
- Language.Symantic.Typing.Document: docParen :: Spaceable d => DocFrom (Word Char) d => d -> d
+ Language.Symantic.Typing.Document: docParen :: Spaceable d => From (Word Char) d => d -> d
- Language.Symantic.Typing.Document: docPathMod :: Monoid d => DocFrom (Word Char) d => DocFrom (Word Text) d => PathMod -> d
+ Language.Symantic.Typing.Document: docPathMod :: Monoid d => From (Word Char) d => From (Word Text) d => PathMod -> d
- Language.Symantic.Typing.Document: docType :: forall src vs t d. Semigroup d => DocFrom (Word Char) d => DocFrom (Word Text) d => Spaceable d => Colorable16 d => Config_Doc_Type -> Precedence -> Type src vs t -> d
+ Language.Symantic.Typing.Document: docType :: forall src vs t d. Semigroup d => From (Word Char) d => From (Word Text) d => Spaceable d => Colorable16 d => Config_Doc_Type -> Precedence -> Type src vs t -> d
- Language.Symantic.Typing.Document: docTypes :: forall src vs ts d. Semigroup d => DocFrom (Word Char) d => DocFrom (Word Text) d => Spaceable d => Colorable16 d => Config_Doc_Type -> Types src vs ts -> d
+ Language.Symantic.Typing.Document: docTypes :: forall src vs ts d. Semigroup d => From (Word Char) d => From (Word Text) d => Spaceable d => Colorable16 d => Config_Doc_Type -> Types src vs ts -> d
- Language.Symantic.Typing.Show: stringDocTerm :: PlainText (Plain Builder) -> String
+ Language.Symantic.Typing.Show: stringDocTerm :: Plain Builder -> String

Files

Language/Symantic/Typing/Document.hs view
@@ -11,7 +11,6 @@ import Data.Set (Set) import Data.Text (Text) import Data.Typeable-import Symantic.Document (DocFrom(..)) import qualified Data.List as L import qualified Data.Map.Strict as Map import qualified Data.Set as Set@@ -48,8 +47,8 @@ docType ::  forall src vs t d.  Semigroup d =>- DocFrom (Doc.Word Char) d =>- DocFrom (Doc.Word Text) d =>+ Doc.From (Doc.Word Char) d =>+ Doc.From (Doc.Word Text) d =>  Doc.Spaceable d =>  Doc.Colorable16 d =>  Config_Doc_Type ->@@ -69,7 +68,7 @@ 		let iv = indexVar v in 		case Map.lookup iv v2n of 		 Nothing -> error "[BUG] docType: variable name missing"-		 Just n -> docFrom (Doc.Word n)+		 Just n -> Doc.from (Doc.Word n) 	-- Const 	go _v2n _po (TyConst _src _vs c@Const{}) = 		(if isNameTyOp c then docParen else id) $@@ -77,7 +76,7 @@ 	-- [] Const 	go v2n _po (TyApp _ (TyConst _ _ f@Const{}) a) 	 | Just HRefl <- proj_ConstKi @(K []) @[] f =-		Doc.between (docFrom (Doc.Word '[')) (docFrom (Doc.Word ']')) $+		Doc.between (Doc.from (Doc.Word '[')) (Doc.from (Doc.Word ']')) $ 		go v2n (infixB SideL 0, SideL) a 	-- Infix Const 	go v2n po (TyApp _ (TyApp _ (TyConst _ _ f@Const{}) a) b)@@ -92,7 +91,7 @@ 		go v2n (op, SideR) b 		where 		d_op :: Text -> d-		d_op = Doc.yellower . docFrom . Doc.Word+		d_op = Doc.yellower . Doc.from . Doc.Word 		prettyConst :: forall k c. Const src (c::k) -> d 		prettyConst c | Just HRefl <- proj_ConstKi @(K (#>)) @(#>) c = Doc.space <> d_op "=>" <> Doc.space 		prettyConst c | Just HRefl <- proj_ConstKi @(K (#))  @(#)  c = d_op "," <> Doc.space@@ -176,21 +175,21 @@ docTypes ::  forall src vs ts d.  Semigroup d =>- DocFrom (Doc.Word Char) d =>- DocFrom (Doc.Word Text) d =>+ Doc.From (Doc.Word Char) d =>+ Doc.From (Doc.Word Text) d =>  Doc.Spaceable d =>  Doc.Colorable16 d =>  Config_Doc_Type ->  Types src vs ts -> d docTypes conf tys =-	d_op (docFrom (Doc.Word '[')) <> go tys <> d_op (docFrom (Doc.Word ']'))+	d_op (Doc.from (Doc.Word '[')) <> go tys <> d_op (Doc.from (Doc.Word ']')) 	where 	d_op = Doc.yellower 	go :: forall xs. Types src vs xs -> d 	go TypesZ = mempty 	go (TypesS t0 (TypesS t1 ts)) = 		docType conf 10 t0 <>-		d_op (docFrom (Doc.Word ',')) <> Doc.space <>+		d_op (Doc.from (Doc.Word ',')) <> Doc.space <> 		docType conf 10 t1 <> 		go ts 	go (TypesS t ts) = docType conf 10 t <> go ts@@ -198,8 +197,8 @@ -- * Document 'Const' docConst ::  Monoid d =>- DocFrom (Doc.Word Char) d =>- DocFrom (Doc.Word Text) d =>+ Doc.From (Doc.Word Char) d =>+ Doc.From (Doc.Word Text) d =>  Imports NameTy -> Const src c -> d docConst imps c@Const{} = 	docMod docNameTy $@@ -210,31 +209,31 @@ 	mn@(m `Mod` n) = nameTyOf c  -- * Document 'NameTy'-docNameTy :: DocFrom (Doc.Word Text) d => NameTy -> d-docNameTy (NameTy t) = docFrom (Doc.Word t)+docNameTy :: Doc.From (Doc.Word Text) d => NameTy -> d+docNameTy (NameTy t) = Doc.from (Doc.Word t)  -- * Document 'Mod' docMod ::  Monoid d =>- DocFrom (Doc.Word Char) d =>- DocFrom (Doc.Word Text) d =>+ Doc.From (Doc.Word Char) d =>+ Doc.From (Doc.Word Text) d =>  (a -> d) -> Mod a -> d docMod a2d ([] `Mod` a) = a2d a-docMod a2d (m `Mod`  a) = docPathMod m <> (docFrom (Doc.Word '.')) <> a2d a+docMod a2d (m `Mod`  a) = docPathMod m <> (Doc.from (Doc.Word '.')) <> a2d a  -- * Document 'PathMod' docPathMod ::  Monoid d =>- DocFrom (Doc.Word Char) d =>- DocFrom (Doc.Word Text) d =>+ Doc.From (Doc.Word Char) d =>+ Doc.From (Doc.Word Text) d =>  PathMod -> d docPathMod (p::PathMod) = 	mconcat $-	L.intersperse (docFrom (Doc.Word '.')) $-	(\(NameMod n) -> docFrom (Doc.Word n)) <$> p+	L.intersperse (Doc.from (Doc.Word '.')) $+	(\(NameMod n) -> Doc.from (Doc.Word n)) <$> p -docParen :: Doc.Spaceable d => DocFrom (Doc.Word Char) d => d -> d-docParen = Doc.between (docFrom (Doc.Word '(')) (docFrom (Doc.Word ')'))+docParen :: Doc.Spaceable d => Doc.From (Doc.Word Char) d => d -> d+docParen = Doc.between (Doc.from (Doc.Word '(')) (Doc.from (Doc.Word ')'))  {- docModules ::
Language/Symantic/Typing/Show.hs view
@@ -11,12 +11,11 @@ import Language.Symantic.Typing.Module import Language.Symantic.Typing.Document -stringDocTerm :: Doc.PlainText (Doc.Plain TLB.Builder) -> String+stringDocTerm :: Doc.Plain TLB.Builder -> String stringDocTerm = 	TL.unpack . 	TLB.toLazyText .-	Doc.runPlain .-	Doc.runPlainText+	Doc.runPlain  showType :: Config_Doc_Type -> Type src vs t -> String showType conf ty = stringDocTerm $ docType conf 0 ty
symantic.cabal view
@@ -2,7 +2,7 @@ -- PVP:  +-+------- breaking API changes --       | | +----- non-breaking API additions --       | | | +--- code changes with no API change-version: 6.3.3.20190614+version: 6.3.4.20190712 synopsis: Library for Typed Tagless-Final Higher-Order Composable DSL description: This is an experimental library for composing, parsing,              typing, compiling, transforming and interpreting@@ -82,7 +82,7 @@     -fhide-source-paths   build-depends:       symantic-grammar-    , symantic-document >= 1.0+    , symantic-document >= 1.5     , base              >= 4.6 && < 5     , containers        >= 0.5     , mono-traversable  >= 1.0