Metadata revisions for sockets-and-pipes-0.1

Package maintainers and Hackage trustees are allowed to edit certain bits of package metadata after a release, without uploading a new tarball. Note that the tarball itself is never changed, just the metadata that is stored separately. For more information about metadata revisions, please refer to the Hackage Metadata Revisions FAQ.

No. Time User SHA256
-r4 (sockets-and-pipes-0.1-r4) 2021-02-25T09:14:56Z chris_martin 192967866616b6ac3209aa0745edd37d1be04ae4fb8f1853c93e63bafcfd62d3
  • Changed tested-with from

    ghc ==8.10.3: ghc ==8.8.4: ghc ==8.6.5
    to
    ghc ==9.0.1: ghc ==8.10.3: ghc ==8.8.4: ghc ==8.6.5

  • Changed the library component's library dependency on 'base' from

    ^>=4.12 || ^>=4.13 || ^>=4.14
    to
    ^>=4.12 || ^>=4.13 || ^>=4.14 || ^>=4.15

-r3 (sockets-and-pipes-0.1-r3) 2021-02-25T08:50:21Z chris_martin 42ad7af2ccec982507dfd4a20d5457b6d1d041163f8dd4655c39256e0964180d
  • Changed the library component's library dependency on 'time' from

    ^>=1.9 || ^>=1.10
    to
    ^>=1.9 || ^>=1.10 || ^>=1.11

