タグ

schemeに関するkazutanakaのブックマーク (44)

  • Structure and Interpretation of Computer Programs, Comparison Edition

    The text of the original SICP 2nd edition is licensed by Harold Abelson and Gerald Jay Sussman under a Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA). The text of the JavaScript adaptation is licensed by Harold Abelson, Gerald Jay Sussman, Martin Henz, and Tobias Wrigstad, also under CC BY-SA. The figures in the JavaScript adaptation are derived from figures created b

  • つくって学ぶプログラミング言語 RubyによるScheme処理系の実装

    プログラミングをより深く理解するための近道は、プログラミング言語を実装してみること。SchemeのサブセットをRubyで実装していくことで、プログラムはどう実行されるのか、その基がはっきり分かります。 ※書はCC BYにより配布されています。上記の「買い物かごへ」ボタンからは有償で購入できます。無料で入手したい場合は、下記リンクよりダウンロードしてください。なお、有償版も無償版も内容は同一です。 EPUB版PDF版内容紹介プログラムは書けても、その基礎となっている計算機科学(コンピュータサイエンス) の理解があやふやな人を、著者は多く見てきました。プログラミングに自信があるという人が、もう一歩先に進める道を示したいというのが、この文書を書き始めた動機です。 この文書を読むことで次の効果が得られることを期待しています。 プログラミング言語とは何かを深く理解することで、プログラミングのレベ

    つくって学ぶプログラミング言語 RubyによるScheme処理系の実装
  • 48時間でSchemeを書こう - Wikibooks

    Web上にあるほとんどのHaskellチュートリアルは言語についてのマニュアルのような教え方をしようとしているようです。それらには言語の文法、概念が少し載っていて、読者に対話環境でいくつかの簡単な関数を作るように指示します。よく機能する有用なプログラムの書き方は大抵最後にまわされるか、そもそも省かれていたりします。 このチュートリアルは違う方針を取ります。コマンドライン引数解析から始めて、完全に機能するR5RS Schemeのかなり大きなサブセットの実装まで進みます。道すがら、Haskellの持つI/O、mutable state、dynamic typing、エラー処理、そして構文解析機能を学びます。このチュートリアルを終える頃には、あなたはHaskellとScheme両方がかなり良くわかるようになっているはずです。 このチュートリアルの対象読者は主に以下の2種類です。 LispかSch

  • GitHub - hiroshi-manabe/sicp-pdf: SICP PDF with Texinfo and LaTeX source

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - hiroshi-manabe/sicp-pdf: SICP PDF with Texinfo and LaTeX source
  • Island Life - 「よりClojureらしい素数列」をGaucheで

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - 「よりClojureらしい素数列」をGaucheで
  • Haskell、Scala、ML、Scheme:あなたが次に学ぶ関数型言語 | POSTD

    (編注:2016/7/27、頂いたフィードバックを元に記事を修正いたしました。) 学生たちから、次に学ぶ言語はどれがいいのかとよく聞かれます。IT業界で働きたい人にお薦めするのは、現在盛んに使われている言語です。C++Java、C#はもちろん、PythonRubyPHPPerlなども挙げられるでしょう。 一方、向学のためという人や、学術研究や起業に関心がある人にとって、次の言語を選ぶ基準となるのは、就職に有利かではなく言語の表現力でしょう。学術研究や起業活動を行うには、プログラマとしての能力を何倍にも高める必要があります。そして、(おそらく)確立されたコードベースを扱った経験はないでしょうから、手元にあるタスクにとって最適な言語を自由に選ぶことができます。 この記事では、勉強に適したHaskell、Scala、ML、Schemeという4つの言語を、私の好きな特徴や参考資料のリストと

    Haskell、Scala、ML、Scheme:あなたが次に学ぶ関数型言語 | POSTD
  • k16's note

    call/ccは「引数を1つとる関数」である。 call/ccは「引数を1つとるプロシージャを1つ引数にとる関数」である。 ということは、call/ccにcall/ccを引数として与えられる。(call/cc call/cc)これは何か。 おさらいから。call/ccは引数を1つとるプロシージャを引数にとる。(call/cc (lambda (k) ...)) ; (A)これをなんとなく評価してみると、内側の(lambda (k) ...)に適当な引数を与えて評価されたかのような結果が得られる。gosh> (call/cc (lambda (k) 1)) 1 gosh> (call/cc (lambda (k) (odd? 1))) #tこのときの適当な引数が継続である。つまり、(A)を評価するとそのときの継続を引数にして内側の(lambda (k) ...)が評価される。これがcall/

  • 計算機プログラムの構造と解釈 第二版

    [ 目次, 前節, 次節, 索引 ] 2014-03-06 更新 [ 目次, 前節, 次節, 索引 ]

  • いかにして私は思い悩むのを止めてcall/ccを便利に使うようになったか

    call/ccは神秘的です。(call/cc call/cc) とか、いまだにくらくらします。まあ、ゆっくり考えれば難しいことではないのですが、回答に至るプロセスを即答する自信はありません。しかも、そんな込み入った話なのに、(call/cc call/cc) なんていう式には実用性のかけらもない。ゼロです。採用面接の問題にはいいかも。Schemerを募集するような会社があるかどうか知りませんが。 そんなcall/ccの使い道としてよく引き合いに出されるのは大域脱出です。でも、たとえばケント・ディヴィグの教科書の例を見てピンとくる人はいるのでしょうか。引数にゼロがあったら掛け算をやめてジャンプする。ありがたみがまったく感じられない話です。かと思うと、その次の例でいきなり登場するのは「プリエンプティブ・マルチタスクを実装したエンジン」なるもの。わけがわかりません。 そこで、自分が「call/c

  • Lecture 1A | MIT 6.001 Structure and Interpretation, 1986

    Overview and Introduction to Lisp Despite the copyright notice on the screen, this course is now offered under a Creative Commons license: BY-NC-SA. Details at http://ocw.mit.edu/terms Subtitles for this course are provided through the generous assistance of Henry Baker, Hoofar Pourzand, Heather Wood, Aleksejs Truhans, Steven Edwards, George Menhorn, and Mahendra Kumar.

    Lecture 1A | MIT 6.001 Structure and Interpretation, 1986
  • C++ で SICP - memologue

    計算機プログラムの構造と解釈 の問題を、Schemeで一問一問解いてゆくのが流行りな2006年でした(師走気分)。このSICPをHaskellやCleanで解いている方はいますが、意外にもC++で解いている人が見当たらないので(注: あたりまえ)、C++のテンプレートはさっぱりよくわからんなぁと思いつつ適当にやってみます。ネタです。 [ネタ1] exercise 1.45, 1.46 まずは、問題1.45-1.46を。これらは1章の最終問題で、1章で学んだ手続き抽象のテクニック全てを使う感じがして楽しいです。xのn乗根を反復改良法で求める関数 nth-root を作るという設問です。 まずはSchemeで解く 私の拙いスキーム力を用いて書いてみるとこんな感じ*1? (define (compose f g) (lambda (x) (f (g x)))) (define (repeated

    C++ で SICP - memologue
  • Video Lectures | Structure and Interpretation of Computer Programs | Electrical Engineering and Computer Science | MIT OpenCourseWare

    X Exclude words from your search Put - in front of a word you want to leave out. For example, jaguar speed -car Search for an exact match Put a word or phrase inside quotes. For example, "tallest building". Search for wildcards or unknown words Put a * in your word or phrase where you want to leave a placeholder. For example, "largest * in the world". Search within a range of numbers Put .. betwee

    Video Lectures | Structure and Interpretation of Computer Programs | Electrical Engineering and Computer Science | MIT OpenCourseWare
  • YABUKI Taro’s Home Page | 2018/08/19 フィードのURLが変わりました。

    不完全性定理のLisp, Mathematicaによる記述 Lisp code / Mathematica notebook プログラミング言語なんてどれも同じと思っている人は下の3つをJavaC++で書いてみてほしい 不完全性定理についてのゲーデルの証明の一部 停止問題の解決不可能性についてのチューリングの証明 LISP式がエレガントであることを証明できないというチャイティンの証明 ライプニッツ「役に立たないパラドックスは無い」(チャイティン「知の限界」) ミンスキー「ゲーデルはLispを思いついておくべきだった。もし彼がLispを思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっただろう」(ホフスタッター「メタマジック・ゲーム」) 次の2冊のはLispといってもSchemeのようなオリジナル言語が使われている。ここではCommon LispとEmacs Lisp、M

  • capriccio's blog: 文字単位のdiffを求めて

    UNIXにdiffユーティリティというのがあって、ファイル間の差分を表示してくれるのですが、これが不便なこともあります。というのは、diffは基的に行指向なので、コメント記号を行頭に入れただけでその行が丸ごと差分として検出されるとか、インデントを変えただけで行全体が差分として出るとか(これを差分として検出させないオプションがあることは知ってますが)、長い行の中で一部分だけを変えたときにもやはり行全体が差分として出るとかしてしまうので、場合によってはdiffが表示する結果から、目で差分を探したり、あるいは差分がないことを確認するという作業を強いられることになります。# 個人的には、csvファイルをcvsなどのバージョン管理システムで管理したときなどが辛かったです。で、そういう場合に文字単位で機能するdiffがあればいいなと長年思っていたのですが、二週間ほど前に一念発起して、行動に移してみま

  • Scheme手習い - The Little Schemer -:Geekなぺーじ

    最近、私のまわりでは様々な角度から多面的に話題な"Lisp"ですが、20年以上の歴史を持つLisp解説書の日語翻訳版が2010年10月22日に新発売されます。 「Scheme手習い」です。 最近、私はインターネットのカタチに関して語るというをオーム社で執筆しているのですが、そこでお世話になっている編集の方の熱い想いが、この訳を実現しました。 この書籍への熱い想いがネット越しに伝わって来たので、遅れ遅れになっている私の原稿に関するミーティングを含めて、お話を聞きに行ってきました。 第4版の版権を得て翻訳 原著のおおもとである「The Little LISPer」は1974年にまでさかのぼります。 原著は何度か版が変わっていますが、1990年に邦題「Shecme手習い - 直感で学ぶLisp」としてマグロウヒル出版から刊行されたのは、1987年の版でした。 しかし、マグロウヒル出版の解散

    kazutanaka
    kazutanaka 2010/10/25
    英語版4版を読んでるんだけど、記事を見てオーム社のも買おうかと思った。
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • ふつうの言語で Lazy list について考える。 - 言語ゲーム

    こないだ Prolog を実装する時には随分 Haskell の遅延評価にお世話になりました。そこで、この大変便利な機能を普通の言語で使うにはどうしたら良いだろうかと色々調べると、Scheme の http://srfi.schemers.org/srfi-41/srfi-41.html というのに詳しく書いてある事が分かりました。他の言語でも色々やってる人居るみたいだけど、標準ライブラリになってるのは Scheme しか見つかりませんでした。 早速手元に gauche があるので実験します。gauche のは SRFI-40 とあってちょっと違うみたいだけど気にしない方向で。 gosh> (use util.stream) #<undef> gosh> (stream 1 2 3) #<promise(stream) 0x695b40> gosh> (stream-car (stream

    ふつうの言語で Lazy list について考える。 - 言語ゲーム
  • http://www4.ocn.ne.jp/~inukai/scheme_primer_j.html

  • approx-search.el

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 403 Forbidden

    \閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう