title: Perl6の内部表現 author: Takahiro Shimizu profile: lang: Japanese ## このセッションの内容 - Perl6の主要な実装であるRakudoの内部構造を探ります - Rakudoの内部で利用されているVMや, Perl6のサブセットなどについて探索します !SLIDE ## Perl6とは - 当初Perl5の時期バージョンとして開発されていたプログラミング言語 - 仕様と実装が分離しており, 現在はテストが仕様となっている - 実装は複数存在しているが,現在主流な実装はRakudoとなっている - 言語的にはスクリプト言語であり, 漸進的型付き言語となっている !SLIDE ## Perl6のソースコード概要 - Perl5の文法とは比較的変更が多い - 変数がオブジェクトと化した事により, 変数からsayメソッドを呼ぶことが可能 ``` my $str_value = 'hello world!'; $str_value.say; # hello world! ``` - Perl5と同様に,変数にはデフォルトでは型がないような振る舞いをする ``` my $sample_value = 'hello world!'; $sample_value.say; # hello world! $sample_value = '31'; $sample_value.say; # 31 say($sample_value * 3); ``` !SLIDE ## Perl6の言語的な特徴 - 漸進的型付き言語である為, 型を強制することも可能となる ``` my Int $int_value = 31; $int_value = "hello"; # Compile error! ``` !SLIDE ## Perl6の処理系の構成 - Perl6の処理系は現在はRakudoと呼ばれる