]> Git — Sourcephile - haskell/symantic.git/commitdiff
Update to lastest symantic-document master
authorJulien Moutinho <julm+symantic@autogeree.net>
Fri, 12 Jul 2019 21:17:08 +0000 (21:17 +0000)
committerJulien Moutinho <julm+symantic@autogeree.net>
Fri, 12 Jul 2019 21:25:18 +0000 (21:25 +0000)
symantic-lib/test/HUnit/Foldable.hs
symantic/Language/Symantic/Typing/Document.hs
symantic/Language/Symantic/Typing/Show.hs
symantic/symantic.cabal

index b9de41a92dde59425456eb222ea605d07fa33ccf..2c97213f3c827325c212133af88bb329498e1666 100644 (file)
@@ -2,7 +2,6 @@
 module HUnit.Foldable where
 
 import Test.Tasty
-import Control.Applicative (Applicative)
 import Data.Either (Either(..))
 import Data.Foldable (Foldable)
 import Data.Int (Int)
index 468a1fe5df6866a9191c9f5f643b44237f570009..76ab450dd09208402c62e9c446f4c0f2d4531d79 100644 (file)
@@ -11,7 +11,6 @@ import Data.Semigroup (Semigroup(..))
 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 @@ config_Doc_Type =
 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 @@ docType conf@Config_Doc_Type{config_Doc_Type_imports=imps} pr ty =
                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 @@ docType conf@Config_Doc_Type{config_Doc_Type_imports=imps} pr ty =
        -- [] 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 @@ docType conf@Config_Doc_Type{config_Doc_Type_imports=imps} pr ty =
                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 @@ poolNames =
 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 @@ docTypes conf tys =
 -- * 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 @@ docConst imps c@Const{} =
        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 ::
index 0d6021603b4576045a021d701ad906a809556b69..d59a1523e35955c648ff31a76edc21e615b69c22 100644 (file)
@@ -11,12 +11,11 @@ import Language.Symantic.Typing.Type
 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
index efc4198fa6651e5c6317a99ce7c93a3c48b773fc..7b7a71632d5a5ccd6363d9eb486c4ad04eb4021c 100644 (file)
@@ -2,7 +2,7 @@ name: symantic
 -- 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 @@ Library
     -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