kurila 1.19 released

0 views
Skip to first unread message

Gerard Goossen

unread,
Apr 11, 2009, 6:11:40 AM4/11/09
to kur...@googlegroups.com, perl5-...@perl.org
kurila 1.19 released


Highlights:
+ Subs can be used as l-values
Examples:

my $test_builder = Test::Builder->new();
$test_builder->current_test() += 3;

local env::var("PATH") = "";

+ Formal parameters
Subroutines can have formal parameters like "sub foo($x, $y)".


http://dev.tty.nl/static/kurila/doc/pod/kurila119delta.html
has a more detailed description of the changes.

Known bugs:
+ Documentation
+ Limited platform support


kurila 1.19 is released together with more then hundred modules,
available together at:
http://dev.tty.nl/static/kurila/kurila-bundle-1.19.tar.gz

kurila 1.19 without the CPAN modules is available at:
http://dev.tty.nl/static/kurila/kurila-1.19_0.tar.gz
And should become available on CPAN.
Or use git to get the latest version:
git-clone git://github.com/ggoossen/kurila

Perl Kurila is a dialect of Perl. With Perl 5 as ancestor it has a
solid base, but without the backwards compatibility
requirement of Perl 5, it is free to evolve into new directions.

More information about kurila is available at
http://dev.tty.nl/kurila.html

Ruud H.G. van Tol

unread,
Apr 11, 2009, 7:36:44 AM4/11/09
to kur...@googlegroups.com
Gerard Goossen wrote:

> local env::var("PATH") = "";


A sugared version of

local $v = $v;

could be

local= $v;

--
Ruud

Gerard Goossen

unread,
Apr 11, 2009, 10:49:28 AM4/11/09
to kur...@googlegroups.com
Thanks for your suggestion,
but "local" has already been changed to not reset the the variable.
Thus "local $v" would not set $v to undef, only store the current
value to be restored when exiting the current scope.

This can be used for example with an indentation level:
local $indentation_level += 2;

Gerard Goossen.

Ruud H.G. van Tol

unread,
Apr 11, 2009, 3:06:24 PM4/11/09
to kur...@googlegroups.com
Gerard Goossen wrote:
> Ruud:

>> A sugared version of
>> local $v = $v;
>> could be
>> local= $v;
>

> Thanks for your suggestion,
> but "local" has already been changed to not reset the the variable.

I suggested an alternative, because there is plenty of code around that
assumes that the localised variable starts out as undef.


For example slurping; in stead of

local $/;

in Kurila that now needs

local $/ = undef;
or
undef local $/;


> Thus "local $v" would not set $v to undef, only store the current
> value to be restored when exiting the current scope.
>
> This can be used for example with an indentation level:
> local $indentation_level += 2;

In Perl 5 you do:

local $indentation_level = $indentation_level + 2;

--
Ruud

Reply all
Reply to author
Forward
0 new messages