diff options
Diffstat (limited to 'gruel/src/lib/pmt/pmt_io.cc')
-rw-r--r-- | gruel/src/lib/pmt/pmt_io.cc | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/gruel/src/lib/pmt/pmt_io.cc b/gruel/src/lib/pmt/pmt_io.cc index f5a82de0e..179e6b72c 100644 --- a/gruel/src/lib/pmt/pmt_io.cc +++ b/gruel/src/lib/pmt/pmt_io.cc @@ -80,16 +80,31 @@ pmt_write(pmt_t obj, std::ostream &port) port << "("; pmt_write_list_tail(obj, port); } + else if (pmt_is_tuple(obj)){ + port << "{"; + size_t len = pmt_length(obj); + if (len > 0){ + port << pmt_tuple_ref(obj, 0); + for (size_t i = 1; i < len; i++) + port << " " << pmt_tuple_ref(obj, i); + } + port << "}"; + } + else if (pmt_is_vector(obj)){ + port << "#("; + size_t len = pmt_length(obj); + if (len > 0){ + port << pmt_vector_ref(obj, 0); + for (size_t i = 1; i < len; i++) + port << " " << pmt_vector_ref(obj, i); + } + port << ")"; + } else if (pmt_is_dict(obj)){ // FIXME // port << "#<dict " << obj << ">"; port << "#<dict>"; } - else if (pmt_is_vector(obj)){ - // FIXME - // port << "#<vector " << obj << ">"; - port << "#<vector>"; - } else if (pmt_is_uniform_vector(obj)){ // FIXME // port << "#<uniform-vector " << obj << ">"; |