サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは本日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。
The requested URL was not found on this server. Apache/1.3.41 Server at www.netlaputa.ne.jp Port 80
A Quick Introduction to Tamarin Tracing - by Chris Double氏 Webシステム開発用の言語としてJavaScriptが日に日に重要な位置を獲得しつつある。複雑なシステムを開発するとなるとその実行速度が問題視されるJavaScriptだが、コンパイル技術の導入やJITの導入で状況は改善されようとしている。特にFirefox 4で導入が予定されているAdobe Systemsから寄贈されたTamarinはJavaScriptの実行速度を劇的に向上させることになる。 Chris Double氏が3日(米国時間)、同氏のブログにおいてA Quick Introduction to Tamarin Tracingのタイトルのもと興味深いドキュメントを公開た。同氏は同ドキュメントで"tracing jit"と呼ばれる技術を活用した実装"Tamari
昨日の続きです。クロージャとcallの最適化。 クロージャは lambda、call は手続きの呼び出しのことです。 ((lambda (...) ...) arg ...) 呼び出される手続きが、lambda 式の場合。この呼び出し自体を let に変換する事が出来ます。 ($call ($lambda .. (LVar ...) Body) Arg ...) => ($let (LVar ...) (Arg ...) Body) この lambda がここでしか使われていないことが文脈的に保証されていることが重要です。(ということが後の方のクロージャ最適化を見ると分かります。) ちなみにこの変換が意味をなすのは クロージャ生成コスト + call のコスト > let のコスト という関係が Gauche VM において成り立つからです。 クロージャ最適化 クロージャ最適化の手前の時点
Women's basketball Wins NCAA Division III National Championship!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 \begin{code} ---
((S(K((S((SK)K))(K((S(K(S((SK)K))))K)))))((S(K((S(K((S(KS))K)))((S(KS))K))))((S(K(S((SK)K))))K)))
編集中。 尚、内容の正しさは全く保証できません。 「○○は△△です」と言い切りの形で書いてあっても、鵜呑みにしない方が安全です。 概要目的ルール予習復習基礎コンビネータの準備ユーティリティマクロの用意他のコンビネータ条件分岐自然数その一(失敗)演算その一(失敗)自然数その二(チャーチ数)演算その二ToDo参考リンク 概要 http://hw001.gate01.com/eggplant/tcf/unlambda/ 「全てのオブジェクトは関数である」という理念の極北とも言うべきunlambda。 そのunlambdaの基本となるS, Kコンビネータだけを用いて、論理的に正しく動作するVMを実装します。 尚、速度や実行コスト等は度外視します。 unlambdaには「難読化」というポリシーも含まれている為、VMの実装にはunlambdaそのものではなく、S式を利用します。具体的にはscheme。
このページは、Lazy K公式サイトの翻訳です。 http://homepages.cwi.nl/~tromp/cl/lazy-k.html 基本的に超訳です。 訳の正しさは全く保証されません。 訳のおかしい部分は多数あります。 翻訳元サイトの許可を取ったりはしていません。 無認可です。 訳者による前書き / 訳語についてLazy K要約サンプルコード何故Lazy Kが必要とされるのかLazy KのI/OLazy Kの構文と動作Lazy Kの失脚Lazy KインタープリタLazy Kコンパイラサンプルコードバグと欠点訳者による感想 / 要約 / その他コメントその他 訳者による前書き / 訳語について この文書はとりあえず、Lisp(できればScheme)を理解してる人向け。 動作の説明例がlambdaで書いてあったり、Lazy KコンパイラでScheme処理系が必要になったりする為。 C
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く