-r2 (sockets-and-pipes-0.1-r2) 2021-02-24T21:22:07Z chris_martin 6da4aa52b48fffad835aac5e153ef16603791179e47a6ed6ccbb838261e2d365
  • Changed description from

    This package contains some utilities that support /Sockets and Pipes/
    (available on <https://leanpub.com/sockets-and-pipes Leanpub>),
    as well as re-exports from all the libraries mentioned in the book.
    
    == Code in this package
    
    Original contributions from this package:
    
    * "SocketsAndPipes.Serve"
    
    == Chapters
    
    List of modules that make a significant appearance in each chapter:
    
    +----+----------------------+----------------------------------+---------------------------------------+
    |    |   Chapter            |          Module                  |               Purpose                 |
    +====+======================+==================================+=======================================+
    |  1 | __Handles__          | "System.IO"                      | Writing to a file                     |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Control.Exception.Safe"         | Using `bracket` to ensure             |
    |    |                      |                                  | the file handle is closed             |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  2 | __Chunks__           | "Data.Text"                      | `Text` is a chunk of characters       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.IO"                   | Reading and writing files using       |
    |    |                      |                                  | `Text` instead of `String`            |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  3 | __Bytes__            | "Data.Word"                      | What a byte is                        |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.ByteString"                | `ByteString` is a chunk of bytes      |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.Encoding"             | Conversions between `ByteString`      |
    |    |                      |                                  | and `Text`                            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.String"                    | How `ByteString` works with           |
    |    |                      +----------------------------------+ `OverloadedStrings`                   |
    |    |                      | "Data.ByteString.Char8"          |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.IO"                      | Putting `Handle`s into binary mode    |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  4 | __Sockets__          | "Network.Socket"                 | Opening and closing sockets           |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Network.Socket.ByteString"      | Writing to and reading from sockets   |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.Timeout"                 | Giving up quickly when a service      |
    |    |                      |                                  | does not respond                      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  5 | __HTTP__             | "ASCII"                          | Expressing HTTP messages as strings   |
    |    |                      +----------------------------------+                                       |
    |    |                      | "ASCII.Char"                     |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | Our first rudimentary web server      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  6 | __HTTP types__       | "Data.ByteString"                | Defining datatypes for the            |
    |    |                      +----------------------------------+ parts of an HTTP message              |
    |    |                      | "Data.ByteString.Lazy"           |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  7 | __Encoding__         | "Data.Text.Lazy"                 | Efficient string concatenations       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.Text.Lazy.Builder"         |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.ByteString.Builder"        |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Time"                      | Simple performance testing            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Foldable"                  | Encoding repetitions with `foldMap`   |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  8 | __Responding__       | "Network.Socket.ByteString.Lazy" | Sending responses constructed by      |
    |    |                      |                                  | bytestring `Builder`                  |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | New web server using the              |
    |    |                      |                                  | encoding functions                    |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Int"                       | Contrasting `Integer`, `Int`,         |
    |    |                      |                                  | and `Int64`                           |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  9 | __Content types__    | "Data.Text.Lazy.Builder.Int"     | Building a text response body         |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Text.Blaze.Html"                | Building an HTML response body        |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html5"               |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html.Renderer.Utf8"  |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Aeson"                     | Building a JSON response body         |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 10 | __Change__           | "Control.Concurrent.STM.TVar"    | Shared state for request-handling     |
    |    |                      +----------------------------------+ threads                               |
    |    |                      | "Control.Monad.STM"              |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 11 | __Chunked bodies__   |                                                                          |
    +----+----------------------+                                                                          |
    | 12 | __Request parsing__  |                                                                          |
    +----+----------------------+                                                                          |
    | 13 | __Reading headers__  |                                                                          |
    +----+----------------------+                 The remaining chapters are in progress.                  |
    | 14 | __Body parsing__     |                                                                          |
    +----+----------------------+                                                                          |
    | 15 | __Connection reuse__ |                                                                          |
    +----+----------------------+                                                                          |
    | 16 | __Pipes__            |                                                                          |
    +----+----------------------+--------------------------------------------------------------------------+
    
    == Libraries
    
    Re-exported modules, grouped by the package that each module originally comes from:
    
    __ascii__ - "ASCII", "ASCII.Char"
    
    __aeson__ - "Data.Aeson"
    
    __async__ - "Control.Concurrent.Async"
    
    __base__
    
    * File handles - "System.IO"
    * Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
    * Miscellania - "System.Timeout", "Control.Monad",
    "Data.Foldable", "Data.List"
    
    __blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
    "Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
    
    __bytestring__
    
    * Strict - "Data.ByteString"
    * Lazy - "Data.ByteString.Lazy"
    * Builder - "Data.ByteString.Builder"
    * "Data.ByteString.Char8" -
    This is included mostly to discuss why we don't use it.
    
    __network__
    
    * "Network.Socket" -
    The Socket type, operations for opening and closing sockets
    * "Network.Socket.ByteString" -
    Socket read/write operations with strict byte strings
    * "Network.Socket.ByteString.Lazy" -
    Socket read/write operations with lazy byte strings
    
    __safe-exceptions__ - "Control.Exception.Safe"
    
    __stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
    
    __text__
    
    * Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
    * Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
    * Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
    
    __time__ - "Data.Time"
    to
    This package contains some utilities that support /Sockets and Pipes/
    (available on <https://leanpub.com/sockets-and-pipes Leanpub>),
    as well as re-exports from all the libraries mentioned in the book.
    
    == Code in this package
    
    Original contributions from this package:
    
    * "SocketsAndPipes.Serve"
    
    == Chapters
    
    List of modules that make a significant appearance in each chapter:
    
    +----+----------------------+----------------------------------+---------------------------------------+
    |    |   Chapter            |          Module                  |               Purpose                 |
    +====+======================+==================================+=======================================+
    |  1 | __Handles__          | "System.IO"                      | Writing to a file                     |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Control.Exception.Safe"         | Using `bracket` to ensure             |
    |    |                      |                                  | the file handle is closed             |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  2 | __Chunks__           | "Data.Text"                      | `Text` is a chunk of characters       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.IO"                   | Reading and writing files using       |
    |    |                      |                                  | `Text` instead of `String`            |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  3 | __Bytes__            | "Data.Word"                      | What a byte is                        |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.ByteString"                | `ByteString` is a chunk of bytes      |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.Encoding"             | Conversions between `ByteString`      |
    |    |                      |                                  | and `Text`                            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.String"                    | How `ByteString` works with           |
    |    |                      +----------------------------------+ `OverloadedStrings`                   |
    |    |                      | "Data.ByteString.Char8"          |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.IO"                      | Putting `Handle`s into binary mode    |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  4 | __Sockets__          | "Network.Socket"                 | Opening and closing sockets           |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Network.Socket.ByteString"      | Writing to and reading from sockets   |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.Timeout"                 | Giving up quickly when a service      |
    |    |                      |                                  | does not respond                      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  5 | __HTTP__             | "ASCII"                          | Expressing HTTP messages as strings   |
    |    |                      +----------------------------------+                                       |
    |    |                      | "ASCII.Char"                     |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | Our first rudimentary web server      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  6 | __HTTP types__       | "Data.ByteString"                | Defining datatypes for the            |
    |    |                      +----------------------------------+ parts of an HTTP message              |
    |    |                      | "Data.ByteString.Lazy"           |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  7 | __Encoding__         | "Data.Text.Lazy"                 | Efficient string concatenations       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.Text.Lazy.Builder"         |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.ByteString.Builder"        |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Time"                      | Simple performance testing            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Foldable"                  | Encoding repetitions with `foldMap`   |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  8 | __Responding__       | "Network.Socket.ByteString.Lazy" | Sending responses constructed by      |
    |    |                      |                                  | bytestring `Builder`                  |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | New web server using the              |
    |    |                      |                                  | encoding functions                    |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Int"                       | Contrasting `Integer`, `Int`,         |
    |    |                      |                                  | and `Int64`                           |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  9 | __Content types__    | "Data.Text.Lazy.Builder.Int"     | Building a text response body         |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Text.Blaze.Html"                | Building an HTML response body        |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html5"               |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html.Renderer.Utf8"  |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Aeson"                     | Building a JSON response body         |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 10 | __Change__           | "Control.Concurrent.STM.TVar"    | Shared state for request-handling     |
    |    |                      +----------------------------------+ threads                               |
    |    |                      | "Control.Monad.STM"              |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 11 | __Streaming__        |                                                                          |
    +----+----------------------+                                                                          |
    | 12 | __Request parsing__  |                                                                          |
    +----+----------------------+                                                                          |
    | 13 | __Reading headers__  |                                                                          |
    +----+----------------------+                 The remaining chapters are in progress.                  |
    | 14 | __Body parsing__     |                                                                          |
    +----+----------------------+                                                                          |
    | 15 | __Connection reuse__ |                                                                          |
    +----+----------------------+                                                                          |
    | 16 | __Pipes__            |                                                                          |
    +----+----------------------+--------------------------------------------------------------------------+
    
    == Libraries
    
    Re-exported modules, grouped by the package that each module originally comes from:
    
    __ascii__ - "ASCII", "ASCII.Char"
    
    __aeson__ - "Data.Aeson"
    
    __async__ - "Control.Concurrent.Async"
    
    __base__
    
    * File handles - "System.IO"
    * Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
    * Miscellania - "System.Timeout", "Control.Monad",
    "Data.Foldable", "Data.List"
    
    __blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
    "Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
    
    __bytestring__
    
    * Strict - "Data.ByteString"
    * Lazy - "Data.ByteString.Lazy"
    * Builder - "Data.ByteString.Builder"
    * "Data.ByteString.Char8" -
    This is included mostly to discuss why we don't use it.
    
    __network__
    
    * "Network.Socket" -
    The Socket type, operations for opening and closing sockets
    * "Network.Socket.ByteString" -
    Socket read/write operations with strict byte strings
    * "Network.Socket.ByteString.Lazy" -
    Socket read/write operations with lazy byte strings
    
    __safe-exceptions__ - "Control.Exception.Safe"
    
    __stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
    
    __text__
    
    * Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
    * Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
    * Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
    
    __time__ - "Data.Time"

-r1 (sockets-and-pipes-0.1-r1) 2021-02-24T21:21:21Z chris_martin e245928fd0b3129642c69571076f57f17b28d235df56ca8361e3d51d59a4fd5d
  • Changed description from

    This package contains some utilities that support /Sockets and Pipes/
    (available on <https://leanpub.com/sockets-and-pipes Leanpub>),
    as well as re-exports from all the libraries mentioned in the book.
    
    == Code in this package
    
    Original contributions from this package:
    
    * "SocketsAndPipes.Serve"
    
    == Chapters
    
    List of modules that make a significant appearance in each chapter:
    
    +----+----------------------+----------------------------------+---------------------------------------+
    |    |   Chapter            |          Module                  |               Purpose                 |
    +====+======================+==================================+=======================================+
    |  1 | __Handles__          | "System.IO"                      | Writing to a file                     |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Control.Exception.Safe"         | Using `bracket` to ensure             |
    |    |                      |                                  | the file handle is closed             |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  2 | __Chunks__           | "Data.Text"                      | `Text` is a chunk of characters       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.IO"                   | Reading and writing files using       |
    |    |                      |                                  | `Text` instead of `String`            |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  3 | __Bytes__            | "Data.Word"                      | What a byte is                        |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.ByteString"                | `ByteString` is a chunk of bytes      |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.Encoding"             | Conversions between `ByteString`      |
    |    |                      |                                  | and `Text`                            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.String"                    | How `ByteString` works with           |
    |    |                      +----------------------------------+ `OverloadedStrings`                   |
    |    |                      | "Data.ByteString.Char8"          |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.IO"                      | Putting `Handle`s into binary mode    |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  4 | __Sockets__          | "Network.Socket"                 | Opening and closing sockets           |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Network.Socket.ByteString"      | Writing to and reading from sockets   |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.Timeout"                 | Giving up quickly when a service      |
    |    |                      |                                  | does not respond                      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  5 | __HTTP__             | "ASCII"                          | Expressing HTTP messages as strings   |
    |    |                      +----------------------------------+                                       |
    |    |                      | "ASCII.Char"                     |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | Our first rudimentary web server      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  6 | __HTTP types__       | "Data.ByteString"                | Defining datatypes for the            |
    |    |                      +----------------------------------+ parts of an HTTP message              |
    |    |                      | "Data.ByteString.Lazy"           |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  7 | __Encoding__         | "Data.Text.Lazy"                 | Efficient string concatenations       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.Text.Lazy.Builder"         |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.ByteString.Builder"        |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Time"                      | Simple performance testing            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Foldable"                  | Encoding repetitions with `foldMap`   |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  8 | __Responding__       | "Network.Socket.ByteString.Lazy" | Sending responses constructed by      |
    |    |                      |                                  | bytestring `Builder`                  |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | New web server using the              |
    |    |                      |                                  | encoding functions                    |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Int"                       | Contrasting `Integer`, `Int`,         |
    |    |                      |                                  | and `Int64`                           |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  9 | __Content types__    | "Data.Text.Lazy.Builder.Int"     | Building a text response body         |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Text.Blaze.Html"                | Building an HTML response body        |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html5"               |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html.Renderer.Utf8"  |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Aeson"                     | Building a JSON response body         |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 10 | __Change__           | "Control.Concurrent.STM.TVar"    | Shared state for request-handling     |
    |    |                      +----------------------------------+ threads                               |
    |    |                      | "Control.Monad.STM"              |                                       |
    +----+----------------------+--------------------------------+-----------------------------------------+
    | 11 | __Chunked bodies__   |                                                                          |
    +----+----------------------+                                                                          |
    | 12 | __Request parsing__  |                                                                          |
    +----+----------------------+                                                                          |
    | 13 | __Reading headers__  |                                                                          |
    +----+----------------------+                 The remaining chapters are in progress.                  |
    | 14 | __Body parsing__     |                                                                          |
    +----+----------------------+                                                                          |
    | 15 | __Connection reuse__ |                                                                          |
    +----+----------------------+                                                                          |
    | 16 | __Pipes__            |                                                                          |
    +----+----------------------+--------------------------------------------------------------------------+
    
    == Libraries
    
    Re-exported modules, grouped by the package that each module originally comes from:
    
    __ascii__ - "ASCII", "ASCII.Char"
    
    __aeson__ - "Data.Aeson"
    
    __async__ - "Control.Concurrent.Async"
    
    __base__
    
    * File handles - "System.IO"
    * Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
    * Miscellania - "System.Timeout", "Control.Monad",
    "Data.Foldable", "Data.List"
    
    __blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
    "Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
    
    __bytestring__
    
    * Strict - "Data.ByteString"
    * Lazy - "Data.ByteString.Lazy"
    * Builder - "Data.ByteString.Builder"
    * "Data.ByteString.Char8" -
    This is included mostly to discuss why we don't use it.
    
    __network__
    
    * "Network.Socket" -
    The Socket type, operations for opening and closing sockets
    * "Network.Socket.ByteString" -
    Socket read/write operations with strict byte strings
    * "Network.Socket.ByteString.Lazy" -
    Socket read/write operations with lazy byte strings
    
    __safe-exceptions__ - "Control.Exception.Safe"
    
    __stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
    
    __text__
    
    * Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
    * Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
    * Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
    
    __time__ - "Data.Time"
    to
    This package contains some utilities that support /Sockets and Pipes/
    (available on <https://leanpub.com/sockets-and-pipes Leanpub>),
    as well as re-exports from all the libraries mentioned in the book.
    
    == Code in this package
    
    Original contributions from this package:
    
    * "SocketsAndPipes.Serve"
    
    == Chapters
    
    List of modules that make a significant appearance in each chapter:
    
    +----+----------------------+----------------------------------+---------------------------------------+
    |    |   Chapter            |          Module                  |               Purpose                 |
    +====+======================+==================================+=======================================+
    |  1 | __Handles__          | "System.IO"                      | Writing to a file                     |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Control.Exception.Safe"         | Using `bracket` to ensure             |
    |    |                      |                                  | the file handle is closed             |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  2 | __Chunks__           | "Data.Text"                      | `Text` is a chunk of characters       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.IO"                   | Reading and writing files using       |
    |    |                      |                                  | `Text` instead of `String`            |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  3 | __Bytes__            | "Data.Word"                      | What a byte is                        |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.ByteString"                | `ByteString` is a chunk of bytes      |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Text.Encoding"             | Conversions between `ByteString`      |
    |    |                      |                                  | and `Text`                            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.String"                    | How `ByteString` works with           |
    |    |                      +----------------------------------+ `OverloadedStrings`                   |
    |    |                      | "Data.ByteString.Char8"          |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.IO"                      | Putting `Handle`s into binary mode    |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  4 | __Sockets__          | "Network.Socket"                 | Opening and closing sockets           |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Network.Socket.ByteString"      | Writing to and reading from sockets   |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "System.Timeout"                 | Giving up quickly when a service      |
    |    |                      |                                  | does not respond                      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  5 | __HTTP__             | "ASCII"                          | Expressing HTTP messages as strings   |
    |    |                      +----------------------------------+                                       |
    |    |                      | "ASCII.Char"                     |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | Our first rudimentary web server      |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  6 | __HTTP types__       | "Data.ByteString"                | Defining datatypes for the            |
    |    |                      +----------------------------------+ parts of an HTTP message              |
    |    |                      | "Data.ByteString.Lazy"           |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  7 | __Encoding__         | "Data.Text.Lazy"                 | Efficient string concatenations       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.Text.Lazy.Builder"         |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Data.ByteString.Builder"        |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Time"                      | Simple performance testing            |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Foldable"                  | Encoding repetitions with `foldMap`   |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  8 | __Responding__       | "Network.Socket.ByteString.Lazy" | Sending responses constructed by      |
    |    |                      |                                  | bytestring `Builder`                  |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "SocketsAndPipes.Serve"          | New web server using the              |
    |    |                      |                                  | encoding functions                    |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Int"                       | Contrasting `Integer`, `Int`,         |
    |    |                      |                                  | and `Int64`                           |
    +----+----------------------+----------------------------------+---------------------------------------+
    |  9 | __Content types__    | "Data.Text.Lazy.Builder.Int"     | Building a text response body         |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Text.Blaze.Html"                | Building an HTML response body        |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html5"               |                                       |
    |    |                      +----------------------------------+                                       |
    |    |                      | "Text.Blaze.Html.Renderer.Utf8"  |                                       |
    |    |                      +----------------------------------+---------------------------------------+
    |    |                      | "Data.Aeson"                     | Building a JSON response body         |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 10 | __Change__           | "Control.Concurrent.STM.TVar"    | Shared state for request-handling     |
    |    |                      +----------------------------------+ threads                               |
    |    |                      | "Control.Monad.STM"              |                                       |
    +----+----------------------+----------------------------------+---------------------------------------+
    | 11 | __Chunked bodies__   |                                                                          |
    +----+----------------------+                                                                          |
    | 12 | __Request parsing__  |                                                                          |
    +----+----------------------+                                                                          |
    | 13 | __Reading headers__  |                                                                          |
    +----+----------------------+                 The remaining chapters are in progress.                  |
    | 14 | __Body parsing__     |                                                                          |
    +----+----------------------+                                                                          |
    | 15 | __Connection reuse__ |                                                                          |
    +----+----------------------+                                                                          |
    | 16 | __Pipes__            |                                                                          |
    +----+----------------------+--------------------------------------------------------------------------+
    
    == Libraries
    
    Re-exported modules, grouped by the package that each module originally comes from:
    
    __ascii__ - "ASCII", "ASCII.Char"
    
    __aeson__ - "Data.Aeson"
    
    __async__ - "Control.Concurrent.Async"
    
    __base__
    
    * File handles - "System.IO"
    * Fundamental data types - "Data.Word", "Data.Int", "Data.Char"
    * Miscellania - "System.Timeout", "Control.Monad",
    "Data.Foldable", "Data.List"
    
    __blaze-html__ - "Text.Blaze.Html", "Text.Blaze.Html5",
    "Text.Blaze.Html5.Attributes", "Text.Blaze.Html.Renderer.Utf8"
    
    __bytestring__
    
    * Strict - "Data.ByteString"
    * Lazy - "Data.ByteString.Lazy"
    * Builder - "Data.ByteString.Builder"
    * "Data.ByteString.Char8" -
    This is included mostly to discuss why we don't use it.
    
    __network__
    
    * "Network.Socket" -
    The Socket type, operations for opening and closing sockets
    * "Network.Socket.ByteString" -
    Socket read/write operations with strict byte strings
    * "Network.Socket.ByteString.Lazy" -
    Socket read/write operations with lazy byte strings
    
    __safe-exceptions__ - "Control.Exception.Safe"
    
    __stm__ - "Control.Monad.STM", "Control.Concurrent.STM.TVar"
    
    __text__
    
    * Strict - "Data.Text", "Data.Text.Encoding", "Data.Text.IO"
    * Lazy - "Data.Text.Lazy", "Data.Text.Lazy.Encoding", "Data.Text.Lazy.IO"
    * Builder - "Data.Text.Lazy.Builder", "Data.Text.Lazy.Builder.Int"
    
    __time__ - "Data.Time"

-r0 (sockets-and-pipes-0.1-r0) 2021-02-19T22:01:34Z chris_martin 787fd1cd68730c3956b83c5dad58998238894cca0b711e6cbe709fd8651ef8f3