top 0.2 → 0.2.2
raw patch · 9 files changed
+74/−83 lines, 9 filesdep −ListLikedep −stmdep −timedep ~acid-statedep ~asyncdep ~basePVP ok
version bump matches the API change (PVP)
Dependencies removed: ListLike, stm, time
Dependency ranges changed: acid-state, async, base, bytestring, containers, data-default-class, deepseq, directory, doctest, extra, filemanip, filepath, flat, hslogger, mtl, pipes, pretty, safecopy, tasty, tasty-hunit, template-haskell, text, th-lift, top, transformers, websockets, zm
API changes (from Hackage documentation)
+ Network.Top.Types: HostPort :: Word16 -> HostPort
+ Network.Top.Types: [port] :: HostPort -> Word16
+ Network.Top.Types: data HostPort
Files
- README.md +9/−6
- src/Data/Pattern/Transform.hs +4/−5
- src/Network/Top/Types.hs +1/−1
- stack.yaml +5/−7
- stack710.yaml +5/−7
- stack801.yaml +4/−7
- stack802.yaml +4/−9
- stack821.yaml +6/−0
- top.cabal +36/−41
README.md view
@@ -1,5 +1,8 @@ -[](https://travis-ci.org/tittoassini/top) [](http://hackage.haskell.org/package/top)+[](https://travis-ci.org/Quid2/top)+[](http://hackage.haskell.org/package/top)+[](http://stackage.org/nightly/package/top)+[](http://stackage.org/lts/package/top) Haskell API for [Top (Type Oriented Protocol)](http://quid2.org/docs/Top.pdf). @@ -58,7 +61,7 @@ Under the *Channels* tab are listed the currently open channels, every channel has a type and you can see its full definition by clicking on *Definition*. -Definitions are just [plain algebraic data types](https://github.com/tittoassini/zm).+Definitions are just [plain algebraic data types](https://github.com/Quid2/zm). For example, you should see a *Message* channel that is used to implement a simple chat system. Click on *Show Values* to inspect the value being transferred and then use the [chat user interface](http://quid2.org/app/chat) to login and send a couple of messages and see them appear on the channel. @@ -99,10 +102,10 @@ For examples of stand-alone and www applications see: -* [top-apps-ghcjs](https://github.com/tittoassini/top-apps-ghcjs)- * Example WWW applications for [top](https://github.com/tittoassini/top), using [ghcjs](https://github.com/ghcjs/ghcjs).-* [top-apps](https://github.com/tittoassini/top-apps)- * Example applications for [top](https://github.com/tittoassini/top).+* [top-apps-ghcjs](https://github.com/Quid2/top-apps-ghcjs)+ * Example WWW applications for [top](https://github.com/Quid2/top), using [ghcjs](https://github.com/ghcjs/ghcjs).+* [top-apps](https://github.com/Quid2/top-apps)+ * Example applications for [top](https://github.com/Quid2/top). #### Installation
src/Data/Pattern/Transform.hs view
@@ -7,14 +7,13 @@ -- |Convert an Haskell pattern to the corresponding `ByPattern` channel identifier module Data.Pattern.Transform (byPattern, byPattern_) where -import qualified Data.Flat.Bits as V+import qualified Data.Flat.Bits as V import Data.Int-import qualified Data.ListLike.String as L-import qualified Data.Map as M+import qualified Data.Map as M import Data.Pattern.Types import Data.Pattern.Util import Data.Word-import ZM hiding (Name)+import ZM hiding (Name) -- |Convert an Haskell pattern to the corresponding `ByPattern` channel identifier -- or throw an error if conversion fails@@ -29,7 +28,7 @@ solveCons t = let Just ct = M.lookup t ctMap in (ct,t) conv (PCon n ps) (ct,t) =- case constructorInfo (L.fromString n) ct of+ case constructorInfo (convert n) ct of Nothing -> err ["Constructor '"++ n ++"' not present in",show t] Just (bs,ts) | length ts == length ps -> Right (MatchValue . map boolToBit $ bs) : concatMap (uncurry conv) (zip ps $ map solveCons ts) | otherwise -> err ["Constructor",n,"has",show (length ts),"parameters, found",show (length ps)]
src/Network/Top/Types.hs view
@@ -39,7 +39,7 @@ ,ChannelSelectionResult(..) -- *Network Addresses- ,WebSocketAddress(..),SocketAddress(..),IP4Address(..),IP6Address,HostAddress(..)+ ,WebSocketAddress(..),SocketAddress(..),IP4Address(..),IP6Address,HostAddress(..),HostPort(..) -- *Re-exports -- ,module ZM
stack.yaml view
@@ -1,11 +1,9 @@-resolver: lts-6.32--packages:-- '.'+resolver: lts-6.35 extra-deps:-- model-0.3+- model-0.4.2 - flat-0.3-- zm-0.2.4+- zm-0.3 - cryptonite-0.22-- mono-traversable-1.0.2+- mono-traversable-1.0.4.0+
stack710.yaml view
@@ -1,11 +1,9 @@-resolver: lts-6.32--packages:-- '.'+resolver: lts-6.35 extra-deps:-- model-0.3+- model-0.4.2 - flat-0.3-- zm-0.2.4+- zm-0.3 - cryptonite-0.22-- mono-traversable-1.0.2+- mono-traversable-1.0.4.0+
stack801.yaml view
@@ -1,11 +1,8 @@-resolver: lts-7.23--packages:-- '.'+resolver: lts-7.24 extra-deps:-- model-0.3+- model-0.4.2 - flat-0.3-- zm-0.2.4+- zm-0.3 - cryptonite-0.22-- mono-traversable-1.0.2+
stack802.yaml view
@@ -1,11 +1,6 @@-resolver: lts-8.15--packages:-- '.'+resolver: lts-9.12 extra-deps:-- model-0.3-- flat-0.3-- zm-0.2.4-- cryptonite-0.22-- mono-traversable-1.0.2+- model-0.4.2+- zm-0.3+- acid-state-0.14.3
+ stack821.yaml view
@@ -0,0 +1,6 @@+resolver: nightly-2017-11-09++extra-deps:+- model-0.4.2+- zm-0.3+- acid-state-0.14.3
top.cabal view
@@ -1,5 +1,5 @@ name: top-version: 0.2+version: 0.2.2 synopsis: Top (typed oriented protocol) API description: See the <http://github.com/tittoassini/top online tutorial>. homepage: http://github.com/tittoassini/top@@ -11,12 +11,13 @@ copyright: Copyright: (c) 2016 Pasqualino `Titto` Assini cabal-version: >=1.10 build-type: Simple-Tested-With: GHC == 7.10.3 GHC == 8.0.1 GHC == 8.0.2+Tested-With: GHC == 7.10.3 GHC == 8.0.1 GHC == 8.0.2 GHC == 8.2.1 extra-source-files: stack.yaml stack710.yaml stack801.yaml stack802.yaml+ stack821.yaml README.md source-repository head@@ -27,7 +28,7 @@ if impl(ghc <8) build-depends:- th-lift >=0.7.7+ th-lift >=0.7.7 && < 0.8 if impl(ghcjs -any) build-depends:@@ -37,11 +38,11 @@ Repo.DB Repo.Disk build-depends:- websockets >=0.9.8.2,- hslogger >=1.2.10,- acid-state >=0.14.2,- safecopy >=0.9.3,- filepath >=1.4.0.0+ acid-state >=0.14.2 && < 0.15,+ filepath >=1.4.0.0 && < 1.5,+ hslogger,+ safecopy >=0.9.3 && <1,+ websockets >=0.9.8.2 && < 0.13 exposed-modules: Data.Pattern Data.Pattern.Types@@ -58,24 +59,21 @@ Repo.Types Repo.Memory build-depends:- async >=2.1.1,- base >=4.7 && <5,- bytestring >=0.10.6.0,- data-default-class >=0.0.1,- flat >=0.3,- template-haskell >=2.10.0.0,- pipes >=4.1.9,- transformers >=0.4.2.0,- zm >=0.2,- text >=1.2.2.1,- stm >=2.4.4.1,- ListLike >=4.2.1,- containers >=0.5.6.2,- mtl >=2.2.1,- deepseq >=1.4.1.1,- extra >=1.4.10,- time >=1.5.0.1,- pretty >=1.1.2.0+ async >=2.1.1 && < 3,+ base >=4.7 && <5,+ bytestring>=0.10.6.0 && < 0.11,+ data-default-class,+ template-haskell >=2.10.0.0 && < 3, + pipes >=4.1.9 && <5,+ transformers >= 0.4.2.0 && < 0.6,+ text,+ mtl >=2.2.1 && < 2.3,+ containers ==0.5.*,+ deepseq ==1.4.*,+ extra >=1.4.10 && <2,+ pretty >= 1.1.2 && < 1.2,+ flat==0.3.*,+ zm ==0.3 default-language: Haskell2010 hs-source-dirs: src @@ -83,23 +81,20 @@ type: exitcode-stdio-1.0 main-is: RepoSpec.hs build-depends:- base >=4.8.2.0,- top >=0.1.1,- zm >=0.2.4,- tasty >=0.11.0.2,- tasty-hunit >=0.9.2,- directory >=1.2+ base,+ directory >=1.2 && <2,+ tasty >= 0.11 && < 0.13,+ tasty-hunit >= 0.8 && < 0.10,+ top,+ zm default-language: Haskell2010 hs-source-dirs: test ghc-options: -threaded -rtsopts -with-rtsopts=-N test-suite top-doctest- type: exitcode-stdio-1.0- main-is: DocSpec.hs- build-depends:- base >4 && <5,- doctest >=0.11.1,- filemanip >=0.3.6.3- default-language: Haskell2010- hs-source-dirs: test- ghc-options: -threaded+ default-language: Haskell2010+ type: exitcode-stdio-1.0+ ghc-options: -threaded+ main-is: DocSpec.hs+ build-depends: base, doctest>=0.11.1 && <0.14,filemanip>=0.3.6.3 && < 0.3.7+ HS-Source-Dirs: test