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>