# HG changeset patch # User Nobuyasu Oshiro # Date 1330484241 -32400 # Node ID bf8db1c8961820ef9425b290e1acf6b2eb0b7390 # Parent 1d830d6fc30bd4e2b6a6569bc160372bac4136b9 commit diff -r 1d830d6fc30b -r bf8db1c89618 presen/cbc.md --- a/presen/cbc.md Wed Feb 29 09:55:14 2012 +0900 +++ b/presen/cbc.md Wed Feb 29 11:57:21 2012 +0900 @@ -427,6 +427,25 @@ --- +CbC の実装: 環境付き継続 +======== +- 環境付き継続: C との互換を取るための機能。継続を行った C の関数に戻ることができる。 +- _CbC_return、 _CbC_environment キーワードを使うことで使える。 +- 以下の使い方の場合、戻値 1 を返す。 +
+\_\_code c1(\_\_code ret(int,void \*),void \*env) {
+    goto ret(1,env);
+}
+int main() {
+    goto c1(\_\_return, \_\_environment);
+}
+
+ +- 今回この環境付き継続をスレッドセーフの実装へと修正した。 + +--- + + @@ -504,26 +523,6 @@ --- -CbC の実装: 環境付き継続 -======== -- 環境付き継続: C との互換を取るための機能。継続を行った C の関数に戻ることができる。 -- _CbC_return、 _CbC_environment キーワードを使うことで使える。 -- 以下の使い方の場合、戻値 1 を返す。 -
-\_\_code c1(\_\_code ret(int,void *),void *env) {
-    goto ret(1,env);
-}
-int main() {
-    goto c1(\_\_return, \_\_environment);
-}
-
- -- 今回この環境付き継続をスレッドセーフの実装へと修正した。 - - ---- - - 最適化の比較 ======== diff -r 1d830d6fc30b -r bf8db1c89618 presen/presentation.html --- a/presen/presentation.html Wed Feb 29 09:55:14 2012 +0900 +++ b/presen/presentation.html Wed Feb 29 11:57:21 2012 +0900 @@ -879,6 +879,53 @@
+

CbC の実装: 環境付き継続

+ + +
    +
  • 環境付き継続: C との互換を取るための機能。継続を行った C の関数に戻ることができる。
  • +
  • _CbC_return、 _CbC_environment キーワードを使うことで使える。
  • +
  • +

    以下の使い方の場合、戻値 1 を返す。 +

    +__code c1(__code ret(int,void *),void *env) {
    +    goto ret(1,env);
    +}
    +int main() {
    +    goto c1(__return, __environment);
    +}
    +

    +
  • +
  • +

    今回この環境付き継続をスレッドセーフの実装へと修正した。

    +
  • +
+ +
+
+

Presenter Notes

+
+ +
+
+
+ + + + +
+
+ + + +
+
+
+

構文の追加

@@ -917,7 +964,7 @@
@@ -963,7 +1010,7 @@
@@ -1014,53 +1061,6 @@ - -
- - - -
-
-
- -

CbC の実装: 環境付き継続

- - -
    -
  • 環境付き継続: C との互換を取るための機能。継続を行った C の関数に戻ることができる。
  • -
  • _CbC_return、 _CbC_environment キーワードを使うことで使える。
  • -
  • -

    以下の使い方の場合、戻値 1 を返す。 -

    -__code c1(__code ret(int,void ),void env) {
    -    goto ret(1,env);
    -}
    -int main() {
    -    goto c1(__return, __environment);
    -}
    -

    -
  • -
  • -

    今回この環境付き継続をスレッドセーフの実装へと修正した。

    -
  • -
- -
-
-

Presenter Notes

-
- -
-
-
- - - -
@@ -1316,13 +1316,13 @@ - 構文の追加 + CbC の実装: 環境付き継続 19 - conv1 プログラム + 構文の追加 20 @@ -1334,7 +1334,7 @@ - CbC の実装: 環境付き継続 + conv1 プログラム 22