入門Common Lispー関数型4つの特徴とλ(ラムダ)計算

入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算

入門Common Lisp―関数型4つの特徴とλ(ラムダ)計算

数日で読み終えました。関数型プログラムを学ぶための最初の本として最適だと思います。フィボナッチ数列などは数式で表現されているのでわかりしやすいし、私自身完全に理解していないのですが、lambda 計算についても詳しく説明されています。

プログラムの実行環境として Carbon Emacs を利用しました。

実際に試したのは112頁のプログラムだけです。それに実行には GCL (GNU Common Lisp) ではなく Emacs Lisp (Elisp) を使いました。問題なく動作します。拡張子が el のファイルを作成、qsort、bunkatu 関数を入力、C-x C-e でそれぞれの関数を評価。ファイルに

(setq x '(5 1 3 6 5 6 9 1 4))
(qsort x)

を入力し、それぞれ C-x C-e で評価すると正しく

(1 1 3 4 5 5 6 6 9)

と表示されました。

EmacsX68000 の MicroEMACS で覚えました。私の知識はそれ以来全然進歩していません。
入門Common Lisp ( asin:4839920818 ) を読む前の Lisp の知識は

M.Hiroi's Home Page / xyzzy Lisp Programming
http://www.geocities.jp/m_hiroi/xyzzy_lisp.html

を読んだぐらいです。

これではいけないと思い

API Reference: Mac OS X Man Pages
http://developer.apple.com/documentation/Darwin/Reference/ManPages/manpages-mpindex.html#//apple_ref/doc/framework/manpages

emacs を調べてみると

The primary documentation of GNU Emacs is in the GNU Emacs Manual,
which you can read on line using Info, a subsystem of Emacs. Please

ドキュメントを見るには Emacs 上で info を利用するように記述されています。Google で検索すると

C-h i

で Info が動作するようです。表示されたテキストをスクロールして

Texinfo documentation system
* Info: (info).         How to use the documentation browsing system.

の部分から青色で表示された文字 Info をマウスでクリックし、Info のコマンド*1を覚えました。

後は興味のある箇所を読みました。流石にすべてを読むことはできませんが、以前より知識が増えたと思います。

Emacs について全然知識のない人は、最初に C-h t (Emacs 入門ガイド) を試すとよいと思います。

*1:日本語入力が英字モード [A] になっていないと正しく動作しません。

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

たのしいRuby 第2版 Rubyではじめる気軽なプログラミング

みんなのPython

みんなのPython

Ruby on Rails入門―優しいRailsの育て方

Ruby on Rails入門―優しいRailsの育て方

ライド・オン・Rails Ruby on Railsを徹底攻略

ライド・オン・Rails Ruby on Railsを徹底攻略

これだけはおさえたい データベース基礎の基礎 -設計と運用の基本からSQLの書き方まで-

これだけはおさえたい データベース基礎の基礎 -設計と運用の基本からSQLの書き方まで-

Ruby on Rails に挑戦しているのですが、Ruby の基本的なことがわかっていないようなので、’たのしい Ruby‘ 本を購入し、全部読み終えました。本当にわかりやすく説明してあります。

Ruby on Rails 入門’ 本をすべて読み終え、’ライド・オン・Rails Ruby on Railsを徹底攻略 ‘本は chapter 1 まで読みました。

何か Ruby on Rails で作成してみたくなり、納品書を入力すると指定した会社と月の請求書を表示するシステムを作成してみました。

Ruby on Rails でプログラミングするのも初めてなので、scaffold で作成されるコントローラやビューを参考にしました。’ライド・オン・Rails Ruby on Railsを徹底攻略’ 本に説明がある ‘ActionView::Helpers::FormOptionsHelper’ の ‘select’ も使ってみました。以前、SQL を理解するために買った ‘これだけはおさえたい データベース基礎の基礎’ 本も参考になりました。

自分で作ったものが意外と役に立つので驚きました。ただ、動作することだけに重点を置いたので、エラー処理が含まれていません。公開するのはやめておきます。後、作っていて思ったのは Mac OS X の Cocoa と CoreData を使ったアプリケーションに置き換えできそうですね。

Rubyを仕事に使うべし!:ITpro

Part3 一目でわかるRuby on Rails:ITpro

‘Part3 一目でわかるRuby on Rails:ITpro’ で Windows 用ですが GUI を使ったツールもあるんですね!初めて知りました。

‘みんなのPython‘ 本は、前から興味があったので購入してみました。読んでいる途中なのですが、細かいところは違いますが、基本的なところは PythonRubyObjective-C も変わらないですね。

Ruby on Rails入門―優しいRailsの育て方

Ruby on Rails入門―優しいRailsの育て方

ライド・オン・Rails Ruby on Railsを徹底攻略

ライド・オン・Rails Ruby on Railsを徹底攻略

Mac OS X Leopard では Ruby on Rails が導入されるので、その予習も兼ねて上の2冊を購入してみました。’ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本に Mac OS X へのインストールの仕方が説明されているので、だいたいその通りインストールしました。

Mac OS X 10.4 Tiger 上にインストールされている Ruby 1.8.2 でも問題ないらしいのですが、私の環境では問題が少し生じたので、ソースから readline と Ruby 1.8.4 をインストールしました。後は ‘ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本 の内容に従ってインストールしました。

http://rorbook.moriq.com/ から ‘ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本のサンプルソースをダウンロードし、試してみました。そこで ruby script/server を試すと下のようなエラーが起こります。

chapter-2-1 yoshiaki$ ruby script/server
=> Booting WEBrick...
dyld: NSLinkModule() error
dyld: Symbol not found: _rl_filename_completion_function
Referenced from: /usr/local/lib/ruby/1.8/powerpc-darwin8.7.0/readline.bundle
Expected in: flat namespace
Trace/BPT trap

そこで readline.bunndle を /usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin8.7.0 にコピーするとうまく動作しました。

ruby-1.8.4 yoshiaki$ cd ext/readline
ruby-1.8.4/ext/readline yoshiaki$ ruby extconf.rb
ruby-1.8.4/ext/readline yoshiaki$ make
ruby-1.8.4/ext/readline yoshiaki$ sudo cp readline.bundle /usr/local/lib/ruby/site_ruby/1.8/powerpc-darwin8.7.0

原因がわかりませんが capter-2-1 に含まれている engines、login_engine を再インストールしないとうまく動作しません。また svn が必要なので fink を使って svn-client をインストールしました。

後、私は ‘ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本の capter-2-1 までしか読んでいませんので、何か問題があるかもしれません。

ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本には細かい説明がありませんが、Ruby on Rails を使ってどんなことができるか、実際に試しながら理解できると思います。’Ruby on Rails入門―優しいRailsの育て方‘ 本は本当に細かく説明されています。’ライド・オン・Rails Ruby on Railsを徹底攻略‘ 本を少し試した後に、’Ruby on Rails入門―優しいRailsの育て方‘ 本を読むと理解しやすいと思います。そうは言っても、まだ2冊とも読み終わってもいないし、私自身初心者レベルですが!