TITLE

yaml_dumper.pir - PIR version of a YAML dumper, ala Data::Dumper

VERSION

version 0.1

SYNOPSIS

    ...
    # dump the P0 register
    yaml( P0 )

    # dump the P0 register, with "name"
    yaml( P0, "name" )
    ...

    END
    .include "library/yaml_dumper.pir"

DESCRIPTION

    PIR implementation of Perl 5's Data::Dumper module to dump YAML format.

FUNCTIONS

This library provides the following functions:

yaml( pmc, ?name, ?indent] )
This is the public (non object) interface to the yaml dumper library.
pmc
Required. The PMC to dump.
name
Optional. The name of the PMC.
indent
Optional. The indent used at the start of each line printed.
Note: This function currently returns nothing. It should return the dumped data as a string, like Perl's Data::Dumper. Instead, everything is printed out using print.Note: #2 Hash keys are now sorted using _sort() (library/sort.pir)
_register_dumper( id, sub )
Registers a dumper for new PMC type. EXCEPTION_UNIMPLEMENTED But see method __dump below.
id
the PMC id, as returned by the typeof op.
sub
a Sub pmc, that gets called in order to dump the content of the given PMC
For example:
    sub = find_name "_dump_PerlArray"
    _register_dumper( .PerlArray, sub )
This function returns nothing.
__dump(pmc yaml, str label) method
If a method __dump exists in the namespace of the class, it will be called with the current dumper object and the label of the PMC.
yaml =_global_dumper() (internal)
Internal helper function.Returns the global dumper instance used by the non object interface.

AUTHOR

Jens Rieks <parrot at jensbeimsurfen dot de> is the author and maintainer. Please send patches and suggestions to the Perl 6 Internals mailing list.

COPYRIGHT

Copyright (C) 2004-2008, Parrot Foundation.