Mercurial > hg > Papers > 2019 > anatofuz-prosym
diff Slide/slide.md @ 86:2c38abf2c77d
add poster
author | Takahiro SHIMIZU <anatofuz@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 09 Jan 2019 19:13:02 +0900 |
parents | 1f4e174f0f1a |
children | 632f160ccbd0 |
line wrap: on
line diff
--- a/Slide/slide.md Tue Jan 08 19:32:49 2019 +0900 +++ b/Slide/slide.md Wed Jan 09 19:13:02 2019 +0900 @@ -7,15 +7,13 @@ ## 研究目的 - スクリプト言語であるPerl5の後継言語としてPerl6が現在開発されている. -- Perl6は設計と実装が区分されており様々な処理系が開発されている.現在主流なPerl6はRakudoと言われるプロジェクトである. +- 現在主流なPerl6はRakudoと言われるプロジェクトである. - RakudoではPerl6自体をNQP(NotQuitPerl)と言われるPerl6のサブセットで記述し, NQPをVMが解釈するという処理の流れになっている. -- このVMは任意のVMが選択できるようになっており, 現在はMoarVM, JavaVM, JavaScriptが動作環境として選択可能である. -- 主に利用されているVMにCで書かれたMoarVMが存在する. -- MoarVMはJITコンパイルなどをサポートしているが, 全体的な起動時間及び処理速度がPerl5と比較し非常に低速である. +- 主に利用されているVMに, Cで書かれたMoarVMが存在する. +- MoarVMは全体的な起動時間及び処理速度が, Perl5と比較し非常に低速である. - この問題を解決するためにContinuation based C (CbC)という言語を一部用いてMoarVMの書き換えを行う. - CbCを用いたMoarVMの書き換えを検討し,並列デバッグ方法などについて検討する. - ## Continuation Based C (CbC) - Continuation Based C (CbC) はCodeGearとDataGearを単位として用いたプログラミング言語である. @@ -48,9 +46,10 @@ ## CbCの現在の実装 -- CbCは現在2種類の実装がある. +- CbCは現在3種類の実装がある. - gcc (version 9.0.0) - llvm/clang (version 7.0.0) + - micro-c ## 言語処理系の応用 - CbCではCodeGearを処理単位として利用でき, これはコンパイラの基本ブロックに相当する. @@ -62,7 +61,7 @@ ## Perl6の概要 - Perl6とはPerl5の後継言語として当初開発が開始された言語である. -- 仕様と実装が分離しており, 仕様は公式テストスイートであるRoastそのものとなっている. +- 仕様と実装が分離しており, 仕様は公式テストスーツであるRoastそのものとなっている. - 歴史的にHaskellで実装されたPugs, Pythonとの共同基盤を目指したParrotなどの実装が存在する. - 言語仕様としては漸進的型付け言語であり, 従来のPerl5とは互換性が無い. - 現在の主要な実装はRakudoと呼ばれる実装である.