[](
https://travis-ci.org/kfly8/p5-Function-Interface) [](
https://coveralls.io/r/kfly8/p5-Function-Interface?branch=master) [](
https://metacpan.org/release/Function-Interface)
# NAME
Function::Interface - specify type constraints of subroutines
# SYNOPSIS
```perl
package IFoo {
use Function::Interface;
use Types::Standard -types;
fun hello(Str $msg) :Return(Str);
}
```
and implements interface class:
```perl
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";
}
}
```
# DESCRIPTION
Function::Interface provides Interface like Java and checks the arguments and return type of the function at compile time.
# 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 <
[email protected]>