タグ

schemeに関するjjzakのブックマーク (286)

  • OpenCV/Reference - Co-Coa Wiki

    キャッシング 申込み比較rtのWEB申込がとっても簡単!おすすめ!スピーディな即日申込が可能です!キャッシング 申込み比較rtガイドはお急ぎ融資でも早いので助かります!カードローンWEB申込は簡単即日OKです。 わかった!キャッシング 申込み比較rtでキャッシング 申込み比較rtのコツ まだ先だと思っていたのに、キャッシング 申込み比較rtがひどくて地獄のようです。 キャッシング 申込み比較rtに寝かせることもできず、キャッシング 申込み比較rtを持ち上げた状態でキープしなくてはダメです。 キャッシング 申込み比較rtはそんなに重くはないといっても、しんどいことにはかわりません。 キャッシング 申込み比較rtを眠さのあまり抱けずにいると、借り入れの煩さが増して、キャッシング 申込み比較rtの睡眠時間の不足も影響して、女性スタッフも泣きたい気持ちでいっぱいになってきます。 笑基的くらい開放

    OpenCV/Reference - Co-Coa Wiki
  • Forth Parser in Scheme

    Back to Main Links to Forth Parser Evaluator Stack stuff (define-record varref (name)) (define-record lit (datum)) (define-record prim-proc (prim-op)) (define prim-op-names '(+ - / * add3)) (define dictionary '(DUP CR ?DUP dot DROP SWAP TEST OVER ROT !)) (define variable-names 'variable) (define udproc 'colon) ; Scheme reserves use of ";" so ; so : is written out in long hand. (define do-loop 'do)

  • Scheme:使いたい人のための継続入門

    使いたい人のための継続入門継続渡し形式call/ccは普通の関数call-with系関数call-with-procedurecall-with-continuation-procedurecall-with-current-continuation評価順序と継続call/ccパズルお手元マルチスレッド部分継続reset/pcとcall/pc環境破壊と部分継続部分継続の使用法PRINT-AND-NEXT-REPL議論質問お手元マルチスレッドのサンプルプログラムについて 使いたい人のための継続入門 とりあえず殴り書き。 くどかったり冗長な文章になってたり、重複してたり、間違ってたり、 おおいなる勘違いをしてたり、恥をカいてたりするかもしれないけどご愛敬。 藁をもつかみたい気持ちで継続を使えるようになりたい人は読んでみてください。 ただし所詮は藁です。(w 継続渡し形式 例によって階乗fact

    Scheme:使いたい人のための継続入門
  • SICP memo: FrontPage

    Structure and Interpretation of Computer Programs 計算機プログラムの構造と解釈 Harold Abelson ハロルド・エイブルソン Gerald Jay Sussman ジェラルド・ジェイ・サスマン Julie Sussman ジュリー・サスマン 日語訳:和田 英一 asin:489471163X Powered by wifkyrss.pl 0.11.1 RSS Generated by wifky 1.0.1.0 with Perl 5.008008 Modified by naoya_t using Text::Hatena 0.10 ☆はじめにお読みください ☆問題リスト // 未完リスト ☆リンク集 | ☆家との対応表 目次 1. 手続きによる抽象の構築 Lispによるプログラム 1.1 プログラムの要素 1.2 手続

    jjzak
    jjzak 2007/08/03
    素人くさいSICP「独」書会
  • ホワット・ア・ワンダフル・ワールド 新エディタ Shiki を作る日記 (17 + 30)

  • 継続

    継続、continuationと来ればやはりSchemeの話になるのだろうか。一般社会で schemeと言えば「すきーむ(n)計画。陰謀。」であるがソフトウェア業界で Schemeと言ったらLispの一種のことだ。Lispには変種が腐るほど存在するが、 Common Lispと並んで有名なのがSchemeである。Common Lispが標準化の課程でゴテ ゴテと装備して巨大化したのに対し、Schemeは遥かにコンパクトでクリアな仕 様を持つ。またSchemeとは言語の一般名であり、その実装にはGaucheとか scmとかguileとかMIT Schemeなどがある。 さてCall/CC、正式名称Call with Current Continuation、について 説明しよう。Call/CCはちょっと見はsetjmp/longjmpと同じように見えるのだが、 スタックが深くなる方向にもジャ

  • はてなブログ | 無料ブログを作成しよう

    月に1冊、未知なるを読もうという試み(2024年1〜3月) はじめに 1月:【暇・退屈論】國分功一郎『暇と退屈の倫理学』 2月:【決済】ゴットフリート・レイブラント、ナターシャ・デ・テラン『教養としての決済』 3月:【自炊】土井善晴『一汁一菜で良いという提案』 総括 はじめに 社会人として過ごす年数も少なくはなくなっ…

    はてなブログ | 無料ブログを作成しよう
    jjzak
    jjzak 2007/06/29
    Schemeのコンパイラを実装中のようで
  • http://liskell.org/

  • http://oss.timedia.co.jp/show/column/%BA%A3%C6%FC%A4%CE%B0%EC%B9%D4/%A3%B2%A3%B0%A3%B0%A3%B5%C7%AF%A3%B1%A3%B2%B7%EE

  • Trek in Scheme, Man-J (Scheme Ver.)

    English Star Trekゲーム (Scheme版) 昔懐かしい StarTrekゲームを Scheme で書き直しました。 StarTrekゲームの詳しくは Pete Turnbull さんの WebPage を見てください。 最新版(Ver. 1.2.4; 2007/FEB/24) 色々、バグなどを直しました。(Ver. 1.2.3; 2007/FEB/16) Phaser関係を修正しました(Ver. 1.2.1; 2007/JAN/30) 表示(分数が出力される)があまりに酷かったのを修正しました(Ver. 1.1; 2007/JAN/03) 最初のリリース(Ver. 1.0; 2007/JAN/01) 現在は MIT/GNU Scheme でしかテストしていません。 Windows, MacOSX, BSD, Linuxなどに MIT/GNU Scheme をインストールし

    jjzak
    jjzak 2007/05/11
    Star Trekゲーム (Scheme版)他にもprolog lisp版あり
  • Shozo TAKEOKA's page

    (社)組込みシステム技術協会 (JASA)の 理事/技術部長/OSS活用WG リーダを勤めています OSSコンソーシアムの 副会長と理事を勤めています。 ( Linuxコンソーシアムは、解散し、改めて、OSSコンソーシアムとして発足しました。) PCクラスタ コンソーシアムの 理事を勤めています DEOS協会の 理事/事務局長を勤めています BSD Researchの 理事を勤めています ( NPO法人 日エンベデッド・リナックス・コンソーシアム (Emblix)の 理事と事務局長を勤めていましたが、解散。資産は、JASA OSS活用委員会で生かしています。) 表紙モデルもやった ・ facebook: takeoka ・ twitter ID: @takeoka ・ メモを記したBlog(アメブロ) ・ 公開ブックマーク(hatena) www.たけおか.jpがあるんです。 ta

  • schemeで矢印let - val it : α → α = fun

    ふと LispUser.net のむかしの記事を見ていたところ、S式の限界と題して、 let と cond の記法拡張の話があった。端的に言うと、矢印が使えるようになるというもの。 で、最初に見たときは「あーまあそうだよね」という感じであり、まあサンプルとしては良いな、と思っていたわけだ。でまあそれだけだったんだけど、なんというか、わりと最近になってようやく自分でも define-syntax / syntax-rules で書くのに抵抗がなくなったというか、「こうすればできるじゃん」のイメージが掴めるようになったので、例題がてらにちょっとやってみた。 いい機会なので、 pyvnc2swf で撮影したムービーも公開します。というか、ムービー作成をちょっとやってみたかった、というのもある(笑)。 矢印let矢印cond 裏をあかすと矢印letの方はやってみたらすぐ出来てしまい、それは撮影して

  • An introduction to Termite

    NOTE: This post was written by Marc Feeley, the author of Gambit-C , following yesterday's MSLUG meeting where I gave a short introduction...

  • Javascriptで継続渡し - ヒビノキロク

    id:nozom:20060317#1142577630の続き。世界で最も誤解された言語とも呼ばれるJavascriptを使って継続渡しを書いてみた。 なお、Javascriptの処理系としてRhino*1を使った。参考文献は『入門Javascript』(ISBN:4756138713)。 function fib(n) { if ((n == 1) || (n == 2)) return 1; else return fib(n - 1) + fib(n - 2); } function fib_cps(n, k) { if ((n == 1) || (n == 2)) return k(1); else return fib_cps(n - 1, function(v1) { return fib_cps(n - 2, function(v2) { return k(v1 + v2);

    Javascriptで継続渡し - ヒビノキロク
  • 継続渡しとコンパイル - ヒビノキロク

    実装はまだ先だが、継続渡しに変換してからコンパイルする方法がなんとなく分かった。 継続渡しへの変換 継続渡しへの変換は、簡単な例で示すと以下のようになる。 次の式を評価するためには、まず(g)を評価して、その戻り値を使って(f # x)を評価する。 (f (g) x)つまり以下の式と等価。 ((lambda (v) (f v x)) (g))ここで関数gの引数を一つ増やして、1引数の関数kを取れるようにしたg_cpsを考える。この関数g_cpsは、来のgの計算を行った後で、戻り値を返す代わりに渡された関数を呼び出す(呼ばれた関数から戻ってこないので、呼び出すというよりジャンプすると言った方が正しい)。 (g_cps (lambda (v) (f v x)))このときの増えた引数が継続。 (擬似)バイトコードへのコンパイル 具体例で考える。 (define (fact n) (if (>

    継続渡しとコンパイル - ヒビノキロク
  • 継続渡しとコンパイル(2)〜末尾再帰の場合 - ヒビノキロク

    前のエントリでループの度にヒープにクロージャを生成しているのが無駄だと思う人がいるかもしれないが、それは例に挙げた関数が末尾再帰になっていないからだ。継続渡しは末尾再帰の時に最も真価を発揮する。 というわけで階乗計算の末尾再帰版。 (define (fact_tailrec n) (define (fact-aux n r) (if (> n 1) (fact-aux (1- n) (* n r)) r)) (fact-aux n 1))これを継続渡しスタイルにしたものがこれ。 (define (fact_tailrec_cps n k) (define (fact-aux n r k) (if (> n 1) (fact-aux (1- n) (* n r) k) (k r))) (fact-aux n 1 k))さらにこれを前のエントリと同様の規則で変換すると、 fact_tailre

    継続渡しとコンパイル(2)〜末尾再帰の場合 - ヒビノキロク
  • 末尾再帰と継続(メモ) - ヒビノキロク

    レキシカルスコープと継続ができたので、あとSchemeに必要なものとしては末尾再帰の最適化がある。せっかくだからこれも実装したい。 どうやって実装すればいいか。最初はインタプリタではなくコンパイラを作らないといけないと思ったが、ひょっとすると継続を使えば自然に実装できるかもしれない。今は継続をバカ正直に毎回生成しているが、等しい継続(同じクラスで参照しているオブジェクトも同じ)は、振る舞いも同じはずなので、既に同値の継続オブジェクトが存在していたらそれを使うようにすると、繰り返しだろうが再帰だろうが有限の継続だけで済んでしまうような気がする。 ただ、もしそうなるとちょっとした問題があって、オブジェクトが循環参照するようになるので、最早オブジェクトの寿命をガベージコレクタに任せきりにはできないかもしれないということ。Javaのガベージコレクタってそこまで賢くなかったよなあ。となると自分で何と

    末尾再帰と継続(メモ) - ヒビノキロク
  • 続・継続 - ヒビノキロク

    昨日の時点ではまだバグがあったが、そのバグも直った。たぶんこれで完成したと思う。最終的にはスタックですらなく、単に現在の継続を覚えておくだけで良くなった。これは継続自身に次に処理を渡すべき継続の参照を持たせることにしたためで、こうしないと継続を再利用した時に問題が出る。 昨日は結果しか書かなかったので、継続について少し解説を。 > (+ (call/cc (lambda (x) (x 1) 2)) 3) ==> 4この例では、xにcall/ccの外側への継続が束縛されているので、xを呼ぶと(call/cc ...)全体がその引数と置き換わり、全体としては(+ 1 3)を計算することになる。いわゆる大域脱出の例。 別の例: (define cont #f) ==> #f (+ (call/cc (lambda (x) (set! cont x) 1)) 2) ==> 3 (cont 5) =

    続・継続 - ヒビノキロク
  • ヒビノキロク

    理由は id:nozom:20090202 を見てください。 はてな市民制度について はてな市民とは によると はてなキーワードを編集するためにははてな市民でなければならない はてな市民になるためにははてなダイアリーかはてなグループ日記を30日以上利用しなければならない 最後の利用から30日以上利用がない場合一時的にはてな市民ではなくなる ということで、移転先のはてなグループの方はほぼ週1更新なのではてな市民になるまであと約6ヶ月もかかるが、さすがにそれは待っていられないのではてなダイアリーの方を更新してみるテスト。 たぶん今後も何回か同じことがあると思います。 ユーザーページへのGoogle Analyticsの設置についてのアンケートで反対したことがいつの間にか*1導入されていたため、日をもってこの日記の使用を中止します。 他のサービスに移ることも考えたのですが、当面の間 g:noz

    ヒビノキロク
  • 魔法言語 リリカル☆Lisp

    About ★「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。 Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。 別の処理系をインストールする必要はありません!! Lispとは ★CやC++Java、BASIC、PerlRubyPHPPython、ML、Haskellなどと同じプログラミング言語の一つです。 マサチューセッツ工科大学のJohn McCarthy教授を中心とする研究グループによって開発され、1962年に発表されました。 LispとはList Processorの略で名前通りリストの処理を得意とします。 このことから人工知能の開発に多く用いられています。 NScLisperとは