2008-10-01から1ヶ月間の記事一覧

irbの設定(2)

前の日記の訂正. :PROMPT_Nはインデントが深くなってる時に呼ばれるみたい.継続行については:PROMPT_Cであってる. require "irb/completion" IRB.conf[:PROMPT][:KAKI] = Hash.new {|ht, key| key.inspect }.merge({ :PROMPT_I => "%N:%i> ", :PROMPT_N =…

特異クラスのsuperclass

特異クラスのスーパークラスのスーパークラスは,特異クラスのスーパークラス自身? irb:0> class Object; def metaclass; class << self; self; end; end; end => nil irb:0> metaclass => #<Class:#<Object:0x38950>> irb:0> p self main => nil irb:0> metaclass.superclass => #<Class:#<Class:#<Object:0x38950>></class:#<class:#<object:0x38950></class:#<object:0x38950>…

irbの設定ファイル

irbの設定ファイルなるものが存在すると知ったので,早速カスタマイズしてみた. ~/.irbrcというファイルに書くといいらしい.で,作ろうと思ったら既にあったので中を見てみると, require "irb/completion" おお,もうなんか書いてある.どうやら,これで…

tree-map-fold

tree-map-foldとfoldで引数の順番が違ってちょっとはまった. foldは(fold proc seed lis ...)だけどtree-map-foldは(tree-map-fold tree-map proc seed). まぁ,tree-map-foldにtree-mapを沢山渡したりはあんまりしない気はするけど,これはどうなんだろう…

多値を返す手続きの命名規則の謎

car+cdrは+なのに,min&maxやquotient&remainderは&.何故か統一されてない. よく,car&cdrと書いてしまう.

tree-mapの謎

hash-table-mapとhash-table-for-eachはあるのに,tree-map-mapとtree-map-for-eachは何故無いんだろう.語呂が悪いから? hash-table(手続き)はあるのに,tree-mapはない. tree-map-minはペアを返すのに,tree-map-successorは多値を返す. gosh> (define …

FizzBuzz

なんでHaskellはS式で書かないんだろう.静的片付けなS式で書く言語は考えられないのかなぁ. show, read, lines, unlines, putStr, putStrLnを手に入れたので,FizzBuzzを書いてみた. main = putStr $ unlines $ take 100 $ map fizzbuzz [1..] where fizz…

クイックソートとマージソート書いてみた

Haskellの書き方がよくわからないので,入門サイトを見てクイックソートを書き写してみる. qsort [] = [] qsort (x:xs) = qsort [y | y <- xs, y < x] ++ [x] ++ qsort [y | y <- xs, y >= x] main = print (qsort [3, 1, 4, 1, 5, 9, 2, 6]) うーん. マー…

GHCインストール

GHCの公式サイトっぽいところからバイナリをダウンロード. 最新バージョンは6.8.3だったけど,PPC対応なのがMacOS 10.4以降+PPC G5のしかないみたいだったので,古いバージョンを探すことに. ざっと見た所,6.4.1が10.3+PPC G4で動きそうだったのでインス…

Gaucheのmakeに失敗

Gaucheのバージョンを上げようと思ったら, $ tar zxvf Gauche-0.8.14.tgz $ cd Gauche-0.8.14 $ ./configure --enable-threads=pthreads --enable-multibyte=utf-8 $ makeで make: *** [all] Error 2とか言われた. $ cd src $ ./gosh -ftest Illegal instr…

コマンドを調べる

http://www.bookshelf.jp/soft/meadow_11.html M-x help-for-help RET cで,キーに割り当てられているコマンドを知ることができる.