# HG changeset patch
# User mir3636
# Date 1487197774 -32400
# Node ID c8bfa1f18b9e0c529008698fdba46720e4d1d86f
# Parent 97f70e4691508c07edb0972f71e76c156fa2fd40
update
diff -r 97f70e469150 -r c8bfa1f18b9e presen/slide.html
--- a/presen/slide.html Thu Feb 16 07:14:40 2017 +0900
+++ b/presen/slide.html Thu Feb 16 07:29:34 2017 +0900
@@ -87,7 +87,7 @@
@@ -96,8 +96,7 @@
- プログラムを記述する際、通常の処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算を Meta Computation と呼ぶ。
- Meta Computation はノーマルレベルの計算から切り離して記述したい。
- - そのためには処理を細かく分割する必要がある。
- - しかし、関数やクラスなどの単位は容易に分割できない。
+ - そのためには処理を細かく分割する必要があるが、関数やクラスなどの単位は容易に分割できない。
- そこで当研究室では Meta Computation を柔軟に記述するためのプログラミング言語の単位として Code Gear、Data Gear という単位を提案している。
@@ -116,12 +115,14 @@
Continuation based C (CbC)
-
+
- Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。
- - Code Gear から次の Code Gear へと goto による継続の遷移で処理を行い、引数として出力を与える。
+ - CbC では Code Gear は __code という型を持つ関数の構文で定義される。
+ - Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
+ - goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
+ - この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。
-
-
__code cs0(int a, int b){
+__code cs0(int a, int b){
goto cs1(a+b);
}
diff -r 97f70e469150 -r c8bfa1f18b9e presen/slide.md
--- a/presen/slide.md Thu Feb 16 07:14:40 2017 +0900
+++ b/presen/slide.md Thu Feb 16 07:29:34 2017 +0900
@@ -7,8 +7,7 @@
# メタ計算の重要性
- プログラムを記述する際、通常の処理の他に、メモリ管理やスレッド管理、CPU や GPU の資源管理等、記述しなければならない処理が存在する。これらの計算を Meta Computation と呼ぶ。
- Meta Computation はノーマルレベルの計算から切り離して記述したい。
-- そのためには処理を細かく分割する必要がある。
-- しかし、関数やクラスなどの単位は容易に分割できない。
+- そのためには処理を細かく分割する必要があるが、関数やクラスなどの単位は容易に分割できない。
- そこで当研究室では Meta Computation を柔軟に記述するためのプログラミング言語の単位として Code Gear、Data Gear という単位を提案している。
# Code Gear と Data Gear
@@ -17,8 +16,10 @@
# Continuation based C (CbC)
- Continuation based C (CbC) はこの Code Gear 単位を用いたプログラミング言語として開発している。
-- Code Gear から次の Code Gear へと goto による継続の遷移で処理を行い、引数として出力を与える。
-
+- CbC では Code Gear は \_\_code という型を持つ関数の構文で定義される。
+- Code Gear は戻り値を持たないので、関数とは異なり return 文は存在しない。
+- goto の後に Code Gear 名と引数を並べて、次の Code Gear の遷移を記述する。
+- この goto の行き先を継続と呼び、このときの a+b が次の Code Gear への出力となる。
```Code_Gear
__code cs0(int a, int b){
goto cs1(a+b);