(有)未来検索ブラジルが運営するあらゆる言葉についての記事を閲覧・編集したり、コメントをしたりするサイトです。

単語記事: 継続

編集

継続、コンティニュエーションとは、プログラムフローのある時点における実行文脈に対してその未来図全体のことをいう。要は「to be continued(続く)……」で表される全部。

概要

、この戦いが終ったら結婚するんだ」

 といった場合、「この戦い」というのが下進行中の現在の文脈であり、その終了を待つ「継続」は

  • 郷里で彼女と結婚
  • 薔薇色の新婚時代を過ごし
  • 倦怠期を迎えての疲弊を感じ
  • 「理想の女性は?」と聞かれて「妻です……出会った頃の」と答え
  • 飲み屋で青年を捕まえて「君、結婚とは人生の墓場だよ」と説教

etc...

といった一連の未来図全体にあたる。

これが何の役に立つかというと、プログラム上で適当な継続を「認識」し、ある種のラベルチェックポイントとして利用することができるわけである。

基本的に、プログラムをどのタイミングでスライスしても「来るべき次の継続」というのは存在するのだが、何も考えずに取り出した所で神話時代のgoto黒魔術でるだけなので余り意味はない。ダイクストラやクヌース以降を生きる我々進歩的文明人類としては、「それ」を飼いならし、去勢し、の名をもてしばりつける必要がある。そこで用いられるマントラが「call-with-current-continuation」、通称「call/cc」である。

 call/ccを唱えると、処理系はまずその間における継続を一引数関数の形に加工する。カリー化を知っているとイメージしやすいと思うが、プログラム列を仮想的に1-in/1-out手続きのパイラインと見た時、どの出も必ずそれを待つ次の入につながっている。つまりバトンを渡すべき次走者を、その間の継続(の入り口)と捉えるわけである。上の例なら

 proc := 未来図なう()

といった感じだろうか。

 これを実際どう使うのかは大変なのでここでは書かないが(http://practical-scheme.net/wiliki/wiliki.cgi?Scheme継続周りの記事がオススメ)、このprocを使うと中間過程をキングクリムゾンして、結果が出ればよかろうなプログラムが書ける。また変数に束縛してやると時をねじ曲げたプログラムフローを作ることもでき、うまく立ち回るとロジックを自由に簡潔に書きたい形で書ける(もちろんスパゲティをゆでることもできる。グレンキャノンもだ!)

関連動画

継続に関するニコニコ動画の動画を……ないよね。

関連項目

携帯版URL:
http://dic.nicomoba.jp/k/a/%E7%B6%99%E7%B6%9A
ページ番号: 4570880 リビジョン番号: 1082639
読み:ケイゾク
初版作成日: 11/02/20 13:21 ◆ 最終更新日: 11/02/20 13:21
編集内容についての説明/コメント: 書いてみた
記事編集 / 編集履歴を閲覧 /

継続について語るスレ


まだ掲示板に書き込みがありません… 以下のようなことを書き込んでもらえると嬉しいでーす!

  • 記事を編集した人の応援(応援されると喜びます)
  • 記事に追加して欲しい動画・商品・記述についての情報提供(具体的だと嬉しいです)
  • 継続についての雑談(ダラダラとゆるい感じで)

書き込みを行うには、ニコニコ動画のアカウントが必要です!


ページトップへ戻る