The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

FP::Struct::Show -- automatic Show protocol implementation

SYNOPSIS

    package FP_Struct_Show_Example::Foo {

        use FP::Struct ["a","b"],
          'FP::Struct::Show';

        _END_
    }

    FP_Struct_Show_Example::Foo::constructors->import;
    use FP::Show;
    is( show(Foo(1,1+1)),
        "Foo(1, 2)" );

    # Whereas the default:
    package FP_Struct_Show_Example::Bar {

        use FP::Struct ["a","b"];

        _END_
    }

    FP_Struct_Show_Example::Bar::constructors->import;
    use FP::Show;
    is( show(Bar(1, 2)),
        "bless(+{a => 1, b => 2}, 'FP_Struct_Show_Example::Bar')" );

DESCRIPTION

This class, when listed as a superclass of an FP::Struct, automatically implements the FP::Abstract::Show protocol (i.e. generates an `FP_Show_show` method that uses inspection specific to FP::Struct classes to get to know the public field values of the object it is being called on, and reconstructs a constructor call based on this information.) For the typical `FP::Struct` based class that don't have a preferred custom constructor this will be the right thing.

SEE ALSO

Creates implementations for: FP::Abstract::Show

FP::Struct::Equal

NOTE

This is alpha software! Read the status section in the package README or on the website.