タグ

lispに関するstakiのブックマーク (11)

  • On Lisp

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

    staki
    staki 2008/10/11
  • リトルウイングピンボール オフィシャルサイト:ビデオピンボール第4世代のために開発された究極のスクリプト言語システム「イプシロン」

    ビデオピンボール第4世代のために開発された究極のスクリプト言語システム「イプシロン」 Ypsilon Scheme System(以下イプシロン)は、リトルウイング ピンボールコンストラクションシステムの基盤技術の一つとして藤田善勝が開発したスクリプト言語システムです。イプシロンは、YoshikatsuからYを取って名付けました。 プログラミング言語としてイプシロンはLISPの方言の一つであるスキーム(Scheme)を採用しています。スキームは1970年代に開発され、コンピュータとプログラミングの教育分野で広く使われています。 スキームについての情報はこちらをご参照ください。http://ja.wikipedia.org/wiki/Scheme ピンボールのゲームルールは現在CまたはC++で記述されています。速度の面では有利なのですが、プログラムにエラーがあるとあっけなくアプリケーションが

    staki
    staki 2008/09/22
    ビデオピンボール第4世代のために開発された究極のスクリプト言語システム「イプシロン」
  • Lispとゴキブリの共通点 - なつたん

    ・現代でも生き残っている数少ない古代種である ・ゴキブリは1匹見つけると20匹いる。Lispは1つのマクロが20倍のコードになる。[要出典] ・どちらも再帰的に増え続ける ・卵-幼虫-成虫、もしくは、Read-eval-printの成長段階を踏む ・全世界に約 4,000 種、うち日には50種余りが知られる。 ・その体構造が原始的・平均的であるため実験の対象として利用される事がある。アメリカ合衆国にはその手の業者/学者がいる。 ・見た目によって忌み嫌われることが多いが、一方で愛好家も多い。 ・特に主婦には人気がない。[要出典] 参考:http://ja.wikipedia.org/wiki/ゴキブリ

    Lispとゴキブリの共通点 - なつたん
    staki
    staki 2008/09/07
  • 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: gls@think.com E-mail: rpg@lucid.com 要約 Lispは世界で最も偉大な言語である - いや、支持者はそう考えている。 Lispの構造は、言語を拡張することや、何もないところから始めることなしに 完全に新しい方言を実装す

  • Scheme:なぜSchemeにはreturnが無いのか

    あるいは、なぜcall/ccがプリミティブなのか、に関する一考察 (Shiro: 「なんでも継続」に入れようかと思ってたネタだけど、 あっちがいつ書けるかわからんので、忘れないようにこっちにまとめとく) (話の流れがあるので、誤りの修正以外のコメントは途中ではなく、一番下にお願いします) returnはどこだ? Aliceは、リストlisと述語手続きpredを取り、lisの各要素に順にpredを適用して、 predが真の値を返したら直ちにその要素を返すような関数findを 書くことを考えた。 (findは便利なので、実はsrfi-1に定義されてるけど、 Aliceはまあ自分の勉強のために書いてみることにしたと思いねえ)。 AliceはPerlなら良く知っている。Perlならこんな感じで書けるはず。 sub find { ($pred, $lis) = @_; foreach $elt (@

    Scheme:なぜSchemeにはreturnが無いのか
    staki
    staki 2008/07/26
    ここで盛大に噴いた->(私のことを)(呼んだかね?)
  • Practical Scheme

    Shiro Kawai 7/3/2000初出、3/29/2002更新 まあとりあえずカッコは我慢しよう。ラムダとやらも、関数ポインタ+環境データ ということで納得しよう。しかし、Schemeのループ構文(do)は許せないなあ。 ごちゃごちゃしてるし、途中で脱出できないし。 CやPerlのforやwhileの方がずっと使いやすいね。 え? doなんて使わない? じゃあどうやってループを書くんだ? 消えるループ 簡単だけど、よくありそうな例として、こんなのを考えてみよう。 入力テキストの行数を数える関数count_linesを書きたい。 Cで書くとすれば、こんな感じだ。 /* 例1 */ int count_lines(void) { int count = 0, c; for (c=getchar(); c!=EOF; c=getchar()) { if (c == '\n') count+

    Practical Scheme
  • http://user.ecc.u-tokyo.ac.jp/~t50473/onlispjhtml/

  • Practical Scheme

    Shiro Kawai 11/20/2000初出、3/29/2002更新 Cに慣れたプログラマがSchemeのコードを見て面らうことのひとつは、 無名の関数やローカル関数の多用だろう。 特に実行効率に敏感なプログラマにとっては「関数呼出しは高価」 という感覚が染み着いているため、 至るところに散りばめられたlambdaに眉をひそめてしまうようだ。 しかしSchemeにおいては、 コード上に関数が書いてあるからといって 実行時にスタックフレームの生成やレジスタの退避などのオーバヘッドが起こるとは限らない。 例えば関数の最後に別の関数を呼び出す末尾呼び出し(tail call) はただのjumpインストラクションに置き換え可能だ。 ここでは、Cプログラマを対象に、 lambdaで生成される関数群が実際にどのように実行され得るのかを書いてみたい。 (なお、Schemeの規格ではlambdaフォ

    Practical Scheme
  • naoya_t (aka naochan) の日記 - ポール・グレアムのエッセイと和訳一覧

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    naoya_t (aka naochan) の日記 - ポール・グレアムのエッセイと和訳一覧
  • 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 について リストの定義 リストを扱う関数 リストを扱うプログラムを作る

  • approx-search.el

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

    staki
    staki 2005/12/18
  • 1