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 )