Lisp

実践CommonLispを読むその14

例外処理を越えて:コンディションと再起動 Javaの例外処理をもちっと柔軟にしたシステム。どうも書いてある内容の実用性があまり理解できない。これは本当に必要なんだろうか。個人的にLISPってもちっとLITEな言語だと思ってたよ。オブジェクト指向もそうだ…

実践CommonLispを読むその13

第十八章 FORMATの手習い FORMATって良いよね。と言うか詳しくはわからないけど、使いやすいし理解しやすいと思う。そんなFORMATだが、LOOPと同じように嫌っている人もいるみたいですね。私にはよくわからない話ですよ。FORMATの指示子ってのは、C言語に似て…

実践CommonLispを読むその12

第十六章 オブジェクト指向再入門:総称関数 LISPにオブジェクト指向ってのがある事じたい驚きだよ。LISPでのオブジェクト指向って、どのくらい重要なの?別段、オブジェクト指向で記述しなくともよさそうなものだが、個人的にはリストの扱い方を理解しておけ…

実践CommonLispを読むその11

第十四章 ファイルとファイルI/O ファイルのOPENとCLOSEのお話。 (open "/home/users/file.txt") で簡単オープン。ファイルが存在しない場合の処理をOPEN関数に指示する事もできる。 (let ((in (open "/home/users/file.txt" :if-does-not-exist nil))) (whe…

実践CommonLispを読むその10

第十三章 リストを越えて:コンスセルの別用途 ここではデータ構造に関して説明している。木構造や集合、ルックアップテーブルの説明木構造はLISPでは一番扱いやすそうだし理解しやすい構造だと思う。他の言語と比較しても一目瞭然だ。ただ階層が深くなるとL…

実践CommonLispを読むその9

第十二章 リスト処理:やつらがLISPと呼ぶ理由 ん〜なんかカッコいいタイトルですね。興味がわきます。というよりもここでやっとLISP入門書では一番最初に書いてある、consやcar、cdrが登場するわけですよ。 関数 利用例 意味 cons (cons 1 2) → (1 . 2) 2つ…

実践CommonLispを読むその8

第九章 実践:ユニットテストフレームワーク テストフレームワークの作り方の説明だね。これはPerlでもテストモジュールを使って便利に作成できるものがあるけど、そんな感じかな。テストフレームワークを作っとくと本体側を修正してもテストが簡単に行え、か…

実践CommonLispを読むその7

第八章 マクロ:自分で定義しよう と言うわけで自分で定義します。本にあったマクロの説明、物語仕立てで説明してあったんだが分かりにくい例えがさっぱり分からなかった。それよりも「マクロの仕事は直接何かを実行するのではなくプログラムコードを作り出…

実践CommonLispを読むその6

第七章 マクロ:標準的な制御構文の構築 ついにマクロですね。LISPの特徴的なものだと聞きかじっているんですけど・・・マクロとはC言語のようなマクロを意味するものや、メイン処理を補助する役目のマクロ等々使う言語によって沢山の意味合いがありますよね…

実践CommonLispを読むその5

第六章 変数 「*」で囲むのをスペシャル変数という。他の言語ではグローバル変数とか言ったりする。 *global* な感じですね。新しい変数を導入する場合「let」を利用する (let ((x 10) (y 5) z) ・・・) xに10を、yに5を束縛する。zにはnilが束縛される。let…

実践CommonLispを読むその4

第五章 関数 (defun name (parameter*) "省略可能なドキュメント" body-form) だそうだ。「defun」で定義したものが関数でしょ。ドキュメントを記述できるのんですね。関数の命名規則がなれないね、下線や大文字ではなくハイフンを使う事。あと、文字列を数…

実践CommonLispを読むその3

第四章 シンタックスとセマンティック 第四章でやっとLISPの文法がでてきた。何故括弧が多いのか・・・本当に多いよね。慣れれば分かりやすくメリットも多いのだろうが、他の言語使用者がLISPを見たら敬遠したくなる理由も分かるよ。 名称 内容 リスト 括弧…

実践CommonLispを読むその2

第三章 実践:簡単なデータベース ここではCDの情報を登録するアプリを通してLISPを学んでいくようです。最初データベースと見て、OracleやMySQL、PostgreSQLを思い浮かべた私は先走りすぎていたようですね。当然のようにテキストベースのDBでした。少し残念…

実践CommonLispを読むその1

Lispを勉強するとプログラミングの手筋がよくなると聞いた。Lisperはエスパーと同じくらい凄い人種だとも聞いた。物凄く興味があるので勉強してみる事にする。くじけず、諦めずゆっくりとやっていければと思う。 第一章 序論:なぜLispなのか? Lispって現在…