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>