タグ

lispに関するtotonのブックマーク (36)

  • LISPの進化

    Lispの進化 Guy L. Steele Jr. Richard P. Gabriel Thinking Machines Corporation Lucid, Inc. 245 First Street 707 Laurel Street Cambridge, Massachusetts 02142 Menlo Park, California 94025 Phone: (617) 234-2860 Phone: (415) 329-8400 FAX: (617) 243-4444 FAX: (415) 329-8480 E-mail: [email protected] E-mail: rpg@lucid.com 要約 Lispは世界で最も偉大な言語である - いや、支持者はそう考えている。 Lispの構造は、言語を拡張することや、何もないところから始めることなしに 完全に新しい方言を実装す

    toton
    toton 2010/09/22
    長文。HOPL2-Uncut-j.txt:346KB
  • Gauche:gauche-statifier

    Rui(2006/12/03 04:18:02 PST): Gaucheスクリプトを単一の実行ファイルに変換するスクリプト。http://gauche.cvs.sourceforge.net/gauche/Gauche-statifier/ gauche-statifier hello-world.scm このようにすると、Gaucheのインストールされていない環境で実行可能なバイナリファイルhello-worldができます。 仕組み Gaucheスクリプト体、それが読み込んでいるSchemeライブラリ、そしてDSOを、一つの疑似的に静的リンクされた実行可能バイナリファイルに変換します。変換されたバイナリはGaucheのインストールされていない環境で動かせます。 変換にはstatifierコマンドを使います。動作のステップは次のとおり。 依存しているライブラリとDSOのリストを得るために

    Gauche:gauche-statifier
    toton
    toton 2010/09/09
    "Gaucheスクリプトを単一の実行ファイルに変換するスクリプト。"https://gauche.svn.sourceforge.net/svnroot/gauche/Gauche-statifier/trunk/gauche-statifier
  • On Lisp

    Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト (c) 野田 開     NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>

    toton
    toton 2010/03/25
    Paul Graham - On Lisp の日本語訳
  • いまSICPを読むのは時間の無駄 - きしだのはてな

    SICPは、よい内容について書かれたであり、最良のだった時期もあった。 けれども、今となっては、理解が難しく内容の割には時間がかかる、時間の無駄ともいえるといってもいいかもしれない。 もちろん、Schemeの可能性、数値計算、プログラミング、コンピュータ教育歴史、そしてSICP自体のすべてに興味があれば、効率がいいかもしれない。 けれども、コンピュータ教育歴史、SICP自体に興味がないのなら、あまり効率のいいとはいえない。特に、Scheme、数値計算に当面の興味はなく、プログラミングについてだけを学びたいのであれば、時間の無駄でしかないと思えるし、今となっては足りない部分もある。 SICPの欠点として、まず、次の点が挙げられる。 日語がよみにくい サンプルに数学の知識が必要 プログラムがよみにくい 日語がよみにくいというのはよく指摘される。ただこれは翻訳だけが悪いのではな

    いまSICPを読むのは時間の無駄 - きしだのはてな
    toton
    toton 2009/04/12
  • おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな

    やっと、Yコンビネータが何を意味するものなのか、どういう意義があるのかがわかりました。 名前を使わず再帰ができますよ!というだけのものじゃなかったのですね。 まずλありき 関数の話をしたいのです。 そのとき、いちいち hoge(x) = x * 2 としてhogeを・・・、とか名前をつけて話を進めるのがめんどうなので、関数を値としてあらわすと便利ということで、λという値を定義するのです。 そうすると、上のhoge関数なんかはλ(x)(x*2)などとあらわせますが、引数をあらわすのに()を使うといろいろまぎらわしいので、 λx.x*2 のように表記します。 というのがλ。 このとき、λになにかわたされたら、引数としてあらわされる部分を単純におきかえます。 (λx.x*2)y とあったら、xの部分をyでおきかえて (λx.x*2)y → y * 2 となります。λの引数部分を与えられた引数で置

    おとうさん、ぼくにもYコンビネータがわかりましたよ! - 2009-04-09 - きしだのはてな
  • Top (Gauche Users’ Reference)

    Top This is a reference manual of Gauche, an R7RS Scheme implementation.

    toton
    toton 2009/02/11
    Scheme処理系Gaucheのリファレンスマニュアル
  • Scheme、Common Lisp、Emacs Lispの比較

    「王女アテー姫を含めてハザールの男女は、 この能力によって朝ごと変身を済ませ、 そのたびに、見たこともない斬新な顔で立ち現れる。 だから近親者同士でさえ見分けがつかないほどだ。 旅行者の見聞はこれとはまったく異なり、ハザールの顔つきはどれもそっくりで、 しかも歳を重ねても容貌が変わらない。それゆえ人違いの混乱や厄介が絶えない。 どちらにせよ、結果は同じことで、ハザール族の顔はまず覚えられないし、 覚えても無益となる。」 ミロラド・パヴィチ「ハザール事典」 Lispには数限りないほどの方言がある (例えば、 http://dreamsongs.com/NewFiles/Hopl2Slides.pdf とか参照)。 そのなかで普及している Lispというと、 Scheme、Common Lisp、Emacs Lispの3つだろう。 ユーザの多さでいうと、多い順に Emacs Lisp、Comm

    toton
    toton 2009/01/24
  • Lisp一夜漬け

    Lisp 一夜漬け 「Lisp 一夜漬け」は、ソフトバンクの月刊誌『Oh!X』の 1995年10月号〜1995年12月号に掲載された Lisp 講座です。 ここでは、掲載当時の X68000 に特化した部分などは削除してあります。 (ということは、1995年12月号掲載ぶんは全削除です) Lispの書き方 (1997.09.26 21:55) Lisp の世界 関数という概念 書き方 変数 制御と述語 関数定義 リスト (1997.10.01 00:50) Lisp におけるデータ型 ドット対 ドット対からリストへ nil について リストの定義 リストを扱う関数 リストを扱うプログラムを作る

    toton
    toton 2009/01/22
    『Oh!X』に連載されたLisp講座
  • おまけ: Scheme on YARV - ひとり勉強会

    これで今日のYARV勉強会はおしまいです。 って、これではやけに短くなってしまったので、おまけとして、るびま で触れられていた 当は、今回何か簡単な言語のコンパイラを作ろうと思っていたのですが、間に合いませんでした。誰か Scheme あたりで挑戦してみませんか。かなり簡単だと思いますよ。 これをやってみようと思います。 yasm.rb 記事で紹介されているyasmモジュールがRubyのtrunkに見つからなかったので、旧YARVのレポジトリ http://www.atdot.net/svn/yarv/trunk/lib/yasm.rb から拾ってきて適当に修正して使っています。変えたのは、YARVの仮想マシンオブジェクトを表すクラス名と - module YARVCore + class VM - YARVCore:: + VM:: メソッド名としてSymbolを渡すと怒られるみたいだ

    おまけ: Scheme on YARV - ひとり勉強会
  • Lisp:S式の理由

    S式は人に優しいか Shiro: Lispの不人気の理由として筆頭に上げられるのが、括弧だらけの 独特の見た目。とっつきにくい、一般的な表記法と違っていてわかりにくい、 等々、様々なことが言われてきました。しかし、 S式を捨てたLispも開発されましたが 流行ったとはいい難く、Lispな人々はいまだに括弧に固執しているかのようです。 S式のメリットをLisperに尋ねれば、エディタがどうの、マクロがどうの、といった 回答が真っ先に返って来ると思うんですが、そういう理屈をいくら理解しても S式がダメな人がS式を好きになったりはしません。どうも、もっと根的な 感覚に大きな隔たりがあるような気がします。非Lisperから理解しがたい、 Lisperの持つ感覚とはどんなものなんでしょうか。Lisp脳から見た世界は どんなものなのでしょうか。 構文木を人間が書く? S式は言ってみれば言語の構文木そ

    Lisp:S式の理由
    toton
    toton 2009/01/17
  • まったく初めての人のためのScheme

    田無の権兵衛とk先生をお借りいたします、竹内郁雄先生。 田無の権兵衛:(突然、玄関先で大声) たのもーう。 K: なんだ、騒々しいな。やや、田無の権兵衛ではないか。達者であったか。ささ、上がりなさい。 久しぶりじゃのう。今まで何をなさってたのかな。 田無の権兵衛: 実は昭和の終わりごろ、Lispの修行をするためにインドに旅立ちました。 山奥に篭って修行すること25年。やっと少しはLisp道を極めたように思い、懐かしい日に帰ってまいりました。 K: おお、それは難儀であったな。久しぶりの再会じゃ、今夜はLisp話を酒の肴に語り明かそうではないか。 田無の権兵衛: それはかたじけない。そうそう、日に帰ってきて驚いたのです。日人はみんなスーパーコンピューターを 所有しているですか? K: いや、いくら日人が猛烈に働いて豊かになったとは言え、スーパーコンピューターを個人で所有している

    toton
    toton 2009/01/17
  • Emacs Lisp プログラミング:

    解 説書である. 以下にあるメニューは各章のリストである.ここにはすべての章のすべての節 を一覧してある.

    toton
    toton 2009/01/13
  • [Common Lisp]JavaやC++、etcな人向けに説明するCommon Lispの利点 - t2ru's blog

    個人的なPractical Common Lisp(実践Common Lisp)を読んだ感想のサマリとして、JavaC++RubyPython等の言語の人などに説明できるように、Common Lispの利点をまとめます。間違いなどがあったら、ご指摘いただければうれしいです。 マクロ Lisp以外の言語には追随できない最大の利点。http://user.ecc.u-tokyo.ac.jp/~tt076524/onlispjhtml/ 等、いろんなところで詳しく説明されている。 さらっと言ってしまえば、実行時にプログラムを生成するプログラムを書く機能。 すぐに思いつく利点は、保守性の大敵であるクローンコードをなくせること。他の言語だと、どんなにがんばっても同じようなコードを複数書かざるを得ない状況になるときがあるが、そんなときの最終手段がマクロだ。これがあれば何でもできる。マクロには他に

    [Common Lisp]JavaやC++、etcな人向けに説明するCommon Lispの利点 - t2ru's blog
    toton
    toton 2008/12/06
  • 「計算機プログラムの構造と解釈(SICP)」を読み終えて by なつたん - なつたん

    ひげぽんさんの所をパクってテンプレートにして書いてみました。 練習問題をスキップしつつ、私も約半年でで読み終えました。とても楽しい日々を過ごすことができました。 SICPを読む過程で得たもの ・遅延評価とstream ・制約プログラミング、ロジックプログラミング、amb ・Emacs(Meadow)+gauche+Quackの組み合わせ便利 ・同じ事を表現するのに、抽象度を上げたり、下げたりできること。 ・手加減してあればLispのソースも追えるようになった。手加減していないのは駄目。 ・Lisp特有の、手続きを評価する→S式ができる→また評価する→S式ができる、という気持ち悪い再帰の存在。 ・SICP読み仲間ではないけどいろんなblogつながり。組み込みとFPGAだけでない、いろんな世界がある事をあらためて感じた。 SICPを読みはじめたときの動機を振り返る ・関数型言語について Lis

    「計算機プログラムの構造と解釈(SICP)」を読み終えて by なつたん - なつたん
    toton
    toton 2008/12/06
    SICPを勉強するのは、ハイソなお嬢さんと一夏を一緒に過ごしたような感じ。
  • GREE Engineering

    404 お探しのページは見つかりません GREE Engineering トップへ戻る

    GREE Engineering
    toton
    toton 2008/10/26
    「セルの海 マクロの空」"Lisp の基本データ型であるセルがなぜ一対のポインタなのか、そしてマクロを使ってどうLisp を成長させていけるのかを説明"
  • Karetta|Gaucheプログラミング(立読み版)

    はじめに書の構成 (1)書の対象読者書の表記書の使い方執筆時点でのGaucheバージョン謝辞第1部: 思想LispとScheme (4)Gaucheの特徴 (1)すべて式であるすべてリストである (1)lambdaは空気のような存在である (2)プログラミングとは名前付け(bind)であるすべて再帰である (2) (2)Schemeのすごい点 (4)すべてオブジェクトである (もしそれがお望みなら)Gaucheの設計思想や誕生の背景Schemeの評価モデルとは? (3)「Lisp脳」の謎に迫る - Schemeプログラマの発想第2部: 実用Schemeスクリプトを書こうSchemeスクリプトを書く (1)コマンドライン引数の値を得るユニットテストを書く (1)CGIを書こうSchemeスクリプトをCGIとして実行するwww.cgiライブラリを利用する (1)手軽にHTMLを生成する

    toton
    toton 2008/08/22
    scheme 処理系 "Gaucheプログラミング(立読み版)" オライリーから刊行 http://www.oreilly.co.jp/books/9784873113487/ 
  • Paul Graham

    New: What to Do | Wokeness | Founder Mode Want to start a startup? Get funded by Y Combinator. © mmxxv pg

    toton
    toton 2008/08/22
    「ハッカーと画家」ポール・グレアム
  • Practical Scheme

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

    Practical Scheme
    toton
    toton 2008/08/16
    継続(continuation)継続の中身 末尾再帰と継続 トランポリン 分岐する未来
  • 実践 Common Lisp - あどけない話

    「セルの海 マクロの空」の懇親会で知り合いになったオーム社の方から、約束通り「実践 Common Lisp」を献して頂きました。お礼も兼ねまして、感想を書いておきます。 お世辞抜きに、僕はこんな Common Lisp のが欲しかったのです。 実践Common Lisp 作者: Peter Seibel,佐野匡俊,水丸淳,園城雅之,金子祐介出版社/メーカー: オーム社発売日: 2008/07/26メディア: 単行(ソフトカバー)購入: 8人 クリック: 192回この商品を含むブログ (69件) を見る 看板に偽りなし Lisp の最も有名な宣伝マンは、ポール・グレアム氏でしょう。 「普通のやつらの上を行け」を読んで Lisp に興味を持った人もいるかもしれません。また、「スパムへの対策」で、最初のベンジアンフィルタが Lisp で書かれたことに驚いた人も何人か知っています。 ポール・

    実践 Common Lisp - あどけない話
    toton
    toton 2008/08/16
    この本の主題は、いかに Common Lisp で実践的なプログラムを開発するかということです
  • Lispの真実

    Leon Bambrick / 青木靖 訳 2006年9月24日 日曜 ここにLispの真実が明らかにされ、いくつかの代替が提示される。 Lispを学ぶことはあなたの人生を変える。 あなたの脳はすごく大きくなり、そんなに大きくなるものだとは思わなかったほどになるだろう。 あなたは自分のアプリケーションをすべて、ほんの一握りのコードで書き換えるだろう。 社会はあなたを避けるようになる。あなたも社会を避けるようになる。 あなたは自分のまわりの物やまわりの人すべてに不満を感じるようになる。 Lispは非常にシンプルであり、ほんの数分で学ぶことができる。私はさっきバスを待っている間に学んだ。 Lispは非常にシンプルであり、どんな言語を使おうと数ページのコードで実装できる。しかしそんなことをすることはないだろう。ひとたびLispを学んだなら、あなたはLisp以外の言語で何かを書こうとは思わなくなる

    toton
    toton 2008/08/15
    私はこの事実にすごく興奮した。しかし同時にすごく退屈だとも思った。