@@ -36,7 +36,7 @@ others experimental.
3636* [ rank1dynamic] [ rank1dynamic ] : Like ` Data.Dynamic ` and ` Data.Typeable ` but supporting polymorphic values
3737* [ network-transport] [ network-transport ] : Generic ` Network.Transport ` API
3838* [ network-transport-tcp] [ network-transport-tcp ] : TCP realisation of ` Network.Transport `
39- * [ network-transport-inmemory] [ network-transport-inmemory ] : In-memory realisation of ` Network.Transport ` (incomplete)
39+ * [ network-transport-inmemory] [ network-transport-inmemory ] : In-memory realisation of ` Network.Transport ` (incomplete)
4040* [ network-transport-composed] [ network-transport-composed ] : Compose two transports (very preliminary)
4141* [ distributed-process-simplelocalnet] [ distributed-process-simplelocalnet ] : Simple backend for local networks
4242* [ distributed-process-azure] [ distributed-process-azure ] : Azure backend for Cloud Haskell (proof of concept)
@@ -50,7 +50,7 @@ backend transports.
5050
5151Abstracting over the transport layer allows different protocols for
5252message passing, including TCP/IP, UDP,
53- [ MPI] ( http://en.wikipedia.org/wiki/Message_Passing_Interface ) ,
53+ [ MPI] ( http://en.wikipedia.org/wiki/Message_Passing_Interface ) ,
5454[ CCI] ( http://www.olcf.ornl.gov/center-projects/common-communication-interface/ ) ,
5555ZeroMQ, SSH, MVars, Unix pipes, and more. Each of these transports would provide
5656its own implementation of the ` Network.Transport ` and provide a means of creating
@@ -109,7 +109,7 @@ The Cloud Haskell interface and backend, make use of the Transport
109109interface provided by the ` Network.Transport ` module.
110110This also serves as an interface for the ` Network.Transport.* `
111111module, which provides a specific implementation for this transport,
112- and may, for example, be based on some external library written in
112+ and may, for example, be based on some external library written in
113113Haskell or C.
114114
115115### Network Transport Abstraction Layer
@@ -166,7 +166,7 @@ For more details about `Network.Transport` please see the [wiki page](/wiki/netw
166166
167167The * Process Layer* is where Cloud Haskell's support for concurrency and
168168distributed programming are exposed to application developers. This layer
169- deals explicitly with
169+ deals explicitly with
170170
171171The core of Cloud Haskell's concurrency and distribution support resides in the
172172[ distributed-process] [ distributed-process ] library. As well as the APIs necessary for starting
@@ -254,10 +254,10 @@ We create channels with a call to `newChan`, and send/receive on them using the
254254channelsDemo :: Process ()
255255channelsDemo = do
256256 (sp, rp) <- newChan :: Process (SendPort String, ReceivePort String)
257-
257+
258258 -- send on a channel
259259 spawnLocal $ sendChan sp "hello!"
260-
260+
261261 -- receive on a channel
262262 m <- receiveChan rp
263263 say $ show m
@@ -356,13 +356,13 @@ demoAsync = do
356356
357357 -- we can cancel the task if we want to
358358 -- cancel hAsync
359-
359+
360360 -- or cancel it and wait until it has exited
361361 -- cancelWait hAsync
362-
362+
363363 -- we can wait on the task and timeout if it's still busy
364364 Nothing <- waitTimeout (within 3 Seconds) hAsync
365-
365+
366366 -- or finally, we can block until the task is finished!
367367 asyncResult <- wait hAsync
368368 case asyncResult of
@@ -400,11 +400,11 @@ and another for tasks you wish to execute on remote nodes.
400400{% highlight haskell %}
401401-- | A task to be performed asynchronously.
402402data AsyncTask a =
403- AsyncTask
403+ AsyncTask
404404 {
405405 asyncTask :: Process a -- ^ the task to be performed
406406 }
407- | AsyncRemoteTask
407+ | AsyncRemoteTask
408408 {
409409 asyncTaskDict :: Static (SerializableDict a)
410410 -- ^ the serializable dict required to spawn a remote process
0 commit comments