NAME

Syntax::Feature::Function - Provides a function keyword

VERSION

version 0.002

SYNOPSIS

package Foo;
use syntax 'function';

fun curry ($orig, @orig_args) {
    fun (@args) { $orig->(@orig_args, @args) }
}

curry(fun ($n, $m) { $n + $m }, 2)->(3); # 5

1;

DESCRIPTION

This library uses the syntax dispatching mechanism to activate the functionality provided by Function::Parameters.

Keyword Naming

By default, a fun keyword will be provided. There are various ways to change the name and number of function keywords that will be provided.

Using a different name

use syntax function => { -as => 'f' };

The above example would provide a function declaration keyword named f instead of fun. So you could say

f foo ($n) { 2 * $n }

and

f ($n) { 2 * $n }

for anonymous functions.

Multiple function declarators

use syntax function => { -as => [qw( f fun )] };

This usage will provide you with both keywords: f and fun. They will both work the same way.

METHODS

install

Called by syntax to install the function declarator keyword into the requesting package.

SEE ALSO

syntax, Function::Parameters, Devel::Declare

AUTHOR

Robert 'phaylon' Sedlacek <rs@474.at>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Robert 'phaylon' Sedlacek.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.