タグ

schemeに関するtwainyのブックマーク (17)

  • Gauche(Scheme) でデバッグをする4つの方法 - higepon blog

    Gauche でコードを書いているときにコードが意図どおりに動かないことがあります。そのような場合にデバッグする方法を4つ紹介します。 前提 まず Gauche はリリースされている最新版を使った方が良いでしょう。Linuxのディストリビューションによってはパッケージが古い場合あります。 またScheme は関数型言語なので、デバッグの単位は関数(手続き)ごとに行うことが多いです。一つ一つの手続きが意図どおり動いているのか?を調べながら進めるのが基になります。 方法1 print デバッグ Gauche には今のところデバッガがありませんから基的には print デバッグがメインとなります。単純な print デバッグから見ていきましょう。 以下のような sum という手続きで print デバッグしてみましょう。 (define (sum n) (if (= n 1) 1 (+ n

    Gauche(Scheme) でデバッグをする4つの方法 - higepon blog
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • SISC - Second Interpreter of Scheme Code

    Downloads 1.16.6 - 2007-02-27 Full: .zip, .tar.gz, .deb, source Lite: .zip, .tar.gz, CVS Support SourceForge Project Mailing Lists #sisc on irc.freenode.net. SISC Wiki Documentation Java-based Scheme Comparison Try SISC Online Introduction SISC is an extensible Java based interpreter of the algorithmic language Scheme. SISC uses modern interpretation techniques, and handily outperforms all existin

    twainy
    twainy 2007/04/25
    The entire R5RS Scheme standard is supported, no exceptions.
  • 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 継続渡し形式 例によって階乗fa

  • GaucheによるSchemeプログラミング

    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

    GaucheによるSchemeプログラミング
  • Scheme:call/ccと副作用

    c.l.sで興味深い議論が進行していたのでメモ。 purely functional Lisp + call/cc = ? 発端は、Nils M Holmの 「Purely functionalなマイLispにcall/ccをつけてみたよ」 という投稿。 それに対し、Schemeの大御所達から 「call/ccは、副作用を生じるよ」 と突っ込みが入る。 言い替えれば、「set!などの明示的な副作用オペレータを一切持たない purely functionalなLispに、call/ccを導入すると、それはもはや purely functionalではなくなる」ということ。 実例 これは簡単な例によって示すことができる。szgygによる例: (let ((f (lambda (x) (call/cc (lambda (k) k))))) (cons (f 0) (f 0))) (f 0)の2回

    Scheme:call/ccと副作用
    twainy
    twainy 2006/11/22
    call/ccをつけると、同じ関数を実行しても結果が違ったり、関数の実行順序を予測できたりするのでpure functionalではないのではという話。
  • De-Scheming MIT? | Lambda the Ultimate

    Will freshman scheming be the same if their schemes are more about robots and less about Scheme? The MIT is going to change its curriculum structure that was famous for teaching Scheme in introductory courses. One force behind the reform is no one else than Harold Abelson, famous for his marvelous Scheme opus SICP. But why changing? The new curriculum is designed with three goals in mind: greater

  • Topics:SICP in other languages - CTMWiki

    Topics:SICP in other languagesFrom CTMWiki SICP, Structure and Interpretation of Computer Programs (http://mitpress.mit.edu/sicp/), is another great CS textbook that's in the works for translation. The examples in the book were originally in Scheme.

    twainy
    twainy 2006/11/12
    SICPを他のプログラミング言語で
  • Scheme によるプログラミング入門

    内容 プログラミングについて体系的に学ぶとともに,実習を通して理解を深めます. プログラミング言語としては,文法が簡単で扱いやすいという理由で Scheme 言語を採用しています. 自宅のパソコンなどで、DrScheme を練習したい人 DrScheme は、 Dr. Scheme のWebページからダウンロードできます。 このWebページで、「Download DrScheme」をクリック、その後「Download」をクリック。 すると、Dr. SchemeダウンロードのWebページが現れるので「Download links」のところから、適切なリンクを選んでクリック。すると、ダウンロードが始まります。 この Web ページで公開している資料について 手作りの資料ですので, ミスが発見され次第,少しずつ手直しします.ご了承ください. Scheme 説明資料と演習問題 (参考) プログラ

  • SICPReading's Wiki - FrontPage

    数学やLispの「素人」でも、名著の誉れ高い「計算機プログラムの構造と解釈 第二版」を何とか読んでみたい!という想いから「素人くさいSICP読書会」を立ち上げました。 参加者へのお知らせ 10月1日(水),第126回は茅場町のコントロールプラスです 今後の予定(確定分) 10月8日(水),第127回は茅場町のコントロールプラスです 注意! Yahoo!グループのメールが届きにくくなっています。開催告知が来ないなーと思ったら、必ず素人くさいSICP読書Yahoo! Groupsの「過去のメッセージ」を確認してください!!! 概要 新たに参加を考えている方は【立ち上げの経緯】や【最近の状況】もご参考に (※ 運営方法などは今後変更される可能性があります) 日時:毎週水曜日 20:00〜22:00 (第1回は2006年2/15(水)) 開催場所:基的には 第1週 茅場町某所 第2週 茅場町

  • http://www.sampou.org/scheme/sicp/mailingList/msg01110.html

    twainy
    twainy 2006/05/03
    なんとかわかったような気がする。たぶん気のせいだが
  • Schemeを作ろう 第3回 継続

    Last update 1999/08/07 Scheme処理系の制作 第3回 (C)平山直之 無断転載は禁止、リンクはフリー 誤字脱字の指摘は歓迎 継続とは 今回は、前回「めんどくせえ」と放棄した継続の概念の説明および実装レポートについて書きたいと思います。 あれからまたインターネット漁ってみたのですが、やっぱりどうも日語リソースはないらしいので、自力で書いてみることにします(schemeの研究してる学者・学生なんて掃いて捨てるほどいるだろうに……) さて、こんなC言語のコードがあるとします。 void foo(void){ bar(baz( )); bar(0); } C言語を学んだ皆さんなら、このコードがどういう順番に実行されるのかわかりますよね。説明されるまでもなく、 baz( )を呼び出す その戻り値を引数としてbarを呼び出す 0を引数として呼び出す fooの呼び出しもとに帰

    twainy
    twainy 2006/05/03
    call/ccの説明
  • call/cc 入門 (Coroutine with call/cc) — MAYAH.JP

    call/cc を使って簡単な Coroutine を作ります。call/cc 入門だと思ってもらえれば幸いです。 coroutine とは ここでは coroutine を「実行の途中でリターンでき、さらにそこ(実行の途中)から再開することが出来る何か」の意味で使用します。適当な疑似言語で書くと次の通り。関数の途中でのリターンを suspend(), 途中からの再開を resume() で表すことにします。 void f(co) { // co は coroutine object の意味 int i = 0; while (true) { printf("=> %d\n", ++i); co.suspend(); } } co = coroutine.create(f); co.start(); // f(co) を呼び出す => 1 co.resume(); // suspend()

    twainy
    twainy 2006/05/03
    call/ccの説明
  • なぜLispなのか

    Hofstadter『メタマジック・ゲーム』 ミンスキー「ゲーデルはLispを思いついておくべきだった。もし彼がLispを思いついていたならば彼の不完全性定理の証明はもっと簡単なものになっていただろう」 ゲーデルの証明の一番難しいところは、数学的体系に自分自身を語らせるところにある。天才のひらめきが何段階か必要になる。しかし、Lispは、少なくともゲーデルが必要としていた意味で、まさに自分自身を直接語ることができる ゲーデルはLispを発明した! 不完全性定理のLisp, Mathematicaによる記述 和田英一「Lispへのこだわり」(PDF) Eric S. Raymond「ハッカーになろう」LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。たとえ、実際には LI

  • 関数型言語の勉強方法について - higepon blog

    id:higepon:20060330:1143714380で関数型言語の勉強方法について人力検索で質問しました。 その結果、たくさんの回答(コメント欄での回答や、飲み会でのアドバイスも含む)をいただきました。ありがとうございます。 質問自体は単純で、逆に回答する立場からすると範囲が広すぎてとても答えづらいものだったと思います。 その中でも特に印象に残り、質がとても高いと感じた回答の一部を引用したいと思います。 id:practicalschemeさんによる回答です。(全文はhttp://q.hatena.ne.jp/1143714236#a507995)。 なかなか難しい質問です。一冊あるいは一サイト、決定版と言えるようなものは思い当たりません。しかし関数型言語やそのアプローチについては最近関心が高まりつつあるようで、ギャップを埋める入門書が徐々に出てくると思われます 略 [とっかかり]

    関数型言語の勉強方法について - higepon blog
  • Write Yourself a Scheme in 48 hours

    Write Yourself a Scheme in 48 Hours A Haskell Tutorial By Jonathan Tang Contents Overview First Steps: Compiling and running Parsing A Simple Parser Whitespace Literal Numbers and Strings: Return Values Lists, Dotted Lists, and Quoted Data: Recursive Parsers Evaluation, Part 1 Displaying Values: Show and Typeclasses Evaluating Primitive Values: Pattern Matching Evaluating Primitive Functions: Firs

    twainy
    twainy 2006/03/27
    Haskellチュートリアル
  • なんでも継続

    Shiro Kawai まだ下書き Schemeの特徴をあげるときに、「継続」や「call/cc」が出て来ないことはない。 でも、R5RSのcall/ccの項をいくら読んでも、どうもよくわからない。 call/ccを使えばC言語のbreakみたいなのとか、コルーチンとかいう スレッドもどきとかが書ける、というのはわかったけど、一体そういうのが書けて 何が嬉しいのか、そこんとこがピンと来ないんだ。 今、そこにある継続 プログラミングの世界の概念には、禅の公案のようなものがある。 それを説明する文章はほんの一文なのに、最初に目にする時、 その文は全く意味をなさない、暗号のように感じられる。 だがひとたびその概念を理解すると、 その概念の説明は確かにその一文で説明されているのがわかるのだ。 そんな、「分かれば分かる」という禅問答の中でも 「継続」は最も謎めいたものの一つと言えるだろう。 文献を

    twainy
    twainy 2005/08/29
    半分くらい理解できた……
  • 1