Cabal revisions of ghcjs-websockets-0.3.0.5
Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.
revision 1
-name: ghcjs-websockets-version: 0.3.0.5-synopsis: GHCJS interface for the Javascript Websocket API-description:- Documentation online at- <http://mstksg.github.io/ghcjs-websockets/JavaScript-WebSockets.html>- .- 'ghcjs-websockets' aims to provide a clean, idiomatic,- efficient, low-level, out-of-your-way, bare bones,- concurrency-aware interface with minimal abstractions- over the Javascript Websockets API- <http://www.w3.org/TR/websockets/>,- inspired by common Haskell idioms found in libraries like- 'io-stream'- <http://hackage.haskell.org/package/io-streams> and the- server-side 'websockets'- <http://hackage.haskell.org/package/websockets> library,- targeting compilation to Javascript with 'ghcjs'.- .- The interface asbtracts websockets as simple IO/file- handles, with additional access to the natively "typed"- (text vs binary) nature of the Javascript Websockets API.- There are also convenience functions to directly decode- serialized data (serialized with 'binary'- <http://hackage.haskell.org/package/binary>) sent through- channels.- .- The library is mostly intended to be a low-level FFI- library, with the hopes that other, more advanced- libraries maybe build on the low-level FFI bindings in- order to provide more advanced and powerful abstractions.- Most design decisions were made with the intent of- keeping things as simple as possible in order for future- libraries to abstract over it.- .- Most of the necessary functionality is in hopefully in- 'JavaScript.WebSockets'; more of the low-level API is- exposed in 'JavaScript.WebSockets.Internal' if you need- it for library construction.- .- See the 'JavaScript.WebSockets' module for detailed usage- instructions and examples.- .- Some examples:- .- > import Data.Text (unpack)- >- > -- A simple echo client, echoing all incoming text data- > main :: IO ()- > main = withUrl "ws://my-server.com" $ \conn ->- > forever $ do- > t <- receiveText conn- > putStrLn (unpack t)- > sendText conn t- .- > -- A simple client waiting for connections and outputting the running sum- > main :: IO ()- > main = withUrl "ws://my-server.com" (runningSum 0)- >- > runningSum :: Int -> Connection -> IO ()- > runningSum n conn = do- > i <- receiveData conn- > print (n + i)- > runningSum (n + i) conn- .- > -- Act as a relay between two servers- > main :: IO ()- > main = do- > conn1 <- openConnection "ws://server-1.com"- > conn2 <- openConnection "ws://server-2.com"- > forever $ do- > msg <- receiveMessage conn1- > sendMessage conn2 msg- > closeConnection conn2- > closeConnection conn1--homepage: http://github.com/mstksg/ghcjs-websockets-license: MIT-license-file: LICENSE-author: Justin Le <justin@jle.im>-maintainer: Justin Le <justin@jle.im>-copyright: Copyright (c) Justin Le 2015-category: Web-build-type: Simple-extra-source-files: CHANGELOG.md- , README.md-cabal-version: >=1.10--source-repository head- type: git- location: https://github.com/mstksg/ghcjs-websockets--flag ghcjs- description: Tell cabal we are using ghcjs (work around until hackage supports impl(ghcjs))- default: True--library- exposed-modules: JavaScript.WebSockets- , JavaScript.WebSockets.Internal- -- ghcjs-options: -O2- other-modules: JavaScript.Blob- , JavaScript.WebSockets.FFI- , JavaScript.NoGHCJS- -- other-extensions:- ghc-options: -Wall- build-depends: base >= 4.7 && < 5- , base64-bytestring >= 1- , binary >= 0.7- , bytestring >= 0.10- , text >= 1- -- if impl(ghcjs)- if flag(ghcjs)- build-depends: ghcjs-base >= 0.1- hs-source-dirs: src- default-language: Haskell2010+name: ghcjs-websockets +version: 0.3.0.5 +x-revision: 1 +synopsis: Deprecated: use ghcjs-base's native websockets +description: + Documentation online at + <http://mstksg.github.io/ghcjs-websockets/JavaScript-WebSockets.html> + . + Deprecated in favor of ghcjs-base's native websockets. + . + 'ghcjs-websockets' aims to provide a clean, idiomatic, + efficient, low-level, out-of-your-way, bare bones, + concurrency-aware interface with minimal abstractions + over the Javascript Websockets API + <http://www.w3.org/TR/websockets/>, + inspired by common Haskell idioms found in libraries like + 'io-stream' + <http://hackage.haskell.org/package/io-streams> and the + server-side 'websockets' + <http://hackage.haskell.org/package/websockets> library, + targeting compilation to Javascript with 'ghcjs'. + . + The interface asbtracts websockets as simple IO/file + handles, with additional access to the natively "typed" + (text vs binary) nature of the Javascript Websockets API. + There are also convenience functions to directly decode + serialized data (serialized with 'binary' + <http://hackage.haskell.org/package/binary>) sent through + channels. + . + The library is mostly intended to be a low-level FFI + library, with the hopes that other, more advanced + libraries maybe build on the low-level FFI bindings in + order to provide more advanced and powerful abstractions. + Most design decisions were made with the intent of + keeping things as simple as possible in order for future + libraries to abstract over it. + . + Most of the necessary functionality is in hopefully in + 'JavaScript.WebSockets'; more of the low-level API is + exposed in 'JavaScript.WebSockets.Internal' if you need + it for library construction. + . + See the 'JavaScript.WebSockets' module for detailed usage + instructions and examples. + . + Some examples: + . + > import Data.Text (unpack) + > + > -- A simple echo client, echoing all incoming text data + > main :: IO () + > main = withUrl "ws://my-server.com" $ \conn -> + > forever $ do + > t <- receiveText conn + > putStrLn (unpack t) + > sendText conn t + . + > -- A simple client waiting for connections and outputting the running sum + > main :: IO () + > main = withUrl "ws://my-server.com" (runningSum 0) + > + > runningSum :: Int -> Connection -> IO () + > runningSum n conn = do + > i <- receiveData conn + > print (n + i) + > runningSum (n + i) conn + . + > -- Act as a relay between two servers + > main :: IO () + > main = do + > conn1 <- openConnection "ws://server-1.com" + > conn2 <- openConnection "ws://server-2.com" + > forever $ do + > msg <- receiveMessage conn1 + > sendMessage conn2 msg + > closeConnection conn2 + > closeConnection conn1 + +homepage: http://github.com/mstksg/ghcjs-websockets +license: MIT +license-file: LICENSE +author: Justin Le <justin@jle.im> +maintainer: Justin Le <justin@jle.im> +copyright: Copyright (c) Justin Le 2015 +category: Web +build-type: Simple +extra-source-files: CHANGELOG.md + , README.md +cabal-version: >=1.10 + +source-repository head + type: git + location: https://github.com/mstksg/ghcjs-websockets + +flag ghcjs + description: Tell cabal we are using ghcjs (work around until hackage supports impl(ghcjs)) + default: True + +library + exposed-modules: JavaScript.WebSockets + , JavaScript.WebSockets.Internal + -- ghcjs-options: -O2 + other-modules: JavaScript.Blob + , JavaScript.WebSockets.FFI + , JavaScript.NoGHCJS + -- other-extensions: + ghc-options: -Wall + build-depends: base >= 4.7 && < 5 + , base64-bytestring >= 1 + , binary >= 0.7 + , bytestring >= 0.10 + , text >= 1 + -- if impl(ghcjs) + if flag(ghcjs) + build-depends: ghcjs-base >= 0.1 + hs-source-dirs: src + default-language: Haskell2010