NAME

    Pluto - Functional Programming

ABSTRACT

    Functional Scripting for Perl 5

SYNOPSIS

      package Cosmos;
    
      use Pluto;
    
      call(string('hello world'), 'titlecase');
    
      # Hello World

DESCRIPTION

    This package enables functional programming for Perl 5 via indirect
    routine dispatching and dependency injection, operating in a way that
    plays nicely with third-party libraries without having to switch over
    to object-oriented programming.

WHY

    Perl is a multi-paradigm programming language that supports functional
    programming, but, Perl has an intentionally limited standard library
    with an emphasis on providing library support via the CPAN which is
    overwhelmingly object-oriented. This makes developing in a functional
    style difficult as you'll eventually need to rely on a CPAN library
    that requires you to switch over to object-oriented programming.

LIBRARIES

    This package uses type constraints from:

    Types::Standard

AUTHOR

    Al Newkirk, awncorp@cpan.org

LICENSE

    Copyright (C) 2011-2019, Al Newkirk, et al.

    This is free software; you can redistribute it and/or modify it under
    the terms of the The Apache License, Version 2.0, as elucidated in the
    "license file"
    <https://github.com/iamalnewkirk/pluto/blob/master/LICENSE>.

PROJECT

    Wiki <https://github.com/iamalnewkirk/pluto/wiki>

    Project <https://github.com/iamalnewkirk/pluto>

    Initiatives <https://github.com/iamalnewkirk/pluto/projects>

    Milestones <https://github.com/iamalnewkirk/pluto/milestones>

    Contributing
    <https://github.com/iamalnewkirk/pluto/blob/master/CONTRIBUTE.md>

    Issues <https://github.com/iamalnewkirk/pluto/issues>