Lisp Quickstart Lisp is a deep language with many unusual and powerful features. The goal of this tutorial is not to teach you many of those powerful features: rather it's to teach you just enough of Lisp that you can get up and coding quickly if you have a previous background in a procedural language such as C or Java. Notably this tutorial does not teach macros, CLOS, the condition system, much
Common Lispのデバッグに関する Michael Malis 氏の連載 Debugging Lisp の翻訳がひとまず終わりましたので、まとめてリンクを張っておきます。Lisp Advent Calendar 2015の第18日目として第1回の記事へのリンクを張ってましたが、こっちに張り替えます。 Debugging Lisp Part 1: 再コンパイル Debugging Lisp Part 2: インスペクト Debugging Lisp Part 3: クラスの再定義 Debugging Lisp Part 4: リスタート Debugging Lisp Part 5: その他こまごま つたない翻訳ではありますが、Common Lisp のデバッグ方法についてはあまり日本語で情報がないので、こういうのもあるといいのではないかと思い自分の勉強を兼ねて訳してみた次第です。英語圏
局所変数を利用した代入 ;; 1右辺を評価して、2局所変数を生成 を繰り返し、3行目を評価する (let ((x 10) (y 10)) (+ x y)) ;; 20 ;; 1行目のxと2行目のxは違う (let ((x 10) (y x)) (+ x y)) ;; *** - LET: variable X has no value ;; 逐次代入したいときはlet*を使う (let* ((x 10) (y x)) (+ x y))
There is a pattern with students learning functional programming. First, they try to use loops and mutation; this ends with awkward, broken programs. There is confusion and aggravation. Even hostility. Eventually, they accept and embrace recursion. But, then they write too much. While recursion is better than iteration for functional programming, new functional programmers are unaware of powerful
Paul Graham著,野田 開 訳 前書き 拡張可能なプログラミング言語 関数 関数的プログラミング ユーティリティ関数 返り値としての関数 表現としての関数 マクロ いつマクロを使うべきか 変数捕捉 マクロのその他の落し穴 古典的なマクロ 汎変数 コンパイル時の計算処理 アナフォリックマクロ 関数を返すマクロ マクロを定義するマクロ リードマクロ 構造化代入 クエリ・コンパイラ 継続 複数プロセス 非決定性 ATNを使ったパージング Prolog オブジェクト指向Lisp パッケージ 翻訳者 野田 開のサイト 原著者Paul Graham氏のサイト (c) 野田 開 NODA Kai <t50473@mail.ecc.u-tokyo.ac.jp>
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く