Mercurial > hg > Events > OSC2019
comparison slide.html @ 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 |
comparison
equal
deleted
inserted
replaced
0:19155754a586 | 1:b135f074e78c |
---|---|
1 | |
2 | |
3 | |
4 | |
5 | |
6 <!DOCTYPE html> | 1 <!DOCTYPE html> |
7 <html> | 2 <html> |
8 <head> | 3 <head> |
9 <meta http-equiv="content-type" content="text/html;charset=utf-8"> | 4 <meta http-equiv="content-type" content="text/html;charset=utf-8"> |
10 <title>Perl6の内部表現</title> | 5 <title>Perl6の内部表現</title> |
11 | 6 |
12 <meta name="generator" content="Slide Show (S9) v4.0.1 on Ruby 2.5.1 (2018-03-29) [x86_64-darwin17]"> | 7 <meta name="generator" content="Slide Show (S9) v2.5.0 on Ruby 2.4.2 (2017-09-14) [x86_64-darwin16]"> |
13 <meta name="author" content="Takahiro Shimizu" > | 8 <meta name="author" content="Takahiro Shimizu" > |
14 | 9 |
15 <!-- style sheet links --> | 10 <!-- style sheet links --> |
16 <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> | 11 <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> |
17 <link rel="stylesheet" href="s6/themes/screen.css" media="screen"> | 12 <link rel="stylesheet" href="s6/themes/screen.css" media="screen"> |
18 <link rel="stylesheet" href="s6/themes/print.css" media="print"> | 13 <link rel="stylesheet" href="s6/themes/print.css" media="print"> |
40 } | 35 } |
41 }); | 36 }); |
42 prettyPrint(); | 37 prettyPrint(); |
43 } ); | 38 } ); |
44 | 39 |
40 | |
45 </script> | 41 </script> |
46 | 42 |
47 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> | 43 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> |
48 <!--[if IE]> | 44 <!--[if IE]> |
49 <script src="s6/js/jquery.microsoft.js"></script> | 45 <script src="s6/js/jquery.microsoft.js"></script> |
50 <![endif]--> | 46 <![endif]--> |
51 | 47 |
52 | 48 |
53 | 49 |
54 </head> | 50 </head> |
55 <body> | 51 <body> |
56 | 52 |
57 <div class="layout"> | 53 <div class="layout"> |
68 <div class='slide cover'> | 64 <div class='slide cover'> |
69 <table width="90%" height="90%" border="0" align="center"> | 65 <table width="90%" height="90%" border="0" align="center"> |
70 <tr> | 66 <tr> |
71 <td> | 67 <td> |
72 <div align="center"> | 68 <div align="center"> |
73 <h1><font color="#808db5">Perl6の内部表現</font></h1> | 69 <h1><font color="#808db5">Perl6の内部表現</font></h1> |
74 </div> | 70 </div> |
75 </td> | 71 </td> |
76 </tr> | 72 </tr> |
77 <tr> | 73 <tr> |
78 <td> | 74 <td> |
79 <div align="left"> | 75 <div align="left"> |
80 Takahiro Shimizu | 76 Takahiro Shimizu |
81 | 77 |
82 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> | 78 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> |
83 </div> | 79 </div> |
84 </td> | 80 </td> |
85 </tr> | 81 </tr> |
86 </table> | 82 </table> |
87 </div> | 83 </div> |
88 | 84 |
85 <div class='slide '> | |
86 <!-- === begin markdown block === | |
89 | 87 |
90 | 88 generated by markdown/1.2.0 on Ruby 2.4.2 (2017-09-14) [x86_64-darwin16] |
91 <div class='slide'> | 89 on 2019-04-15 17:44:28 +0900 with Markdown engine kramdown (1.16.2) |
92 | 90 using options {} |
93 <!-- _S9SLIDE_ --> | 91 --> |
94 <h2 id="このセッションの内容">このセッションの内容</h2> | 92 <h2 id="section">このセッションの内容</h2> |
95 | 93 |
96 <ul> | 94 <ul> |
97 <li>現在の主要なCコンパイラであるGCCとLLVM/Clangが実際にどのような処理をするかを追っていきます</li> | 95 <li>Perl6の主要な実装であるRakudoの内部構造を探ります</li> |
98 <li>コンパイラのトレースにはLLVMをバックエンドとして利用しているlldbを用います</li> | 96 <li>Rakudoの内部で利用されているVMや, Perl6のサブセットなどについて探索します</li> |
99 </ul> | 97 </ul> |
100 | 98 |
99 </div> | |
100 <div class='slide '> | |
101 <!-- _S9SLIDE_ --> | |
101 | 102 |
103 <h2 id="perl6">Perl6とは</h2> | |
104 <ul> | |
105 <li>当初Perl5の時期バージョンとして開発されていたプログラミング言語</li> | |
106 <li>仕様と実装が分離しており, 現在はテストが仕様となっている</li> | |
107 <li>実装は複数存在しているが,現在主流な実装はRakudoとなっている</li> | |
108 <li>言語的にはスクリプト言語であり, 漸進的型付き言語となっている</li> | |
109 </ul> | |
110 | |
111 </div> | |
112 <div class='slide '> | |
113 <!-- _S9SLIDE_ --> | |
114 | |
115 <h2 id="perl6-1">Perl6のソースコード概要</h2> | |
116 | |
117 <ul> | |
118 <li>Perl5の文法とは比較的変更が多い</li> | |
119 <li>変数がオブジェクトと化した事により, 変数からsayメソッドを呼ぶことが可能</li> | |
120 </ul> | |
121 | |
122 <pre><code>my $str_value = 'hello world!'; | |
123 $str_value.say; # hello world! | |
124 </code></pre> | |
125 | |
126 <ul> | |
127 <li>Perl5と同様に,変数にはデフォルトでは型がないような振る舞いをする</li> | |
128 </ul> | |
129 | |
130 <pre><code>my $sample_value = 'hello world!'; | |
131 $sample_value.say; # hello world! | |
132 | |
133 $sample_value = '31'; | |
134 $sample_value.say; # 31 | |
135 | |
136 say($sample_value * 3); | |
137 </code></pre> | |
138 | |
139 </div> | |
140 <div class='slide '> | |
141 <!-- _S9SLIDE_ --> | |
142 | |
143 <h2 id="perl6-2">Perl6の言語的な特徴</h2> | |
144 | |
145 <ul> | |
146 <li>漸進的型付き言語である為, 型を強制することも可能となる</li> | |
147 </ul> | |
148 | |
149 <pre><code>my Int $int_value = 31; | |
150 $int_value = "hello"; # Compile error! | |
151 </code></pre> | |
152 <!-- === end markdown block === --> | |
102 </div> | 153 </div> |
103 | 154 |
104 | 155 |
105 </div><!-- presentation --> | 156 </div><!-- presentation --> |
106 </body> | 157 </body> |