hinterface-0.5.0.2: Haskell / Erlang interoperability library

Safe HaskellNone
LanguageHaskell2010

Foreign.Erlang.Term

Contents

Synopsis

External Term Format

data Term Source #

Instances

Eq Term Source # 

Methods

(==) :: Term -> Term -> Bool #

(/=) :: Term -> Term -> Bool #

Ord Term Source # 

Methods

compare :: Term -> Term -> Ordering #

(<) :: Term -> Term -> Bool #

(<=) :: Term -> Term -> Bool #

(>) :: Term -> Term -> Bool #

(>=) :: Term -> Term -> Bool #

max :: Term -> Term -> Term #

min :: Term -> Term -> Term #

Show Term Source # 

Methods

showsPrec :: Int -> Term -> ShowS #

show :: Term -> String #

showList :: [Term] -> ShowS #

IsString Term Source # 

Methods

fromString :: String -> Term #

Arbitrary Term Source # 

Methods

arbitrary :: Gen Term #

shrink :: Term -> [Term] #

Binary Term Source # 

Methods

put :: Term -> Put #

get :: Get Term #

putList :: [Term] -> Put #

FromTerm Term Source # 
ToTerm Term Source # 

Methods

toTerm :: Term -> Term Source #

putTerm :: ToTerm t => t -> Put Source #

Conversion to and from External Term Format

class ToTerm a where Source #

Minimal complete definition

toTerm

Methods

toTerm :: a -> Term Source #

Instances

ToTerm Integer Source # 

Methods

toTerm :: Integer -> Term Source #

ToTerm () Source # 

Methods

toTerm :: () -> Term Source #

ToTerm String Source # 

Methods

toTerm :: String -> Term Source #

ToTerm Pid Source # 

Methods

toTerm :: Pid -> Term Source #

ToTerm Term Source # 

Methods

toTerm :: Term -> Term Source #

ToTerm a => ToTerm (Tuple1 a) Source # 

Methods

toTerm :: Tuple1 a -> Term Source #

KnownSymbol atom => ToTerm (SAtom atom) Source # 

Methods

toTerm :: SAtom atom -> Term Source #

KnownNat n => ToTerm (SInteger n) Source # 

Methods

toTerm :: SInteger n -> Term Source #

(ToTerm a, ToTerm b) => ToTerm (a, b) Source # 

Methods

toTerm :: (a, b) -> Term Source #

(ToTerm a, ToTerm b, ToTerm c) => ToTerm (a, b, c) Source # 

Methods

toTerm :: (a, b, c) -> Term Source #

(ToTerm a, ToTerm b, ToTerm c, ToTerm d) => ToTerm (a, b, c, d) Source # 

Methods

toTerm :: (a, b, c, d) -> Term Source #

(ToTerm a, ToTerm b, ToTerm c, ToTerm d, ToTerm e) => ToTerm (a, b, c, d, e) Source # 

Methods

toTerm :: (a, b, c, d, e) -> Term Source #

class FromTerm a where Source #

Minimal complete definition

fromTerm

Methods

fromTerm :: Term -> Maybe a Source #

Instances

FromTerm Integer Source # 
FromTerm () Source # 

Methods

fromTerm :: Term -> Maybe () Source #

FromTerm String Source # 
FromTerm Pid Source # 

Methods

fromTerm :: Term -> Maybe Pid Source #

FromTerm Term Source # 
FromTerm a => FromTerm (Tuple1 a) Source # 

Methods

fromTerm :: Term -> Maybe (Tuple1 a) Source #

KnownSymbol atom => FromTerm (SAtom atom) Source # 

Methods

fromTerm :: Term -> Maybe (SAtom atom) Source #

KnownNat n => FromTerm (SInteger n) Source # 

Methods

fromTerm :: Term -> Maybe (SInteger n) Source #

(FromTerm a, FromTerm b) => FromTerm (a, b) Source # 

Methods

fromTerm :: Term -> Maybe (a, b) Source #

(FromTerm a, FromTerm b, FromTerm c) => FromTerm (a, b, c) Source # 

Methods

fromTerm :: Term -> Maybe (a, b, c) Source #

(FromTerm a, FromTerm b, FromTerm c, FromTerm d) => FromTerm (a, b, c, d) Source # 

Methods

fromTerm :: Term -> Maybe (a, b, c, d) Source #

(FromTerm a, FromTerm b, FromTerm c, FromTerm d, FromTerm e) => FromTerm (a, b, c, d, e) Source # 

Methods

fromTerm :: Term -> Maybe (a, b, c, d, e) Source #

Constructors

integer Source #

Arguments

:: Integer

Int

-> Term 

Construct an integer

Static numbers

data SInteger n Source #

A static/constant number.

Constructors

