Data.BEncode

bencode-0.6.1.1: Parsers and printers for bencoded data.

Copyright | (c) 2005 Jesper Louis Andersen <jlouis@mongers.org> 2006 Lemmih <lemmih@gmail.com>
License | BSD3
Maintainer | lemmih@gmail.com
Stability | believed to be stable
Portability | portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

Data.BEncode

Contents

- Data types
- Functions

Description

Provides a BEncode data type is well as functions for converting this data type to and from a String.

Also supplies a number of properties which the module must satisfy.

Synopsis

- data BEncode
  - = BInt Integer
  - | BString ByteString
  - | BList [BEncode]
  - | BDict (Map String BEncode)
- bRead :: ByteString -> Maybe BEncode
- bShow :: BEncode -> ShowS
- bPack :: BEncode -> ByteString

# Data types

data BEncode #

The B-coding defines an abstract syntax tree given as a simple data type here

Constructors

BInt Integer |
BString ByteString |
BList [BEncode] |
BDict (Map String BEncode) |

#### Instances

Instances details

Binary BEncode # |
Instance details Defined in Data.BEncode Methods put :: BEncode -> Put # get :: Get BEncode # putList :: [BEncode] -> Put #
Show BEncode # |
Instance details Defined in Data.BEncode Methods showsPrec :: Int -> BEncode -> ShowS # show :: BEncode -> String # showList :: [BEncode] -> ShowS #
Eq BEncode # |
Instance details Defined in Data.BEncode Methods (==) :: BEncode -> BEncode -> Bool # (/=) :: BEncode -> BEncode -> Bool #
Ord BEncode # |
Instance details Defined in Data.BEncode Methods compare :: BEncode -> BEncode -> Ordering # (<) :: BEncode -> BEncode -> Bool # (<=) :: BEncode -> BEncode -> Bool # (>) :: BEncode -> BEncode -> Bool # (>=) :: BEncode -> BEncode -> Bool # max :: BEncode -> BEncode -> BEncode # min :: BEncode -> BEncode -> BEncode #

# Functions

bRead :: ByteString -> Maybe BEncode #

bRead is a conversion routine. It assumes a B-coded string as input and attempts a parse of it into a BEncode data type

bShow :: BEncode -> ShowS #

Render a BEncode structure to a B-coded string

bPack :: BEncode -> ByteString #