Perl 6
Perl 6 | |
---|---|
250px | |
パラダイム | マルチパラダイム |
登場時期 | 2015年12月25日 |
設計者 | ラリー・ウォール |
最新リリース | Rakudo Star 2016.04 |
型付け | 動的型付け, 静的型付け |
主な処理系 | Rakudo |
影響を受けた言語 | Perl 5, Smalltalk, Haskell, Ruby |
ライセンス | Artistic License 2 |
ウェブサイト | Perl6.org |
Perl 6(パールシックス)は、ラリー・ウォールにより設計されたオブジェクト指向スクリプト言語である。
Perl 6は、2000年にPerlの次期メジャーバージョンとして設計が始められ、2015年12月25日に公式のPerl 6正式安定版がリリースされた。しかし、言語仕様は現在のPerl (Perl 5)と互換性がなく、既存のPerl 5のソフトウェアをPerl 6用に「アップグレード」するのは極めて困難である。したがって現在はPerl 5とPerl 6は別の言語であると考えられており、Perl 6はPerl 5の次期バージョンではないとされている。換言すれば、Perl 6はPerl 5から移行対象とはみなされていない。
Perl 6は言語仕様のみを指し、その処理系は別のプロジェクトとして管理されている。これは、言語仕様の設計と、処理系の(設計及び)実装とが渾然一体としたプロジェクトとして管理されている、5 までの Perl や、他の多くの立ち位置が近い言語(及びその処理系)とは異なっている。2015年12月25日に言語仕様としての公式のPerl 6正式安定版がリリースされた。公式の処理系としてはRakudoがあり、2010年8月に最初の「使用可能な」バージョンがリリースされた。Haskellで書かれたPugsは活発ではなく[1]、もはや歴史的な実装とされている。
Perl 5は動的型付け言語であったのに対し、Perl 6は静的な型指定も行える言語となった(動的な型付けも可能)。また、Perl 6では仮引数定義も可能となっている(Perl 5でも可能ではあったが不完全であった)。さらに、Perl 5の様に展開を行うことも可能であり、例えばJavaであればReflectionクラスを必要とする仮引数の取得をいわゆるマジックを用いずとも可能な設計となっている。
Perl 6ではPerl 5と比較してさらに柔軟かつ強力な記法を可能としている。例えば、配列要素毎の演算や、Lisp等に代表されるポーランド記法も可能にするなどPerl 5をより一層強力にした記述である。
Contents
Hello world
"Hello, world!".say
または
say "Hello, world!";
または
print "Hello, world!\n"