pmt

Polymorphic Types.

The type can really be used to store anything, but also has simple conversion methods for common data types such as bool, long, or a vector.

The polymorphic type simplifies message passing between blocks, as all of the data is of the same type, including the message. Tags also use PMTs as data type, so a stream tag can be of any logical data type. In a sense, PMTs are a way to extend C++’ strict typing with something more flexible.

The PMT library supports the following major types: bool, symbol (string), integer, real, complex, null, pair, list, vector, dict, uniform_vector, any (boost::any cast)

Numbers

pmt.is_number

Tuples

pmt.is_tuple
pmt.make_tuple make_tuple(pmt_t e0) -> pmt_t
pmt.tuple_ref
pmt.to_tuple

General Functions

pmt.eq
pmt.equal
pmt.eqv
pmt.length
pmt.assq
pmt.assv
pmt_assoc

Constants

pmt.PMT_EOF Proxy of C++ boost::intrusive_ptr<(pmt::pmt_base)> class
pmt.PMT_EOF Proxy of C++ boost::intrusive_ptr<(pmt::pmt_base)> class
pmt.PMT_F Proxy of C++ boost::intrusive_ptr<(pmt::pmt_base)> class
pmt.PMT_NIL Proxy of C++ boost::intrusive_ptr<(pmt::pmt_base)> class
pmt.PMT_T Proxy of C++ boost::intrusive_ptr<(pmt::pmt_base)> class