タグ

lispに関するkanoukのブックマーク (9)

  • page moved

    2021-11-13 page moved to http://xahlee.info/emacs/emacs/elisp_idioms.html You'll be redirected in 10 seconds.

  • プログラミング言語はLispに回帰しているんだろう - http://rubikitch.com/に移転しました

    Lispはいまだ一騎当千の最強言語の地位を不動のものにしている(と思う)が、考案されたのが50年も昔というのには驚かされる。古代の神秘という感じ。 歴史には詳しくないけど、初期のLispからlambda式やGCってあったよな?あと、Schemeも30年以上前に生まれたんだっけ。あのころからレキシカルクロージャーがあったんだよね。すごいよなあ。 RubyはLispの長所をたくさんとりいれた。Javaも最近になってクロージャーが導入されたっけ。GCは今な言語にはほぼ必ずといっていいほど備わっている。いろいろな言語がLispに近づこうとしているような。Lispの考え方からいろいろな言語が生まれて、進化の先はLispに回帰するということか… せっかく最強言語のLispがありながら、おれおれ言語がどんどん登場していくさまはおもしろい。括弧が嫌いなのかな。Lispの表現力の源はS式だというのに括弧を拒

    プログラミング言語はLispに回帰しているんだろう - http://rubikitch.com/に移転しました
  • Common Lisp クックブック

    はじめに一言。たいした思案もなしにメソッド結合を使うのは、手放しで多重継承を使うようなもので、あっと言う間にコードを把握できなくなります。 defmethod の完全な文法を次に示します。 defmethod function-name {method-qualifier}* specialized-lambda-list [[declaration* | documentation]] form* ここでは defmethod をいつも通りに使うか、標準メソッド結合 (standard method combination)の定義に使うかだけを見ていきます(その他のメソッド結合もありますし、自分で新しいメソッド結合を定義することもできますが、そこまでした人を見たことはありません)。標準メソッド結合では、次のキーワードのうち一つだけ指定できます::before, :after, aroun

    Common Lisp クックブック
    kanouk
    kanouk 2008/01/14
    ↓の邦訳。
  • The Common Lisp Cookbook

    This is a collaborative project that aims to provide for Common Lisp something similar to the Perl Cookbook published by O'Reilly. More details about what it is and what it isn't can be found in this thread from comp.lang.lisp. The credit for finally giving birth to the project probably goes to "dj_special_ed" who posted this message to comp.lang.lisp. If you want to contribute to the CL Cookbook,

    kanouk
    kanouk 2008/01/14
    Common Lispのクックブック。邦訳プロジェクトもあり。
  • なぜLispなのか

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

    kanouk
    kanouk 2008/01/02
  • 不完全性定理についてのゲーデルの証明

    Up: 不完全性定理のLisp, Mathematicaによる記述 G. J. Chaitin Godel's Proof of his Incompleteness Theorem の例をMathematicaとCommon Lispで書き直した 準備運動 Mathematicaの場合 Schemeの場合(MIT Scheme) Common Lispの場合 ゲーデルの定理 Mathematicaの場合 Schemeの場合(MIT Scheme) Lispの場合 うそつきのパラドックス:「この文はうそである」 ゲーデルの定理:「この命題は証明できない」(真なのに証明できない命題がある) 準備運動 これは自分のコードを出力するプログラムの例でもある Mathematicaの場合 Mathematicaで書くともっともわかりやすいだろう。まず x -> x[x]

  • Clojure

    Clojure is a robust, practical, and fast programming language with a set of useful features that together form a simple, coherent, and powerful tool. The Clojure Programming Language Clojure is a dynamic, general-purpose programming language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming.

    kanouk
    kanouk 2007/12/02
    Java VM上で動くLisp風のプログラミング言語「Clojure」
  • Emacs Lisp勉強会(基礎編) ― ありえるえりあ

    Emacsをまだインストールしていない人は、インストールしてから、この先を読んでください。 可能な限り、Javaとの対比をしながら説明します。 目次 Emacs Lispとは 開発環境 Emacs Lispの雰囲気(Javaとの比較) 関数型言語 Emacs Lisp;言語の基礎 なんでもオブジェクト シンボル コンスセル(リスト) 関数 その他(連想リスト、ベクタ、ハッシュテーブル) Emacs特有の型(バッファ、マーカ、etc.) 実践 ループ使ったら負け? 変数に代入したら負け? Emacs Lispとは マーケティング要素無しの、「write once, run anywhere」な言語です。 Javaの場合、次の欠点があります。 マシンにインストールされている保証が無い 他人のマシンに勝手にインストールするのは迷惑 Emacs Lispの場合、上の問題がありません。

    kanouk
    kanouk 2007/11/15
    Javaと比較しながらLispを学ぶ。
  • On Lisp

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

    kanouk
    kanouk 2007/05/30
  • 1