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

NAME

kurilaintro -- description of Perl Kurila

DESCRIPTION

What is Perl Kurila?

Perl Kurila is a dialect of Perl. It is based upon Perl 5, mostly compatible. Unlike Perl 6 which is a completely new language, Perl Kurila is an evolution Perl 5. Currently they are almost the same, but this will change as Perl Kurila evolves.

Why?

Keep Perl 5 alive, and not let new development be drowned by its burden of legacy features. To have a more evolving language without being held back by backwards compatibility. Because of backward compatibility Perl 5 can only be extended by adding more, making it more complex. By creating a new dialect, we are free to have a more coherent Perl, with cleaner internals.

Is Perl Kurila a replacement for Perl 5?

No. There is a lot of Perl 5 code. You can probably convert Perl 5 code to Kurila without much problems, but if you are happy with Perl 5, you can stay using it. Both can be installed at the same time.

Major changes compared to Perl 5

  • error objects

  • Added compilations subroutines, see compsub.

  • Lexical scoped byte vs codepoint semantics

  • Bit &, |, ^, ~ operator renamed to ^&^, ^|^, ^^^, ^~^

  • Strings are internally always encoded using UTF-8

  • String dereference will always result in an error

  • Default 'C3' method resolution

  • Removal of a lot of deprecated syntax, keywords, operators. Including indirect object syntax, formats, <> as glob operator, ?PATTERN?, .. as flip-flop operator.

Audience

Kurila has just started, so at the moment it is primary interesting for people interested in experiments with the Perl language. People interesting in continuing Perl 5, without all its legacy features, who don't want to let Perl 5 become a white dwarf.

Goals

Experimenting with the Perl language.
Removing ugly things.
Adding ugly things.
Changing old design decisions.
Readable, modifiable perl source.

Compatibility

Kurila is not intended to be compatible with Perl 5. There is the p5kurila convert script which does some basic conversion from Perl 5 to Perl Kurila, but it requires a modified perl5.

Development

Development is currently only done by Gerard Goossen. Using the git repository at git://dev.tty.nl/perl

SEE ALSO

kurila01delta too see what has changed compared to Perl 5.

AUTHOR

Gerard Goossen <gerard@tty.nl>