Mercurial > hg > Events > OSC2019
annotate slide.html @ 6:f8f9af788fa7
remove !#SLIDE for use slideshow latest version
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 19 Apr 2019 12:10:48 +0900 |
parents | e87cc0746622 |
children | d8feb607c44e |
rev | line source |
---|---|
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
1 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
2 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
3 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
4 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
5 |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
6 <!DOCTYPE html> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
7 <html> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
8 <head> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
9 <meta http-equiv="content-type" content="text/html;charset=utf-8"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
10 <title>Perl6の内部表現</title> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
11 |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
12 <meta name="generator" content="Slide Show (S9) v4.1.0 on Ruby 2.6.3 (2019-04-16) [x86_64-darwin17]"> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
13 <meta name="author" content="Takahiro Shimizu" > |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
14 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
15 <!-- style sheet links --> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
16 <link rel="stylesheet" href="s6/themes/projection.css" media="screen,projection"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
17 <link rel="stylesheet" href="s6/themes/screen.css" media="screen"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
18 <link rel="stylesheet" href="s6/themes/print.css" media="print"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
19 <link rel="stylesheet" href="s6/themes/blank.css" media="screen,projection"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
20 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
21 <!-- JS --> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
22 <script src="s6/js/jquery-1.11.3.min.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
23 <script src="s6/js/jquery.slideshow.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
24 <script src="s6/js/jquery.slideshow.counter.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
25 <script src="s6/js/jquery.slideshow.controls.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
26 <script src="s6/js/jquery.slideshow.footer.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
27 <script src="s6/js/jquery.slideshow.autoplay.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
28 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
29 <!-- prettify --> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
30 <link rel="stylesheet" href="scripts/prettify.css"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
31 <script src="scripts/prettify.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
32 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
33 <script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
34 $(document).ready( function() { |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
35 Slideshow.init(); |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
36 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
37 $('code').each(function(_, el) { |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
38 if (!el.classList.contains('noprettyprint')) { |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
39 el.classList.add('prettyprint'); |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
40 } |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
41 }); |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
42 prettyPrint(); |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
43 } ); |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
44 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
45 </script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
46 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
47 <!-- Better Browser Banner for Microsoft Internet Explorer (IE) --> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
48 <!--[if IE]> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
49 <script src="s6/js/jquery.microsoft.js"></script> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
50 <![endif]--> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
51 |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
52 |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
53 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
54 </head> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
55 <body> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
56 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
57 <div class="layout"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
58 <div id="header"></div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
59 <div id="footer"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
60 <div align="right"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
61 <img src="s6/images/logo.svg" width="200px"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
62 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
63 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
64 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
65 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
66 <div class="presentation"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
67 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
68 <div class='slide cover'> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
69 <table width="90%" height="90%" border="0" align="center"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
70 <tr> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
71 <td> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
72 <div align="center"> |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
73 <h1><font color="#808db5">Perl6の内部表現</font></h1> |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
74 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
75 </td> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
76 </tr> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
77 <tr> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
78 <td> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
79 <div align="left"> |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
80 Takahiro Shimizu |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
81 |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
82 <hr style="color:#ffcc00;background-color:#ffcc00;text-align:left;border:none;width:100%;height:0.2em;"> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
83 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
84 </td> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
85 </tr> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
86 </table> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
87 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
88 |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
89 |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
90 |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
91 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
92 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
93 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
94 <h2 id="このセッションの内容">このセッションの内容</h2> |
1 | 95 |
96 <ul> | |
97 <li>Perl6の主要な実装であるRakudoの内部構造を探ります</li> | |
98 <li>Rakudoの内部で利用されているVMや, Perl6のサブセットなどについて探索します</li> | |
3 | 99 <li>スクリプト言語で主に使われているバイトコードインタプリタの気持ちになります</li> |
1 | 100 </ul> |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
101 |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
102 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
103 |
1 | 104 </div> |
105 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
106 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
107 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
108 <h2 id="perl6とは">Perl6とは</h2> |
1 | 109 <ul> |
110 <li>当初Perl5の時期バージョンとして開発されていたプログラミング言語</li> | |
111 <li>仕様と実装が分離しており, 現在はテストが仕様となっている</li> | |
112 <li>実装は複数存在しているが,現在主流な実装はRakudoとなっている</li> | |
113 <li>言語的にはスクリプト言語であり, 漸進的型付き言語となっている</li> | |
2 | 114 <li>MoarVM, JVMで動作する</li> |
1 | 115 </ul> |
116 | |
2 | 117 <p><img src="2000px-Camelia.svg.png" alt="" style="width: 31%; height: auto;" /></p> |
118 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
119 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
120 |
1 | 121 </div> |
122 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
123 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
124 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
125 <h2 id="perl6のソースコード概要">Perl6のソースコード概要</h2> |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
126 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
127 <ul> |
1 | 128 <li>Perl5の文法とは比較的変更が多い</li> |
129 <li>変数がオブジェクトと化した事により, 変数からsayメソッドを呼ぶことが可能</li> | |
130 </ul> | |
131 | |
132 <pre><code>my $str_value = 'hello world!'; | |
133 $str_value.say; # hello world! | |
134 </code></pre> | |
135 | |
136 <ul> | |
137 <li>Perl5と同様に,変数にはデフォルトでは型がないような振る舞いをする</li> | |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
138 </ul> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
139 |
1 | 140 <pre><code>my $sample_value = 'hello world!'; |
141 $sample_value.say; # hello world! | |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
142 |
1 | 143 $sample_value = '31'; |
144 $sample_value.say; # 31 | |
145 | |
146 say($sample_value * 3); | |
147 </code></pre> | |
148 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
149 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
150 |
1 | 151 </div> |
152 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
153 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
154 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
155 <h2 id="perl6の言語的な特徴">Perl6の言語的な特徴</h2> |
1 | 156 |
157 <ul> | |
158 <li>漸進的型付き言語である為, 型を強制することも可能となる</li> | |
159 </ul> | |
160 | |
161 <pre><code>my Int $int_value = 31; | |
162 $int_value = "hello"; # Compile error! | |
163 </code></pre> | |
2 | 164 |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
165 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
166 |
2 | 167 </div> |
168 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
169 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
170 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
171 <h2 id="perl6の言語的な特徴-1">Perl6の言語的な特徴</h2> |
4 | 172 |
173 <ul> | |
174 <li>型を独自に定義することも可能</li> | |
175 <li>入力の型によって実行する関数を変える事などができる</li> | |
176 </ul> | |
177 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
178 <pre><code class="language-perl6">my subset Fizz of Int where * %% 3; |
4 | 179 my subset Buzz of Int where * %% 5; |
180 my subset FizzBuzz of Int where Fizz&Buzz; | |
181 my subset Number of Int where none Fizz|Buzz; | |
182 | |
183 proto sub fizzbuzz ($) { * } | |
184 multi sub fizzbuzz (FizzBuzz) { "FuzzBuzz" } | |
185 multi sub fizzbuzz (Fizz) { "Fizz" } | |
186 multi sub fizzbuzz (Buzz) { "Buzz" } | |
187 multi sub fizzbuzz (Number $number) { $number } | |
188 | |
189 fizzbuzz($_).say for 1..15; | |
190 </code></pre> | |
191 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
192 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
193 |
4 | 194 </div> |
195 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
196 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
197 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
198 <h2 id="perl6の処理系の構成">Perl6の処理系の構成</h2> |
2 | 199 |
200 <ul> | |
201 <li>Perl6の処理系は現在はRakudoと呼ばれる(歴史上複数存在する)</li> | |
202 <li>Rakudoは3つのレイヤーから構成されている | |
203 <ul> | |
204 <li>Perl6インタプリタ</li> | |
205 <li>Perl6インタプリタを記述するPerl6のサブセットNQP</li> | |
206 <li>Perl6のバイトコードを解釈するMoarVM</li> | |
207 </ul> | |
208 </li> | |
209 <li>このうちPerl6インタプリタとNQPはNQP自身で記述されている</li> | |
210 <li>MoarVMはC言語で記述されている</li> | |
211 </ul> | |
212 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
213 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
214 |
2 | 215 </div> |
216 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
217 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
218 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
219 <h2 id="perl6とnqp">Perl6とNQP</h2> |
2 | 220 |
221 <ul> | |
222 <li>NQP(NotQuitPerl Perlっぽい別の言語)でRakudoを記述している</li> | |
223 <li>NQPもNQPで記述されている為、 セルフビルド(自分自身で自分自身をコンパイルする)を行う</li> | |
224 <li>NQPはPerl6の文法をベースにしているが、 制約がいくつか存在する</li> | |
225 </ul> | |
226 | |
4 | 227 <pre><code>#! nqp |
228 sub fib($n) { | |
229 $n < 2 ?? $n !! fib($n-1) + fib($n - 2); | |
230 } | |
231 | |
232 my $N := 29; | |
233 | |
234 my $t0 := nqp::time_n(); | |
235 my $z := fib($N); | |
236 my $t1 := nqp::time_n(); | |
237 | |
238 nqp::say("fib($N) = " ~ fib($N)); | |
239 nqp::say("time = " ~ ($t1-$t0)); | |
240 </code></pre> | |
241 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
242 |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
243 |
2 | 244 </div> |
245 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
246 <div class='slide'> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
247 <!-- _S9SLIDE_ --> |
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
248 <h2 id="バイトコード">バイトコード</h2> |
2 | 249 <ul> |
3 | 250 <li>最近のスクリプト言語は、 ソースコードを直接解釈せず、バイトコードに変換する |
251 <ul> | |
5 | 252 <li>全体的な処理速度の向上の為</li> |
253 <li>実装を分離することでの見通しの良さ</li> | |
254 </ul> | |
255 </li> | |
256 <li>多言語の環境 | |
257 <ul> | |
258 <li>Ruby | |
259 <ul> | |
260 <li>YARV</li> | |
261 </ul> | |
262 </li> | |
263 <li>Python | |
264 <ul> | |
265 <li>PythonVM</li> | |
266 </ul> | |
267 </li> | |
268 <li>Elixir | |
269 <ul> | |
270 <li>BEAM</li> | |
271 </ul> | |
272 </li> | |
3 | 273 </ul> |
274 </li> | |
275 <li>Perl6も、Rakudo/NQPはバイトコードに変換され、 バイトコードをVMが実行する</li> | |
2 | 276 <li>バイトコード実行部分は、 命令に対応するバイト列を読み込み、 解釈し、 次の命令を読み取ることを繰り返す</li> |
277 </ul> | |
278 | |
6
f8f9af788fa7
remove !#SLIDE for use slideshow latest version
Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
5
diff
changeset
|
279 |
0
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
280 </div> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
281 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
282 |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
283 </div><!-- presentation --> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
284 </body> |
19155754a586
create OSC2019 slide template
anatofuz <anatofuz@cr.ie.u-ryukyu.ac.jp>
parents:
diff
changeset
|
285 </html> |