タグ

lispに関するnitoyonのブックマーク (18)

  • Franz Inc Product Documentation

    Allegro CL 11.0 Search Errata Installation Guide Release Notes Introduction Table of Contents Index Permuted Index Allegro CL FAQ Download a copy (users who wish to install the documentation update should download): acl11.0doc.tar.bz2 (smaller than the .gz, requires bunzip2 to unpack), acl11.0doc.tar.gz, or acl11.0doc.zip. See the README file for instructions on how to install the documentation. A

    nitoyon
    nitoyon 2009/01/31
    Allegro CL のドキュメント。ANSI Specification から ANSI Common Lisp 仕様書が HTML で読める。一括ダウンロードも可能。
  • #feature

    JavaScript is disabled on your browser. Please enable JavaScript to use correctly mesosadmin frontend Please login Login Password Forgot your personal password ? We can remind you

    nitoyon
    nitoyon 2009/01/30
    Common Lisp クイックリファレンス。PDF形式。印刷して2つ折にして使う。26ページ。
  • On Lisp

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

    nitoyon
    nitoyon 2009/01/24
    Paul Graham「On Lisp」の邦訳草稿。PDF版、HTML圧縮版は http://user.ecc.u-tokyo.ac.jp/~tt076524/#lisp_onlisp から取得できる。
  • On Lisp --- 継続

    継続とは,動作中に凍結したプログラムだ. すなわち計算処理の状態を含んだ一つの関数的オブジェクトだ. 保存された計算処理は,それが中断された時点から再開する. プログラムの状態を保存し,後に再開できる能力は,ある種の問題解決に素晴しい威力を発揮する. 例えば並列処理では,中断されたプロセスを継続で表すのが便利だ. 非決定的探索問題では,継続は探索ツリーのノードを表現できる. 継続の理解は難しいかも知れない. この章ではその話題に2段階で取り組む. この章の前半では継続の組込みサポートのあるSchemeでの用例を見る. 継続の振舞を説明し終わったら,後半ではCommon Lispプログラムで継続を生成するマクロの使い方を示す. 第22--24章のいずれでも,ここで定義したマクロを利用する. Schemeの継続 Common Lispでシンボルの「シンボル値」と「シンボル

    nitoyon
    nitoyon 2009/01/24
    Paul Graham「On Lisp」の20章 継続
  • Cyanを設計した高校生、5カ月で5つの言語を習得

    読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表すプログラミング言語。2008年の春、林拓人という1人の高校生によって設計された。 連載第1回の竹内郁雄氏が「開発」の天才、第2回の五十嵐悠紀氏が「発想」の天才とするならば、今回の林氏は「プログラミング言語」の天才だ。 林氏がプログラミング言語に初めて触れたのは中学3年の夏休み。そこから冬休みまでの5カ月間に、5つのプログラミング言語を習得した。その後もいくつかのプログラミング言語を学ぶ中、林氏の興味はWebサービスなどのものづくりには行かず、ひたすら言語自体へと向かっていった。 高校2年の春、自身でプログラミング言語Cyanを作り上げた。Cyanを設計した林氏は、「U-20プログラミング・コンテスト」(以下、U-20プロコン)で経済

    Cyanを設計した高校生、5カ月で5つの言語を習得
    nitoyon
    nitoyon 2009/01/16
    言語が好きなスーパー高校生。←感覚がすごい。
  • ちょっと変わったLisp入門 - @IT

    Lispの一種であるScheme。いくつかある処理系の中でも気軽にスクリプトを書けるGaucheでLispの世界を体験してみよう(編集部) 「Gaucheでメタプログラミング」と題して、これからGaucheを使ったプログラミングの連載を書かせていただきます吉田裕美です。よろしくお願いいたします。 Gaucheとは 今回の連載で取り上げるGaucheはハワイ在住の日ハッカー、川合史朗さんが作った、Lispの一種であるSchemeのオープンソース処理系です。 Gaucheの特徴は、PerlRubyのように気軽に使える軽い処理系だということです。Perl同様に正規表現や文字列操作が行え、ちょっとしたツールの作成にも使えます。しかし、非常に強力なCommon Lisp風オブジェクトシステムを持ち、Lispならではのマクロに加え、Webやグラフィックスなどの豊富なライブラリも持っているので実用

    ちょっと変わったLisp入門 - @IT
    nitoyon
    nitoyon 2008/11/02
    SchemeでLisp入門。いきなり処理系作ってみたりするあたりの持って行き方が素敵。
  • Shibuya.lisp

    nitoyon
    nitoyon 2008/09/08
    Shibuya なんとかの lisp 版
  • 「クロージャの定義」 - hidemonのブログ

    Java7のクロージャの提案者の一人,Neal Gafterのブログが大変参考になるので,ちょっと野良翻訳してみよう. クロージャの定義 Java 言語にクロージャを追加しようという我々の提案に関して混乱があるようだ.そもそも,Javaにはすでに無名インナークラスという形で,クロージャがあるのではないか? すでにあるものをなぜまた追加しようというのか? 一部の人々には,我々の提案には,クロージャとは関係ないものが含まれているように思われているようだ.例えば,control invocation 構文,null型,Unreachable, 型パラメータ付きthrows,関数インターフェイス型,「非ローカル」な returnなどがそうだ.Javapolisでの講演で,なぜこれらの機能が提案に含まれているのかを,これまで不可能だったことを可能にするための実用的な観点から説明したつもりだ.しかし,

    「クロージャの定義」 - hidemonのブログ
    nitoyon
    nitoyon 2008/08/19
    動的スコープ→レキシカルスコープ→Smalltalkのブロック
  • Software Design 2008年2月号 「Emacsマスターへの道」 原稿 — ありえるえりあ

    You are here: Home → 原稿・資料 → Software Design 2008年2月号 「Emacsマスターへの道」 原稿

    nitoyon
    nitoyon 2008/07/26
    elisp 原稿。
  • ホワット・ア・ワンダフル・ワールド GCC Hacks セミナー資料

    Author:あろは (alohakun) WAKATSUKI toshihiro デバッガ開発者見習い(予定) 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun このページはインラインフレームを使用しています

    nitoyon
    nitoyon 2008/06/30
    GCCの内部構造ついてのプレゼン資料。とても濃い。
  • ニコ動で動作するLispインタプリタ書いたよ (リリカル☆Lisp 開発日記)

    どうもzickです。 2/1に見た夢をきっかけに触り始めたニコスクリプト(正確にはニワン語というらしい?)ですが、 しばらく触っていないうちに色々と機能が追加されており、なんと手続きが作れるようになっていました。 知らない機能を色々触っていたら、いつの間にかLispインタプリタが出来上がっていました。 【ニコニコ動画】ニコ動でLisp 2/1に見た夢が4ヶ月ほどを経て正夢になってしまいました。 関係ありませんが、少し前に単位が足りなくて4年生になれない夢を見ました。 こちらの夢は正夢にならないことを祈るばかりです。 --- *ニワン語メモ* 大体のことはニコニコ動画まとめwikiを見れば分かります。 (Lispインタプリタを半分くらい作ってからここの存在に気づきました。もっと速くググればよかったorz) とりあえず、ここに載っていないような細かい事項を書いておきます。 [1

    nitoyon
    nitoyon 2008/05/27
    ニコニコスクリプトでインタープリタ。
  • もうひとつの Scheme 入門

    勾配の緩やかな初心者向け Scheme 入門ページです。 コンピュータは使ったことがあるが、プログラミング経験があまりない人を想定しています。 Scheme の解説はすでに山ほど優れたものがありますが、あえて解説記事を書いてみました。 Scheme のような抽象的な話題は波長が合えばすんなりと理解できますが、あわないと全く理解できません。 他の解説を読んで今ひとつよく理解できなかった人は試しに読んでみてください。 この記事の目標はコンピュータ科学の教科書の決定版である SICP を読める程度の Scheme の知識を提供することです。 目次: 処理系のインストール Scheme を電卓代わりに使う リストを作ろう 関数を定義しよう 分岐 局所変数 繰り返し 高階関数 入出力 代入 文字、文字列 シンボル型 連想リスト、ハッシュ表 ベクトルと構造体 構文の定義 (マクロ) 継続 遅延評価 非

    nitoyon
    nitoyon 2008/03/21
    最初のほうは Scheme というよりか Lisp 入門に近い。説明の順番がうまい。分かりやすい。
  • Scheme on JavaScript 作りました - yukobaのブログ

    昨日は、1000speakers の第1回のイベントがありました。1次会は Ustream にて参加し、2次会から現地で参加しました。 2次会でSICP読書会の話で盛り上がり、水曜日の読書会に参加しようと言うことになり、amachang など数名の方々に色々と Scheme の書き方を教えてもらいました。 3次会が楽しかったです!23:30頃からサイボウズラボにて3次会が始まったんですが、僕が、せっかく教えて頂いたので、Scheme の実装を JavaScript で始めたら、西尾くん(id:nishiohirokazu)と id:amachang が参加し始め、実装大会となりました。 その5時間の成果が、http://goldenscheme.accelart.jp/ です。 全員、基文法は実装できました!! 処理系を実装するに当たり、言語を問わず、一般論として、難しいのは2カ所です。

    Scheme on JavaScript 作りました - yukobaのブログ
    nitoyon
    nitoyon 2008/01/21
    ソース読もう。
  • Emacs Lisp のパターン - あどけない話

    デザイン(設計)パターンという程のことはない、Emacs Lisp のパターンを思いつくままに書きます。心は、 高階関数を書こう マクロを書こう です。 mapcar mapcar は、引数に関数をとる高階関数のよい例です。リストを取り、それぞれの値を加工して、新しいリストを返すパターンのときは、mapcar を使いましょう。 (mapcar '1+ '(1 2 3 4)) ;; => (2 3 4 5) mapcar には、自分のさせたい仕事を実装した関数を渡しましょう。 (defun f(x) (1+ (* x 2))) (mapcar 'f '(1 2 3 4)) ;; => (3 5 7 9) mapcar を連結しましょう。(オブジェクト指向でのメッセージの連結に似ていますね。) (mapcar '1+ (mapcar (lambda(x) (* x 2)) '(1 2 3 4)

    Emacs Lisp のパターン - あどけない話
    nitoyon
    nitoyon 2007/12/13
    高階関数、マクロ。 via オレンジニュース
  • Emacs Lisp勉強会(基礎編) ― ありえるえりあ

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

    nitoyon
    nitoyon 2007/11/15
    Emacs Lisp勉強会の資料。くわしい。
  • 2007-11-06 - 一寸先は餡の雲、先は文乃さんストーリー

    04:20Haskell が理解できる気がしてこない。諦めたい気分になってくる (実際書いてるコードは理解しなくても書ける範囲でしか書いてない)。いやもちろん誰かに「やれ」なんていわれているわけじゃない。理解できなくてくやしい。lift が全くわからない。「モナドの全て」の説明を読んでもわかった気にさえなれない。頭が悪い。当に悪い。頭悪いのを実感できる分野は苦手だ。数学とかまさに。Haskell は数学に近い。ただプログラミングということになっているから耐えられる。いややめるかも。頭のいいわるいなんて生まれつきだから、そんなのいまさらどうしよもない。理解できる人には理解できるんだろうなぁ。IO モナドが副作用を閉じこめているのは (そういう説明がされているから) わかった気になる。それを扱うとき、そのモナドの中で (この表現が正しいかよくわからない。つまり do ブロックの中といいたい)

    nitoyon
    nitoyon 2007/11/06
    Haskellはreturnやifを理解するのも大変らしい…。
  • http://www.solve-et-coagula.com/As3Lisp.html

    nitoyon
    nitoyon 2007/10/21
    AS3でLispコンソール。情報は http://www.solve-et-coagula.com/?p=8。ソースコードあり。
  • Lisp500

    [up] | news license installation usage bugs features Is your program large and complex? Are you tired of Greenspunning? Now, in only 500 lines, here we have an informally-specified bug-ridden implementation of Common Lisp, ready to meet your needs. -- Christophe Rhodes Lisp500 is a 500-line implementation of an informally specified dialect of Lisp. It attempts to be not too bug-ridden. Unfortunate

    nitoyon
    nitoyon 2007/06/30
    500行のLispコード。b:id:xx-internetさんによると indent させると3000行弱になるらしい... via オレンジニュース
  • 1