The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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.