Raku(旧称: Perl 6)は、ラリー・ウォールにより設計されたオブジェクト指向スクリプト言語である。
Rakuは、2000年にPerlの次期メジャーバージョンとして設計が始められ、2015年12月25日にPerl 6として正式安定版がリリースされた。しかし、言語仕様は従来のPerlと互換性がなく、既存のPerlのソフトウェアをPerl 6用に「アップグレード」するのは極めて困難である。したがって現在はPerl 5とPerl 6は別の言語であると考えられており、Perl 6はPerl 5の次期バージョンではないとされている。換言すれば、Perl 6はPerl 5から移行対象とはみなされていない。そして2019年10月にRakuへ改名することが決定した[2]。
Rakuは言語仕様のみを指し、その処理系は別のプロジェクトとして管理されている。これは、言語仕様の設計と、処理系の(設計及び)実装とが渾然一体としたプロジェクトとして管理されている、バージョン5までのPerlや、他の多くの立ち位置が近い言語(及びその処理系)とは異なっている。2015年12月25日に公式の言語仕様の正式安定版がリリースされた。公式の処理系としてはRakudoがあり、2010年8月に最初の「使用可能な」バージョンがリリースされた。Haskellで書かれたPugsは活発ではなく[3]、もはや歴史的な実装とされている。
Perl 5は動的型付け言語であったのに対し、Rakuは静的な型指定も行える言語となった(動的な型付けも可能)。また、Rakuでは仮引数定義も可能となっている(Perl 5でも可能ではあったが不完全であった)。さらに、Perl 5の様に展開を行うことも可能であり、例えばJavaであればReflectionクラスを必要とする仮引数の取得をいわゆるマジックを用いずとも可能な設計となっている。
RakuではPerl 5と比較してさらに柔軟かつ強力な記法を可能としている。例えば、配列要素毎の演算や、Lisp等に代表されるポーランド記法も可能にするなどPerl 5をより一層強力にした記述である。
Hello world
または
または
出典
関連項目
外部リンク
|
---|
低水準言語 | |
---|
高水準言語 |
1950年代 | |
---|
1960年代 | |
---|
1970年代 | |
---|
1980年代 | |
---|
1990年代 | |
---|
2000年代 | |
---|
2010年代 | |
---|
|
---|
架空の言語 | |
---|
|