foldとunfoldによるパース

構造化されていないテキストファイルを読んで扱いやすいデータ構造に変換したい時に、 file->string-list でリストとして読み込んで fold で加工する、というのをGaucheを使ってよくやる。 最近foldだけでなく、unfoldも使えることを知った。例えば、 (defin…

エラトステネスのふるい

継続的に何かをやることが苦手で『関数プログラミングの楽しみ』も中途半端なまま放置しているが、通勤の時間を有効に使うため、何でもいいから簡単なプログラムを1日1つ書いてみることにした。週末の外出中に思いつき、帰りの電車の中でプレ実践。お題は「…

MacOS Leopard で Gauche 0.9.2 へのアップデート

未だに Leopard 使ってますが、 Gauche の新しいバージョンが出ていたので、アップデートを試みます。前回と同じ configure でビルドを試みますが、 make の途中でコケました。調べて見ると、どうも ld に -no_pie というオプションが無いことが原因らしいで…

『関数プログラミングの楽しみ』の1章をPrologで書いてみる

Scheme版に引き続き、『関数プログラミングの楽しみ』の第1章を Prolog で書いてみた。使用した処理系はB-Prolog。恐らく他の処理系でも問題ないと思われる。 関数プログラミングの楽しみJeremy Gibbons and Oege de Moor, 山下 …

『関数プログラミングの楽しみ』の1章をSchemeで書いてみる 2

光栄なことに、shiroさんから match-lambda でパターンマッチができるとのコメントを頂いたので、前回宿題とした遅延評価も含めて、ねじれヒープを書き直してみた。 関数プログラミングの楽しみJeremy Gibbons and Oege de Moor, …

『関数プログラミングの楽しみ』の1章をSchemeで書いてみる

今更ながら、前から気になっていた『関数プログラミングの楽しみ』を読みはじめた。 関数プログラミングの楽しみJeremy Gibbons and Oege de Moor, 山下 伸夫オーム社 ( 2010-06-23 )ISBN: 9784274068058メディアマーカーで詳細を…

prolog.el

1年以上ぶりにPrologを触ってみようとおもったら、Emacs上で何故かconsultできなかった。当時(学生時代)どうやって動かしていたか記憶にないのだが、どうもprolog.elが古かったらしい。そのくせ .emacs の設定は新しいバージョン用に書いてた…。当時の自分…

1週間分の日付を出力するシェルスクリプト

1週間分の日付のリストが必要になったので、以下のようなシェルスクリプトを書いてみた。 #!/bin/sh COUNT=7 n=0 while [ $n -lt $COUNT ] do offset=`expr 24 '*' $n` offset=`expr -$ofset - 9` echo `TZ=JST$offset date "+%Y-%m-%d"` n=`expr $n + 1` do…

コマンドラインからバイトコンパイル

/usr/local/ 以下で作業したかったので、コマンドラインからバイトコンパイル。 emacs -batch -f batch-byte-compile foo.el これでOK。

parseIntで文字列を数値に変換する時の注意

またまた慣れないJavaScriptでハマったのでメモ。やりたいコトは、"12:34:56"のような時刻を表す文字列を、00:00:00からの通算秒(この場合は45296秒)に変換するという処理。正規表現を使って var str = "12:34:56" ; var m = str.match( /(\d{2}):(\d{2}):…

MacOSのgccで共有ライブラリを作る

MacOSのgccで共有ライブラリをビルドしたら、何故かエラーになった。 % gcc -c -fPIC -o xxx.o xxx.c % gcc -shared -o libxxx.so xxx.c Undefined symbols: "_main", referenced from: start in crt1.10.5.o ld: symbol(s) not found collect2: ld returned…

popwin.elでauto-async-byte-compile.elのバッファをポップアップする

最近『Emacsテクニックバイブル 〜作業効率をカイゼンする200の技〜』を見ながらEmacsの設定の見直しと、.emacsの整理を少しずつ行っている。Emacsテクニックバイブル ?作業効率をカイゼンする200の技?作者: るびきち出版社/メーカー: 技術評論社発売日: 201…

jQueryのeachが意外と便利

数年前はJavaScript嫌いだったが、最近必要に迫られてJavaScriptを再度勉強中。最近はPCのスペックも良くなり、昔ほどもっさりしなくなった点はもちろん、prototype.jsやjQueryなど便利なライブラリも出てきて開発しやすくなったのも嬉しい。中でもjQueryのe…

Perlで正規表現のパターンに変数を使う際の注意

使い慣れていないPerlでハマったのでメモ。正規表現のパターンに変数を使ったとき、その変数の値が正規表現のメタ文字を含んでると正しく動かない。言われてみればその通りなんだけど、気づくのに30分近くかかった…。quotemetaを使って事前にエスケープすれ…