SInteger 

Instances

float Source #

Arguments

:: Double

IEEE float

-> Term 

Construct a float

atom Source #

Arguments

:: ByteString

AtomName

-> Term 

Construct an atom

Static atoms

data SAtom atom Source #

A static/constant atom.

Constructors

SAtom 

Instances

KnownSymbol atom => Show (SAtom atom) Source # 

Methods

showsPrec :: Int -> SAtom atom -> ShowS #

show :: SAtom atom -> String #

showList :: [SAtom atom] -> ShowS #

KnownSymbol atom => FromTerm (SAtom atom) Source # 

Methods

fromTerm :: Term -> Maybe (SAtom atom) Source #

KnownSymbol atom => ToTerm (SAtom atom) Source # 

Methods

toTerm :: SAtom atom -> Term Source #

port Source #

Arguments

:: ByteString

Node name

-> Word32

ID

-> Word8

Creation

-> Term 

Construct a port

pid Source #

Arguments

:: ByteString

Node name

-> Word32

ID

-> Word32

Serial

-> Word8

Creation

-> Pid 

newtype Pid Source #

Constructors

MkPid Term 

Instances

Eq Pid Source # 

Methods

(==) :: Pid -> Pid -> Bool #

(/=) :: Pid -> Pid -> Bool #

Ord Pid Source # 

Methods

compare :: Pid -> Pid -> Ordering #

(<) :: Pid -> Pid -> Bool #

(<=) :: Pid -> Pid -> Bool #

(>) :: Pid -> Pid -> Bool #

(>=) :: Pid -> Pid -> Bool #

max :: Pid -> Pid -> Pid #

min :: Pid -> Pid -> Pid #

Show Pid Source # 

Methods

showsPrec :: Int -> Pid -> ShowS #

show :: Pid -> String #

showList :: [Pid] -> ShowS #

Arbitrary Pid Source # 

Methods

arbitrary :: Gen Pid #

shrink :: Pid -> [Pid] #

FromTerm Pid Source # 

Methods

fromTerm :: Term -> Maybe Pid Source #

ToTerm Pid Source # 

Methods

toTerm :: Pid -> Term Source #

tuple Source #

Arguments

:: [Term]

Elements

-> Term 

Construct a tuple

newtype Tuple1 a Source #

Constructors

Tuple1 a 

Instances

Eq a => Eq (Tuple1 a) Source # 

Methods

(==) :: Tuple1 a -> Tuple1 a -> Bool #

(/=) :: Tuple1 a -> Tuple1 a -> Bool #

Ord a => Ord (Tuple1 a) Source # 

Methods

compare :: Tuple1 a -> Tuple1 a -> Ordering #

(<) :: Tuple1 a -> Tuple1 a -> Bool #

(<=) :: Tuple1 a -> Tuple1 a -> Bool #

(>) :: Tuple1 a -> Tuple1 a -> Bool #

(>=) :: Tuple1 a -> Tuple1 a -> Bool #

max :: Tuple1 a -> Tuple1 a -> Tuple1 a #

min :: Tuple1 a -> Tuple1 a -> Tuple1 a #

Show a => Show (Tuple1 a) Source # 

Methods

showsPrec :: Int -> Tuple1 a -> ShowS #

show :: Tuple1 a -> String #

showList :: [Tuple1 a] -> ShowS #

FromTerm a => FromTerm (Tuple1 a) Source # 

Methods

fromTerm :: Term -> Maybe (Tuple1 a) Source #

ToTerm a => ToTerm (Tuple1 a) Source # 

Methods

toTerm :: Tuple1 a -> Term Source #

string Source #

Arguments

:: ByteString

Characters

-> Term 

Construct a list

list Source #

Arguments

:: [Term]

Elements

-> Term 

Construct a list

improperList Source #

Arguments

:: [Term]

Elements

-> Term

Tail

-> Term 

Construct an improper list (if Tail is not Nil)

ref Source #

Arguments

:: ByteString

Node name

-> Word8

Creation

-> [Word32]

ID ...

-> Term 

Construct a new reference

Recognizers

is_integer :: Term -> Bool Source #

Test if term is an integer

is_float :: Term -> Bool Source #

Test if term is a float

is_atom :: Term -> Bool Source #

Test if term is an atom

is_reference :: Term -> Bool Source #

Test if term is a reference

is_port :: Term -> Bool Source #

Test if term is a port

is_pid :: Term -> Bool Source #

Test if term is a pid

is_tuple :: Term -> Bool Source #

Test if term is a tuple

is_map :: Term -> Bool Source #

Test if term is a map

is_list :: Term -> Bool Source #

Test if term is a list

is_binary :: Term -> Bool Source #

Test if term is a binary

Accessors

Matchers