検索していたら、きしだのはてな・おとうさん、ぼくにもYコンビネータがわかりましたよ! という記事にめぐり逢って面白かったので Scheme 写経してみました。 ラムダ関数の表記 ラムダ関数は λx.x のように表記します。 λx.x λx.x*2(λx.x*2)y という関数は xの部分をyでおきかえると (λx.x*2)y → y * 2 となります。これを簡約といいます。 ;; scheme (lambda(x) x) ;=> #<closure #f> ((lambda(x) x) 2) ;=> 2 # ruby lambda{|x| x} #=> #<Proc:0xb77e75a4@(irb):1> lambda{|x| x}.call(2) #=> 2 -- Haskell > (\x -> x) 2 -- => 2 > :t (\x -> x) -- => (\x -> x)
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
また1年振りの更新となりかけました。 Andres Raba氏により2011年から開発が続けられている、非公式PDF版SICPを全訳しました。 ファイル 恒例のgithubです。 https://github.com/minghai/sicp-pdf jsicp.pdfが日本語版の本体です。 ejsicp.pdfはデバッグ用の日本語・英語併記となります。 ライセンスはCC BY-NC-SA 3.0です。商業使用は認められないことにご注意下さい。 SICPとは何か? SICPとはMITが作成した何も知らない新入生向けのプログラミングの教科書です。 プログラミングと強調したことには理由があります。この本は良くあるプログラミング言語の教科書ではなく、あくまでもプログラミングを勉強するための教科書だからです。このことはこの本の中でも、最初の前書き、序文にて何度でも繰り返し強調されています。筆者達が
ようやくSICPの第1章が終わったので、これからSICPの勉強を始められる方に向けて, SICPの第1章に関する個人的なまとめをおくりたい。 SICPの第1章を学ぶ上で必要になるもの ・1ページ1ページしっかり理解しながら進む忍耐力。数ページ 飛ばし読みするだけで分からなくなるので注意( 特にExcerciseは 問題を理解する手助けになる上, 前のExcerciseで定義した手続きが後のExcerciseで何回も出て来たりするので, 1章に関しては全ての問題を飛ばさずにやることをオススメする. 実際、1章に関しては後述の高校数学の基本的な計算さえ理解していれば、「どうあがいても絶対にできない」というような絶望的な問題は存在しない )。「ん?ちょっと雲行きが怪しくなってきたな…」と感じ始めたら迷わず一度戻って勉強し直した方がよさげ。 ・高校数学。所々に複雑に見える数式があるけど, シグマ計
SICPは、よい内容について書かれた本であり、最良の本だった時期もあった。 けれども、今となっては、理解が難しく内容の割には時間がかかる、時間の無駄ともいえる本といってもいいかもしれない。 もちろん、Schemeの可能性、数値計算、プログラミング、コンピュータ教育の歴史、そしてSICP自体のすべてに興味があれば、効率がいい本かもしれない。 けれども、コンピュータ教育の歴史、SICP自体に興味がないのなら、あまり効率のいい本とはいえない。特に、Scheme、数値計算に当面の興味はなく、プログラミングについてだけを学びたいのであれば、時間の無駄でしかないと思えるし、今となっては足りない部分もある。 SICPの欠点として、まず、次の点が挙げられる。 日本語がよみにくい サンプルに数学の知識が必要 プログラムがよみにくい 日本語がよみにくいというのはよく指摘される。ただこれは翻訳だけが悪いのではな
[ 目次, 前節, 次節, 索引 ] 目次 目次 序文 第二版への前文 第一版への前文 謝辞 1 手続きによる抽象の構築 1.1 プログラムの要素 1.1.1 式 1.1.2 名前と環境 1.1.3 組合せの評価 1.1.4 合成手続き 1.1.5 手続き作用の置換えモデル 1.1.6 条件式と述語 1.1.7 例: Newton法による平方根 1.1.8 ブラックボックス抽象としての手続き 1.2 手続きとその生成するプロセス 1.2.1 線形再帰と反復 1.2.2 木構造再帰 1.2.3 増加の程度 1.2.4 べき乗 1.2.5 最大公約数 1.2.6 例: 素数性のテスト 1.3 高階手続きによる抽象 1.3.1 引数としての手続き 1.3.2 lambdaを使う手続きの構築 1.3.3 一般的方法としての手続き 1.3.4 値として返される手続き 2 データ
紫藤のページにようこそ! Lisp, Haskell, Python, Sather などの関数型言語の解説、小品プログラムを載せています。 ここでは関数型プログラミング言語をものすごく広い意味で使っており、 手続きをデータとして扱える言語を指します。 (Python, Sather などは普通はオブジェクト指向言語に分類されます。) また、xyzzy のマクロに関するメモもあります。 面白そうな割りに、web 上に文書が少ない題材を取り上げています。 リンクはご自由にお張りください。 更新ログ [Sep 15, 2014](Python) Set を用いたライフゲームの実装 を作成 [Jul 21, 2014]デコレータを用いた bottle.py のアクセスコントロール を作成 [Jul 13, 2014]Maildir のバックアップ を作成 [Jun 28, 2014]自宅サーバの
Welcome to WiLiKi This is WiLiKi, yet another awesome Wiki clone written in Scheme. (Wiliki is engineering in Hawaiian). If you see garbage characters, you may be using a browser that can't display Japanese characters. Just leave them alone. To test WiLiKi features, try SandBox. Development of WiLiKi is supported by SourceForge . [RDF Site Summary] Currently the latest version is provided from Git
現在のバブル気味なScheme人気はきっとSICP本とGaucheが引き起こしたのでしょう。 Gaucheは大人気です。大幅な拡張が加えられていて、最早Schemeとは言えないほどに 拡張され実用向けとなっています。 プロの技術者なら当然にUnix系のOSでEmacsによりGaucheを使いこなすのでしょうけれども、 一般人には荷が重過ぎます。サクっとお手軽にWindowsでGaucheを楽しみ、勉強するというのも アリだと思うのです。そういえばオライリーから「プログラミングGauche」 という本も出てましたね。 WindowsでChezEditを使ってお手軽に動かしてみましょう。ChezEditもVer1.30からは UTF-8が扱えるようになりました。Ver1.31からGaucheモード追加しました。GaucheもOKですよ。 ○まずはGauche/Winのゲットです。 htt
I'm developing Scheme IDE for Windows. It's called "Babbage" . It is like a minimum Emacs. Babbage is very simple and has windows like key assign. Babbage is Unicode editor. Please down load and try it.Babbage includes "Simple" Scheme compiler (simp.exe). ::Twitter sym->num Babbage Ver0.82 ChezEdit-NTの後継です。最新のDelphi xe とUnicode版のTEditorコンポーネントを使って書き直しました。 使い方はほぼ同じです。今後はこちらのBabbageでのバージョンアップとなります
About BiwaScheme is a Scheme interpreter written in JavaScript. Try it now Download biwascheme-0.8.0.js biwascheme-0.8.0-min.js Older versions are on github. Example <script src="biwascheme.js"> (console-log "Hello, world!") </script> Demo Picture language (from SICP) BiwaScheme for Mobile Games Hockey (a pong-like game) Dobon (a card game) 15 puzzle Tetris-like example Development REPL with IL in
A practical introduction to the programming language Scheme
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く