タイプロと篠塚くんに狂った4ヶ月と、デビューから今日までの5ヶ月の忘備録(23歳おめでとう) 篠塚大輝くん、23歳の誕生日おめでとうございます 1年前の7月はおそらくタイプロ書類審査通過のお知らせが来ていたくらいのはずだ……あまりにも激動の1年すぎる。このブログの前半は2月14日、最終審査発表の前日にだらだら書いていたもので、うまくおさめられなくてお蔵…

リードテーブルをいじくりまわして、リーダで実装だよね。 そうすれば html を load したり、 compile-file で fasl にコンパイルできる。 全て S 式で書きたとろだけど、それはデザイナーさんに優しくないので、 ERB 形式で次のように書けるようにする。 <h2>パッケージリスト</h2> <h3>loop で</h3> <ul> <% (loop for i in (list-all-packages) do %> <li><%= (package-name i) %></li><% ) %> </ul> <h3>map で</h3> <ol> <% (mapcar (lambda (x) %><li><%= (package-name x) %></li> <% ) (list-all-packages)) %> </ol> S 式の途中で HTML に戻れるの
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の構造は、言語を拡張することや、何もないところから始めることなしに 完全に新しい方言を実装す
1. Introduction This document was written for presentation during a tutorial session at the International Lisp Conference held in New York City in October 2003. The intended audience for the tutorial is anybody with a basic knowledge of lisp or scheme, who wants to know something about how to use the "Common Lisp Object System" (CLOS). However, in an attempt to provide something for everyone, the
ca side-by-side reference sheet grammar and execution | variables and expressions | arithmetic and logic | strings | regular expressions | dates and time | lists | fixed-length arrays | dictionaries | user-defined types | functions | execution control | exceptions | streams | emacs buffers | files | directories | processes and environment | libraries and namespaces | objects | lisp macros | reflec
FIFOのキュー。 これもたまに使いたくなるので、実装(の一つ)をメモしておく。 (declaim (inline make-queue enqueue dequeue queue-empty-p queue-to-list)) (defun make-queue (&optional initial-contents) (declare (optimize (speed 3) (safety 0))) (let ((que (cons nil initial-contents))) ; queue = (cons 要素リストの末尾への参照 要素リスト) (setf (car que) (last que)) que)) (defun enqueue (x que) (declare (optimize (speed 3) (safety 0))) (setf (car que) ; 2]
that book is dead sexy —Xach on #lisp (more blurbs) This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book. If you find errors in these pages, please send email to book@gigamonkeys.com. These pages will remain online in perpetuity—I hope they will serve as a useful introdu
Lisp Users and Vendors Conference August 10, 1993 Tutorial on Good Lisp Programming Style Peter Norvig Sun Microsystems Labs Inc. Kent Pitman Harlequin, Inc. Portions copyright (c) 1992, 1993 Peter Norvig. Portions copyright (c) 1992, 1993 Kent M. Pitman. All Rights Reserved. アウトライン 1. 良いスタイルとは何か? 2. 組み込みの機能に関するヒント 3. ほぼ標準のツールに関するヒント 4. 抽象化の種類 5. 大規模なプログラミング 6. その他 1. 良いスタイルとは何か? 良いLispプログラミングスタイル
関数を書いていると、引数の型チェックを有効にするかどうかで悩むことがたまにある。 ;;;; sbcl-1.0.37 ;; 足し算を行う関数 ;; 引数が適切な前提としている (defun plus-impl (x y) (declare ((integer 0 1000) x y) (optimize (speed 3) (safety 0))) (+ x y)) (plus-impl 1 2) ; 正しい引数 --> 3 (plus-impl 1 'a) ; 不正な引数 --> (0) ; どんな処理が行われるかは不定。この場合は不正な結果が返されている。 上の例の場合は、型チェック(安全性)よりも実行速度を優先している。 この関数に渡される引数が常に適切であることが確信できるならばこれでも特に問題はないが、二番目の実行例のように想定外の引数が渡される可能性があるなら、何らかのチェックを
MiSPLi: http://mooz.github.com/mispli/ MiSPLi Emacs に出会ったのが三年前. それから一年程して elisp をいじり始めたので, 僕と Lisp との付き合いはかれこれ二年ほどになる. JavaScript を始めたのが一年前だから, 僕の中では C 言語に次いで付き合いの長い言語だ. 必要にかられたときにちょこちょこと elisp を書いて, 終わったらしばらく別れを告げる. そんな中途半端な付き合いを続けていた三月も終盤, 竹内先生の書かれた「初めての人のための LISP」を読み, その内容に深い感銘を受けた. Lisp を Lisp で実装する, といった章があり, これまで何となしに使っていた Lisp の中身を垣間見ることができたような, そんな気分になっていた. その時に, 「ひょっとしたら僕にも Lisp の処理系を実装でき
LispでWebサービスを作ればYahoo!に60億で買ってもらえると聞いて 実はCと同じくらい速いコードが書けると聞いて ルンバがLispで書かれていると聞いて リリカルなので 面接で笑われてカッとなった マンガでわかるらしいので iPhoneアプリが開発できると聞いて iアプリでLispが書けると聞いて 初めて手に入れたポケコンがAI-1000だった ハッカーと画家を読んでしまった 普通のやつらの上を行きたいので 舌足らずなので セグウェイを制御するコードが一日で書けるようになると聞いて How to become a Hackerを読んだ 専用の求人情報に応募できると聞いて プログラミングClojureを読んだ 初めての人のためのLispを読んだ 自前のLispで書かれた将棋が強かったので LispとPostScriptがあればハッピーになれると聞いて LOLの熱にあてられた On
#contents * 文字列 ** リファレンス - [[GNU Emacs Lispリファレンスマニュアル: 文字列と文字>http://www.bookshelf.jp/texi/elisp-manual/21-2-8/jp/elisp_5.html#SEC71]] - [[Strings and Characters - GNU Emacs Lisp Reference Manual>http://www.gnu.org/software/emacs/manual/html_node/elisp/Strings-and-Characters.html#Strings-and-Characters]] - [[Formatting Strings - GNU Emacs Lisp Reference Manual>http://www.gnu.org/software/emacs/m
イントロダクション 記法 Lisp Reader と Printer Nil、False、Empty リスト Evaluation(評価)、Expansion(展開)、Equivalence(等価) Printing エラー(イントロダクション) テキストの挿入 記述の形式 関数の記述例 単純変数、オプション、コンスタント記述 タイプと Lisp オブジェクト print 表現 と read シンタックス 数値タイプ 文字タイプ シーケンスタイプ リストタイプ 配列タイプ ストリングタイプ ベクトルタイプ シンボルタイプ primitive関数タイプ バッファタイプ マーカータイプ ウィンドウタイプ ウィンドウコンフィギュレーションタイプ プロセスタイプ ストリームタイプ derived (訳注:導出)タイプ associationリストタイプ Lisp関数タイプ Lispマクロタイプ オ
object がアトムの場合 t を返し、 そうでない場合 nil を返す。コンスセル以外のものは全てアトム。
On Lisp is a comprehensive study of advanced Lisp techniques, with bottom-up programming as the unifying theme. It gives the first complete description of macros and macro applications. The book also covers important subjects related to bottom-up programming, including functional programming, rapid prototyping, interactive development, and embedded languages. The final chapter takes a deeper look
Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト (c) 野田 開 NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>
► 2022 (2) ► 10月 (1) ► 2月 (1) ► 2021 (51) ► 11月 (2) ► 10月 (2) ► 9月 (4) ► 8月 (4) ► 7月 (4) ► 6月 (4) ► 5月 (3) ► 4月 (10) ► 3月 (7) ► 2月 (4) ► 1月 (7) ► 2020 (155) ► 12月 (7) ► 11月 (10) ► 10月 (8) ► 9月 (8) ► 8月 (11) ► 7月 (21) ► 6月 (19) ► 5月 (14) ► 4月 (20) ► 3月 (13) ► 2月 (10) ► 1月 (14) ► 2019 (293) ► 12月 (11) ► 11月 (12) ► 10月 (24) ► 9月 (29) ► 8月 (27) ► 7月 (36) ► 6月 (40) ► 5月 (24) ► 4月 (35) ► 3月 (42) ► 2月 (6
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く