NAME

Function::Interface::Impl - implements interface

SYNOPSIS

package Foo {
    use Function::Interface::Impl qw(IFoo);

    use Function::Parameters;
    use Function::Return;
    use Types::Standard -types;

    fun hello(Str $msg) :Return(Str) {
        return "HELLO $msg";
    }
}

and declare interface class:

package IFoo {
    use Function::Interface;
    use Types::Standard -types;

    fun hello(Str $msg) :Return(Str);
}

DESCRIPTION

Function::Interface::Impl is for implementing interface. At compile time, it checks whether it is implemented according to the interface.

LICENSE

Copyright (C) kfly8.

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

AUTHOR

kfly8 <kfly@cpan.org>