<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<oembed>
  <author_name>nozom</author_name>
  <author_url>https://blog.hatena.ne.jp/nozom/</author_url>
  <blog_title>ヒビノキロク</blog_title>
  <blog_url>https://nozom.hatenadiary.org/</blog_url>
  <categories>
    <anon>Lisp</anon>
    <anon>Scheme</anon>
    <anon>memo</anon>
  </categories>
  <description>実装はまだ先だが、継続渡しに変換してからコンパイルする方法がなんとなく分かった。 継続渡しへの変換 継続渡しへの変換は、簡単な例で示すと以下のようになる。 次の式を評価するためには、まず(g)を評価して、その戻り値を使って(f # x)を評価する。 (f (g) x)つまり以下の式と等価。 ((lambda (v) (f v x)) (g))ここで関数gの引数を一つ増やして、１引数の関数kを取れるようにしたg_cpsを考える。この関数g_cpsは、本来のgの計算を行った後で、戻り値を返す代わりに渡された関数を呼び出す（呼ばれた関数から戻ってこないので、呼び出すというよりジャンプすると言った方が…</description>
  <height>190</height>
  <html>&lt;iframe src=&quot;https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnozom.hatenadiary.org%2Fentry%2F20050828%2F1125188380&quot; title=&quot;継続渡しとコンパイル - ヒビノキロク&quot; class=&quot;embed-card embed-blogcard&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; style=&quot;display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;&quot;&gt;&lt;/iframe&gt;</html>
  <image_url></image_url>
  <provider_name>Hatena Blog</provider_name>
  <provider_url>https://hatena.blog</provider_url>
  <published>2005-08-28 09:19:40</published>
  <title>継続渡しとコンパイル</title>
  <type>rich</type>
  <url>https://nozom.hatenadiary.org/entry/20050828/1125188380</url>
  <version>1.0</version>
  <width>100%</width>
</oembed>
