Acme-Lambda-Expr
view release on metacpan or search on metacpan
example/curry.pl view on Meta::CPAN
#!perl -w
use strict;
use feature 'say';
use Time::localtime qw(localtime ctime);
use Acme::Lambda::Expr qw(:all);
my $f = curry(\&ctime, $x);
say '[1]', $f->(time);
say 'stringified = ', $f;
say 'deparsed = ', $f->deparse;
$f = curry('year', $x) + 1900;
say '[2]', $f->(scalar localtime);
say 'stringified = ', $f->stringify;
say 'deparsed = ', $f->deparse;
example/synopsis.pl view on Meta::CPAN
#!perl -w
use strict;
use feature 'say';
use Acme::Lambda::Expr qw(:all);
my $f = $x * 2 + $y;
say $f->(20, 2); # 20*2 + 2 = 42
my $g = curry $f, $x, 4;
say $g->(19); # 18*2 + 4 = 42
my $h = curry deparse => $x;
say 'f = ', $f;
say 'g = ', $g;
say 'f = ', $h->($f); # $f->deparse()
say 'g = ', $h->($g); # $g->deparse()
say $g->compile(1)->(19);
lib/Acme/Lambda/Expr.pm view on Meta::CPAN
This document describes Acme::Lambda::Expr version 0.01
=head1 SYNOPSIS
use strict;
use feature 'say';
use Acme::Lambda::Expr qw(:all);
my $f = $x * 2 + $y;
say $f->(20, 2); # 20*2 + 2 = 42
my $g = curry $f, $x, 4;
say $g->(19); # 18*2 + 4 = 42
my $h = curry deparse => $x;
say $h->($f); # $f->deparse()
say $h->($g); # $g->deparse()
say $g->compile->(19); # => 42
=head1 DESCRIPTION
This module provides lambda expressions.
=head1 DEPENDENCIES
Perl 5.8.1 or later.
=head1 BUGS AND LIMITATIONS
( run in 0.692 second using v1.01-cache-2.11-cpan-5511b514fd6 )