FP::Abstract::Show - equality protocol
package FPShowExample::Foo { sub new { my $class= shift; bless [@_], $class } sub FP_Show_show { my ($self, $show)=@_; # $show is for recursive use "FPShowExample::Foo->new(".join(", ", map { $show->($_) } @$self).")" } } use FP::Show; is show(FPShowExample::Foo->new("hey", new FPShowExample::Foo 5+5)), "FPShowExample::Foo->new('hey', FPShowExample::Foo->new(10))";
For an introduction, see FP::Show.
The reason that `FP_Show_show` is getting a `$show` argument is to provide for (probably evil, though) context sensitive formatting, but more importantly to hopefully enable to do pretty-printing and cut-off features (this is *alpha* though, see whether this works out).
Handle circular data structures.
Pretty-printing
Declare that non-pretty-printing show must only print one line?
Cut-offs at configurable size
Configuration for whether to force promises
FP::Show
This is alpha software! Read the package README.
To install FunctionalPerl, copy and paste the appropriate command in to your terminal.
cpanm
cpanm FunctionalPerl
CPAN shell
perl -MCPAN -e shell install FunctionalPerl
For more information on module installation, please visit the detailed CPAN module installation guide.