タグ

ブックマーク / practical-scheme.net (15)

  • Y Combinatorを始めた理由 ---Why YC---

    Y Combinatorを始めた理由 ---Why YC--- Paul Graham, March 2006 (Rev. August 2009).[訳註1] Copyright 2009 by Paul Graham. これは、Paul Graham:Why YC を、原著者の許可を得て翻訳・公開するものです。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2009 by Paul Graham 原文: http://www.paulgraham.com/whyyc.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめた『ハッカーと画家』の

    Y Combinatorを始めた理由 ---Why YC---
  • Scheme:デバッグ

    ここはschemeでのデバッグ手法を紹介するページとなります。 以前の内容はGauche:デバッガに移しました。 ページの移行に伴いコメントは削除しました。内容はhistoryに残しましたので、見たい方はそちらを参照してください。

    Scheme:デバッグ
  • Gauche:VMの最適化:Subr呼び出しプロトコルの検討

  • Rui:ParsingExpressionGrammar

    (2006/12/13 20:22:55 PST): Ruiからページを分離しました。 Parsing Expression Grammar入力の抽象化バックトラックの制御命名規則文字列に特化したスキャナ怠惰な文字列構築エラーの通知参考文献開発記録性能目標 (2006/11/25 07:45:58 PST)PEGによる拡張可能な文法 (2006/11/23 18:19:07 PST)高速化手法の検討 (2006/11/21 19:24:29 PST)中間報告 (2006/11/21 08:34:45 PST)体への統合 (2008/05/20 04:26:20 PDT)とりあえずコミット Parsing Expression Grammar (2006/11/16 21:44:07 PST): HaskellのParsecのようなコンビネータパーザを作っています。コンビネータパーザは、再

    Rui:ParsingExpressionGrammar
  • Arcからの挑戦

    Arc をリリースしてから2、3日経ったので、もうみなさんとも、それを耳にして何かしらの意見を持ってくれたように思う。 今のところは、評判がどうというほどでもなく、なんかウェブにでてきたみたいだねといった程度だ。 なにしろまだ日が浅いので、 Arc でプログラムした経験談といった高級なものは望むべくもないのだが、私はそれを楽しみに待っている。 それでも、的を射た反応もあった。意義をいくらかでも理解してくれている人たちからの、ファースト・インプレッションだ。 どうやら、これらには特徴的なパターンがあることに気づいた。 Arc についての主たる批判は、書くのに苦労していたわりには大したことないじゃんということだった。 Ron Garret 曰く: そして Arc について主な不満: 作るのにずいぶんかかったうえ、あんなに高い目標を立てていたわりには、 まるで、言語デザインの難問に向かってパント

    Arcからの挑戦
    higepon
    higepon 2008/02/26
  • Gauche:FFI

    FFI (Foreign Function Interface) とは 処理系(この場合は Gauche) から他の言語の関数を呼び出す または、他の言語から処理系(この場合は Gauche) の関数を呼び出す 仕組みのこと。良く有るのは高レベル言語から低レベルレイヤのCライブラリ 等を呼び出すような場合。 一方の言語から他方の言語へ引数やら呼び出し形式やらを変換し、 返って来た値をもとの言語へと変換してやる仕組みが必要。 一般にstubと呼ばれる。また、他方の言語のデータ構造にアクセスするための APIもFFIに含まれる。 ターゲット言語にどう埋めこまれるか、および stubをどのくらい動的に構成するかという点でいくつか実装戦略が考えられる。 最もソフィスティケートされた形式は、ターゲット言語に若干の宣言を 付加するだけで、ターゲット言語の手続きと同様に呼び出せる、というようなもの。 イ

    Gauche:FFI
    higepon
    higepon 2008/01/30
  • 国語を「文系」に入れるのやめにしない? - wiliki.cgi?Shiro#b25428338f9ee4006289d1aa7a92bb93

    Schemeを愛するプログラマ。 Practical Scheme http://practical-scheme.net/ Island Life (blog) http://blog.practical-scheme.net/shiro 書いたり訳したりしたもののフォローアップ 著書 『プログラミングGauche』サポートページ 翻訳書 Shiro:HackersAndPainters: 『ハッカーと画家』サポートページ Shiro:LandOfLisp: 『Land of Lisp』サポートページ Shiro:ProgrammingClojure: 『プログラミングClojure』サポートページ Shiro:ProgrammingClojure2: 『プログラミングClojure 第2版』サポートページ UnixUser, OpenSourceMagazine記事 Shiro:Uni

    国語を「文系」に入れるのやめにしない? - wiliki.cgi?Shiro#b25428338f9ee4006289d1aa7a92bb93
    higepon
    higepon 2007/11/21
  • Lisp:Geometry

    (Shiro: 私はNichimen Geometryになってから、 プラグイン書き等で少々いじったにすぎないので、 Symbolics時代のこととか、周辺事情にもあまり詳しくないっす。 識者の方、がんがん修正してください)。 (khashi) 情報追加しといたんですが、まとまりがなくなってしまったんで、適当に整理しといてください。 Geometryとは Lispで書かれたモデリングツール。 もともとSymbolicsのグラフィックス・パッケージS-Products のモデリング・モジュール。 1981年公開の映画「トロン」のモデリングを担当してたLarry Maloneによって開発された。 このツールが最初に日でデモされたのは1985年の筑波博覧会アメリカ館。 市販されてから20年の歴史を持っている。 尚且つ20年間1人のプログラマによってメンテナンスされている。 開発当初は、Zeta

    Lisp:Geometry
    higepon
    higepon 2007/09/13
    面白い
  • Lisp:よくある正解 - Lispについての正しい認識と、それでもLisperがLispを使う理由

    Lispについての正しい認識と、それでもLisperがLispを使う理由 yoriyukiさんのエントリがなかなか 真実を突いていたので、ネタにさせていただきます。 原因のほとんどは経路依存性とかネットワーク効果によるもので、Lisp自体の性質とは無関係だと思います。と言った上で、私が何となくLisp系言語を使わない理由としては、 Too dynamic: 実行時にコードが差し替えられることがすごい利点だ、と言っている人がいましたが、逆に言えば今どのコードが走っているか理解しにくい、という欠点にも繋がる。 Meta programming:S式のおかげでMeta Programmingがしやすいが、Meta Programmingを多用したプログラムは理解しにくい。 動的型付け:利点でもあるけど、特有のバグを引き起こす。 識別子に関数と値の2種類が別々にバインドできる。これは私には非常に美

    Lisp:よくある正解 - Lispについての正しい認識と、それでもLisperがLispを使う理由
    higepon
    higepon 2007/09/13
  • 前線からのニュース ポール・グレアム

    前線からのニュース ---News from the Front--- Paul Graham, September 2007. Copyright 2007 by Paul Graham. これは、Paul Graham:News from the Front を、原著者の許可を得て翻訳・公開するものです。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2007 by Paul Graham 原文: http://www.paulgraham.com/colleges.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめた『ハッカーと画家』の

    前線からのニュース ポール・グレアム
  • Lingr:まとめ

    Gaucheの部屋のまとめです。WebベースのチャットサービスLingrを使っています。 2006-11-12 (Gauche 0.8.8リリース、Sumibi.orgの中の話)2006-11-11 (Gauche 0.8.8リリース最終段階)2006-11-10 (Gauche 0.1、one-liner)2006-11-09 (Schemeのダメなところ、雑談)2006-11-08 (quasiquotation)2006-11-07 ("kaze"を抜く、不完全文字列、Kahua)2006-11-05 (Meta Object Protocol)2006-11-04 (OnLisp出版の状況、debug-print、Gauche 0.8.8)2006-11-03 (シェル、Scheme式を評価するC API、健全なマクロ)2006-11-02 (Binary Hacks、shiroさ

    Lingr:まとめ
  • Scheme:OnLisp

    On Lisp Paul Graham の著書でマクロのことが満載の。ただし Lisp で書いてある。 文中気になったコードをSchemeで書いてみるコーナー。 (セクションタイトルその他の邦訳は 野田さんの邦訳 をそのまま引用させてもらいます) マクロのツボ マクロはどのように、そしてなぜ違うのかを知ることは、マクロを正しく使うための鍵だ。 関数は結果を生むが、マクロは式を生む。----そしてこの式が評価されると結果を生む。 (「7 マクロ」から) マクロの引数は式であって値ではないことを忘れてはならない。 (「10.1 評価の回数」から) On Lispマクロのツボ5.1 Common Lisp は進化する5.3 関数の値のメモワイズ5.4 関数を合成する5.5 Cdr 部での再帰5.6 部分ツリーでの再帰7.1 マクロはどのように動作するか7.3 単純なマクロの定義7.5 引数リス

    Scheme:OnLisp
    higepon
    higepon 2007/02/22
    On Lisp のマクロ
  • Gauche:YAGHG:VM:dynamic-wind

    定義元の調べ方 まずdynamic-windそれ自体を評価すると実体はCの関数であることが分かるので、*.stubから検索してみよう。 $ grep -A 1 dynamic-wind src/*.stub src/stdlib.stub:(define-cproc dynamic-wind (pre body post) src/stdlib.stub- (call "Scm_VMDynamicWind")) Scm_VMDynamicWind src/vm.c:3003- 3003 ScmObj Scm_VMDynamicWind(ScmObj before, ScmObj body, ScmObj after) 3004 { 3005 void *data[3]; ... 3016 data[0] = (void*)before; 3017 data[1] = (void*)body

    higepon
    higepon 2007/02/21
    dynamic-windの実装について
  • 学生のためのベンチャー指南---A Student's Guide to Startups

    学生のためのベンチャー指南---A Student's Guide to Startups Paul Graham Copyright 2006 by Paul Graham. これは、Paul Graham:A Student's Guide to Startups を、原著者の許可を得て翻訳・公開するものです。 <版権表示> 和訳テキストの複製、変更、再配布は、この版権表示を残す限り、自由に行って結構です。 (「この版権表示」には上の文も含まれます。すなわち、再配布を禁止してはいけません)。 Copyright 2006 by Paul Graham 原文: http://www.paulgraham.com/mit.html語訳:Shiro Kawai (shiro @ acm.org) <版権表示終り> Paul Graham氏のエッセイをまとめた『ハッカーと画家』の 邦訳

    学生のためのベンチャー指南---A Student's Guide to Startups
    higepon
    higepon 2006/10/13
  • Gauche:automake+libtoolize

    (*: libgaucheをstaticで生成すると、extensionがコンパイルできない) (2003/05/18 01:09:37 PDT): というわけで、ltmain.shを変更して、 libtool実行時に--disable-static/--disable-dynamicを受け付けるようにした。 -no-undefinedの有無 extensionのリンク時に-no-undefinedを指定しないと、libtoolは CygwinでDLLを作ってくれない (シンボルを解決するのに必要な ライブラリを全て与えても、だ)。 一方、MacOS Xではgoshをスタティックリンクする必要上、 -no-undefinedは指定できない。 他のunixではどちらでも良い。 dsoを作るときにwhole archiveの順番を変える DSOに、別ディレクトリで作成されたアーカイブfoo/f

    Gauche:automake+libtoolize
    higepon
    higepon 2006/03/25
    autotoolsの問題点
  • 1