タグ

schemeとtoreadに関するteppeyのブックマーク (8)

  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2):プログラミング言語の進化を追え(1/3 ページ) 前回に引き続き、Scheme言語の処理系、Gaucheを開発している川合史朗氏が、クロージャの機能を検証し、関数型言語とオブジェクト指向言語の関係について解説していきます。今回は、クロージャとオブジェクトのより深淵を探求します。 抽象化ツールとしてのクロージャ C++的なオブジェクトの世界では、オブジェクトの実体とは「ひとかたまりの構造体としてメモリ上に置かれたインスタンス変数の値」にすぎません。オブジェクトのポインタを取れば、それは事実上、その構造体へのポインタを持っていることになります。クロージャを「関数」中心で見ていると、その実体は「オブジェクト」の実体とは異質なもののように思えるでしょう。 確かにクロージャのナイーブな「実装」は、関数ポインタと環

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係(その2)
  • wiliki.cgi?Gauche:CGI:スケジュール予定表:Shiro版

    Gauche:CGI:スケジュール予定表から。 カレンダー表示して、各日付に対して予定を書き込めるようにする、 というcgiスクリプト。いくつも解法があると思います。ここでは Gaucheのライブラリを活用して最短距離でとにかく動かし、その後で 機能をいろいろつけてゆく、という方向で、開発の様子を書いてみます。 チュートリアルにもなればいいかな。 何はともあれカレンダーカレンダーの基関数カレンダーのtable表示cgiにする今回のまとめパラメータの受け取りparamsの意味任意月のカレンダー各日付のエントリまとめデータベース出現予定データの受け取りデータのストアまとめ近代化dbまわりの抽象化予定のある日に色をつける予定表示と編集の分離予定の消去まとめ議論、コメント勉強になりますこんなに便利かつエレガントになると思わなかった点まるで知らなかった点よく分かってない点(少し解説頂けるとうれしい

    wiliki.cgi?Gauche:CGI:スケジュール予定表:Shiro版
  • ニコ動のコメントをREPLで - (new Hatena).blog()

    最近ニコ動に上がっている作業用BGMとか、音声だけで楽しめるものをWinampで聴く、ということをしているんですが (Scheme でローカルサーバー -> localhost:2525/?id=VIDEO_ID 的なURLをWinampで再生 -> にこさうんど or にこみみのキャッシュを探す -> mp3をWinampに転送、という流れで。タイトルにダブルクォートが付いているのがウェブ上のリソースという印です。Content-Disposition の filename フィールドを表示しています) コメントが見れないのがちょっと寂しくなってきたので、REPLに表示してみました: (上のとは別の動画です) コメントXMLのタイミング情報の単位がちょっと変わっていて (10ミリ秒) 戸惑いました。あと、XMLの取得に若干時間がかかってしまい、再生から少し送れて表示されてしまうという欠点

    ニコ動のコメントをREPLで - (new Hatena).blog()
  • 関数型言語の勉強にSICPを読もう - (7) 1章 - 反復をマスターしたいけど・・・ - higepon blog

    「SICPを読もう - (3) 1章 - 手続きによる抽象の構築(1-30ページ)」で反復が分からないと書いたのですが、trace を使えば視覚的に関数の呼び出しが理解できるのでこれを利用してみました。 題材としては一番単純な factorial を取り上げます。 まずは再帰版 (define (factorial n) (if (= 0 n) 1 (* n (factorial (- n 1)))))trace を行うためのおまじないをしてから実行してみます。 gosh> (use slib) gosh> (require 'trace) gosh> (factorial 5) gosh> CALL factorial 5 CALL factorial 4 CALL factorial 3 CALL factorial 2 CALL factorial 1 RETN factorial

    関数型言語の勉強にSICPを読もう - (7) 1章 - 反復をマスターしたいけど・・・ - higepon blog
  • 関数型言語の勉強にSICPを読もう - (6) 1章 - 小休止 traceを使えるようにする - higepon blog

    dankogaiさんからトラックバック404 Blog Not Found:scheme - traceとslibで助け舟を頂いた。 このように、「知らないとなかなかたどり着けない情報」をご提供いただけることはとても幸せなことだと思います。 slibとtraceの準備 Ubuntuならこんな感じ。 apt-get install slibgoshで requireしてみると・・・。 gosh> (use slib) #<undef> gosh> (require 'trace) *** ERROR: couldn't open output file: "/usr/share/gauche/0.8.4/lib/slibcat" Stack Trace: _______________________________________ 0 (call-with-output-file catp

    関数型言語の勉強にSICPを読もう - (6) 1章 - 小休止 traceを使えるようにする - higepon blog
    teppey
    teppey 2009/07/01
  • 大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係

    はじめに 2006年8月、Javaの次期仕様(JDK7)にクロージャを入れる案*が出され話題になりました。クロージャは関数型言語では30年以上の歴史を持ち、プログラミングにおける基的な道具となっています。最近はPerlRubyPythonなどの軽量言語(Lightweight Language)にも取り込まれ、それと知らずに使っているユーザーも増えているのではないでしょうか。 一方、手続き型言語の世界では、完全なクロージャはなじみが薄いようです。C言語からC++へと発展してきた手続き型言語のメインストリームでは、 ガーベジコレクションを持たず、ローカル変数をスタックに置くことを基とする言語のため、クロージャとの相性が悪かった オブジェクト指向を採り入れることでクロージャの代用とできた といったことが理由でしょう。 実際、クロージャとオブジェクト指向プログラミング言語には、メカニズム

    大人のためのブラックボックス読解講座――クロージャとオブジェクトの微妙な関係
  • Yahoo | Mail, Weather, Search, Politics, News, Finance, Sports & Videos

  • Practical Scheme

    ->English 10/5/2001 初出 5/30/2002 追記 6/10/2002 英語版へのリンク追加 「プログラミング言語は満載した機能を特色の第一とするものではない。 あとになって機能の追加が必要と判明するような弱点と制限を取り除いて設計すべきである。」 (アルゴリズム言語Schemeに関する第五改訂報告書、犬飼 大訳 [1])。 言語の機能とライブラリ ポピュラーな言語に親しんできたプログラマの多くは、 Schemeに触れた時、こう感じるんじゃないか。 「一体こんなに機能の少ない言語で、どんなプログラムが書けるっていうんだ。」 Schemeの規格書はほんの50ページしか無い。 Schemeプログラマはそれを言語の簡潔さの証とかなんとか言ってるけど、 入出力は最低限のものしかないし、作ったファイルを消すことさえ出来ない。 文字列処理もC言語の標準ライブラリ以下じゃないか。 ス

    Practical Scheme
  • 1