The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Variable::Declaration - declare with type constraint

SYNOPSIS

    use Variable::Declaration;
    use Types::Standard '-all';

    # variable declaration
    let $foo;      # is equivalent to `my $foo`
    static $bar;   # is equivalent to `state $bar`
    const $baz;    # is equivalent to `my $baz;dlock($baz)`

    # with type constraint

    # init case
    let Str $foo = {}; # => Reference {} did not pass type constraint "Str"

    # store case
    let Str $foo = 'foo';
    $foo = {}; # => Reference {} did not pass type constraint "Str"

DESCRIPTION

Variable::Declaration provides new variable declarations, i.e. `let`, `static`, and `const`.

`let` is equivalent to `my` with type constraint. `static` is equivalent to `state` with type constraint. `const` is equivalent to `let` with data lock.

LICENSE

Copyright (C) Kenta, Kobayashi.

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

AUTHOR

Kenta, Kobayashi <kentafly88@gmail.com>