Mercurial > hg > Events > OSC2019
changeset 1:b135f074e78c
update
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Apr 2019 17:59:44 +0900 |
parents | 19155754a586 |
children | 41f44d102cf9 |
files | slide.html slide.md slide.pdf.html |
diffstat | 3 files changed, 182 insertions(+), 35 deletions(-) [+] |
line wrap: on
line diff
--- a/slide.html Sat Apr 06 17:28:17 2019 +0900 +++ b/slide.html Mon Apr 15 17:59:44 2019 +0900 @@ -1,16 +1,11 @@ - - - - - <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Perl6の内部表現</title> - <meta name="generator" content="Slide Show (S9) v4.0.1 on Ruby 2.5.1 (2018-03-29) [x86_64-darwin17]"> - <meta name="author" content="Takahiro Shimizu" > +<meta name="generator" content="Slide Show (S9) v2.5.0 on Ruby 2.4.2 (2017-09-14) [x86_64-darwin16]"> +<meta name="author" content="Takahiro Shimizu" > <!-- style sheet links --> <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> @@ -42,6 +37,7 @@ prettyPrint(); } ); + </script> <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> @@ -49,7 +45,7 @@ <script src="s6/js/jquery.microsoft.js"></script> <![endif]--> - + </head> <body> @@ -70,15 +66,15 @@ <tr> <td> <div align="center"> - <h1><font color="#808db5">Perl6の内部表現</font></h1> + <h1><font color="#808db5">Perl6の内部表現</font></h1> </div> </td> </tr> <tr> <td> <div align="left"> - Takahiro Shimizu - + Takahiro Shimizu + <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> </div> </td> @@ -86,19 +82,74 @@ </table> </div> +<div class='slide '> +<!-- === begin markdown block === + generated by markdown/1.2.0 on Ruby 2.4.2 (2017-09-14) [x86_64-darwin16] + on 2019-04-15 17:44:28 +0900 with Markdown engine kramdown (1.16.2) + using options {} + --> +<h2 id="section">このセッションの内容</h2> + +<ul> + <li>Perl6の主要な実装であるRakudoの内部構造を探ります</li> + <li>Rakudoの内部で利用されているVMや, Perl6のサブセットなどについて探索します</li> +</ul> -<div class='slide'> - -<!-- _S9SLIDE_ --> -<h2 id="このセッションの内容">このセッションの内容</h2> +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="perl6">Perl6とは</h2> +<ul> + <li>当初Perl5の時期バージョンとして開発されていたプログラミング言語</li> + <li>仕様と実装が分離しており, 現在はテストが仕様となっている</li> + <li>実装は複数存在しているが,現在主流な実装はRakudoとなっている</li> + <li>言語的にはスクリプト言語であり, 漸進的型付き言語となっている</li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="perl6-1">Perl6のソースコード概要</h2> <ul> - <li>現在の主要なCコンパイラであるGCCとLLVM/Clangが実際にどのような処理をするかを追っていきます</li> - <li>コンパイラのトレースにはLLVMをバックエンドとして利用しているlldbを用います</li> + <li>Perl5の文法とは比較的変更が多い</li> + <li>変数がオブジェクトと化した事により, 変数からsayメソッドを呼ぶことが可能</li> +</ul> + +<pre><code>my $str_value = 'hello world!'; +$str_value.say; # hello world! +</code></pre> + +<ul> + <li>Perl5と同様に,変数にはデフォルトでは型がないような振る舞いをする</li> </ul> +<pre><code>my $sample_value = 'hello world!'; +$sample_value.say; # hello world! +$sample_value = '31'; +$sample_value.say; # 31 + +say($sample_value * 3); +</code></pre> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="perl6-2">Perl6の言語的な特徴</h2> + +<ul> + <li>漸進的型付き言語である為, 型を強制することも可能となる</li> +</ul> + +<pre><code>my Int $int_value = 31; +$int_value = "hello"; # Compile error! +</code></pre> +<!-- === end markdown block === --> </div>
--- a/slide.md Sat Apr 06 17:28:17 2019 +0900 +++ b/slide.md Mon Apr 15 17:59:44 2019 +0900 @@ -5,6 +5,51 @@ ## このセッションの内容 -- 現在の主要なCコンパイラであるGCCとLLVM/Clangが実際にどのような処理をするかを追っていきます -- コンパイラのトレースにはLLVMをバックエンドとして利用しているlldbを用います +- 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と呼ばれる
--- a/slide.pdf.html Sat Apr 06 17:28:17 2019 +0900 +++ b/slide.pdf.html Mon Apr 15 17:59:44 2019 +0900 @@ -1,16 +1,11 @@ - - - - - <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> <title>Perl6の内部表現</title> - <meta name="generator" content="Slide Show (S9) v4.0.1 on Ruby 2.5.1 (2018-03-29) [x86_64-darwin17]"> - <meta name="author" content="Takahiro Shimizu" > +<meta name="generator" content="Slide Show (S9) v2.5.0 on Ruby 2.4.2 (2017-09-14) [x86_64-darwin16]"> +<meta name="author" content="Takahiro Shimizu" > <!-- style sheet links --> <link rel="stylesheet" href="s6/themes/screen.css" media="screen"> @@ -55,15 +50,15 @@ <tr> <td> <div align="center"> - <h1><font color="#808db5">Perl6の内部表現</font></h1> + <h1><font color="#808db5">Perl6の内部表現</font></h1> </div> </td> </tr> <tr> <td> <div align="left"> - Takahiro Shimizu - + Takahiro Shimizu + <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> </div> </td> @@ -71,18 +66,74 @@ </table> </div> +<div class='slide '> +<!-- === begin markdown block === -<div class='slide'> - -<!-- _S9SLIDE_ --> -<h2 id="このセッションの内容">このセッションの内容</h2> + generated by markdown/1.2.0 on Ruby 2.4.2 (2017-09-14) [x86_64-darwin16] + on 2019-04-15 17:44:28 +0900 with Markdown engine kramdown (1.16.2) + using options {} + --> +<h2 id="section">このセッションの内容</h2> + +<ul> + <li>Perl6の主要な実装であるRakudoの内部構造を探ります</li> + <li>Rakudoの内部で利用されているVMや, Perl6のサブセットなどについて探索します</li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="perl6">Perl6とは</h2> +<ul> + <li>当初Perl5の時期バージョンとして開発されていたプログラミング言語</li> + <li>仕様と実装が分離しており, 現在はテストが仕様となっている</li> + <li>実装は複数存在しているが,現在主流な実装はRakudoとなっている</li> + <li>言語的にはスクリプト言語であり, 漸進的型付き言語となっている</li> +</ul> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="perl6-1">Perl6のソースコード概要</h2> <ul> - <li>現在の主要なCコンパイラであるGCCとLLVM/Clangが実際にどのような処理をするかを追っていきます</li> - <li>コンパイラのトレースにはLLVMをバックエンドとして利用しているlldbを用います</li> + <li>Perl5の文法とは比較的変更が多い</li> + <li>変数がオブジェクトと化した事により, 変数からsayメソッドを呼ぶことが可能</li> +</ul> + +<pre><code>my $str_value = 'hello world!'; +$str_value.say; # hello world! +</code></pre> + +<ul> + <li>Perl5と同様に,変数にはデフォルトでは型がないような振る舞いをする</li> </ul> +<pre><code>my $sample_value = 'hello world!'; +$sample_value.say; # hello world! +$sample_value = '31'; +$sample_value.say; # 31 + +say($sample_value * 3); +</code></pre> + +</div> +<div class='slide '> +<!-- _S9SLIDE_ --> + +<h2 id="perl6-2">Perl6の言語的な特徴</h2> + +<ul> + <li>漸進的型付き言語である為, 型を強制することも可能となる</li> +</ul> + +<pre><code>my Int $int_value = 31; +$int_value = "hello"; # Compile error! +</code></pre> +<!-- === end markdown block === --> </div>