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: