2009年3月27日金曜日

今日のバカ

なんというか、物凄くくだらない事に真剣になってしまったので ここに断片だけ残して、後で振り返って一人で悶絶しようと思う。

# LISP と全く関係ないですよ。

---
ABABABAABABA
BAAABAAA↓→→A→
←←AA←BAA↓B↓
↑↑↑BBA

ABABABAABABA
→←AAAABABBABB↓B
↑BBBBAAAABBBA↑B
↓BBABB→←BBA

A

(global-set-key #\S-Right (lambda () (interactive) (insert "→")))
(global-set-key #\S-Left (lambda () (interactive) (insert "←")))
(global-set-key #\S-Up (lambda () (interactive) (insert "↑")))
(global-set-key #\S-Down (lambda () (interactive) (insert "↓")))

2009年3月24日火曜日

[Elisp] font-lock の勉強中

newLISP を Emacs から弄るなら、関数・シンボルなどのキーワードの色付けは 必須項目な訳で、しぶしぶ Google 先生と $EMACS/lisp 内のファイル群を頼り に font-lock について調べています。

xyzzy ならキーワードファイルに単語を放り込んでハッシュで勝手に色分けして くれるのが楽チンだったんだが…

それはよしとして、Elispの色付けといえばこれが便利。

Lisp 関数だけに色付け http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=font-lock-func

で、紹介されている Elisp のソースをよく見たら、関数定義などは内部で呼び 出している関数が一部違うだけで重複している部分が結構あることに最近気づき ました。

「これはマクロの出番だ」と思い立って書き直してみたら、見事に(?)行数 1/2 ほどのカットに成功したようです。

http://gist.github.com/83749

[2009-04-12T18:44:56+09:00] typo に気づいたので修正

http://gist.github.com/93934

動作に変化はありませんが、プログラムの可読性が少しだけ上がった気がするの でここに残しておきます。

2009年3月22日日曜日

今日の無題

何気なく Windows Update で新しいフォントを入れたら見事にやられた

Windows XP および Windows Server 2003 向けJIS2004 対応 MS ゴシック & MS 明朝フォントパッケージについて
http://www.microsoft.com/japan/windows/products/windowsvista/jp_font/jis04/default.mspx

ぼんやりしていても気づくほどフォントに違和感がありすぎる… しかも主に騒がれていたのは2007年。2年前の問題に反応する自分も自分だなあ。 ということでアンインストールさせていただきます

2009年3月18日水曜日

今日の無題

haloscanどうした?

HaloScan.comのページが文字化けするなと思って HTML ソースを眺めていたら、ヘッダ部分が

<meta equiv="Content-Type" content="text/html; charset=iso-8859-1">

となっているんだが、UTF-8 が使えなくなったのだろうか。 以前は設定に "Character Encoding" なる項目があったはずなのにいつの間にかそれもなくなってるし。

最近買った本

  • 入門UNIXシェルプログラミング第2版 --- Bruce Blinn / 山下哲典 (訳)
  • 就活のバカヤロー --- 石渡嶺司 / 大沢仁
  • ふたつのスピカ (12-14) --- 柳沼行

2009年3月11日水曜日

本家にばれてた

以前書いたEmacs用のnewlisp-modeが本家様に気づかれたようです。さすがマイナー言語。

http://www.newlisp.org/code/newlisp.el

というかこれならシンボル補完とか色付けとかもっと頑張ればよかった。 最近newLISP弄るのはもっぱらxyzzyからだしなあ。

SLIME+newLISPを完成させるか。。。

Slimy hackathon #1 に参加してきた

g000001さん発案のSlimy Hackathonにちょこっとだけ参加してきました。
ハッカソンとはいえ連絡手段はLingrとSkypeだったので、ほとんど部屋に篭りきり生活でしたが(笑)

自分が行おうとしたタスクは2つ。

#### SLIME⇔Elispのコマンド対応

Common LispもEmacs Lispも元はMACLISPが祖先らしいから、CLの便利関数はきっとelispにもあるに違いないと考えたが始まり。CLのといいますか、SLIMEのコマンドですが。

で、出来たのがこれ → http://gist.github.com/75589

もう少しSLIMEに達者になっていればslime-who-callsとかslime-list-callersに対応するelispも探せたんじゃないかなと反省してます。とりあえずelisp-macroexpand-1は作ってみて結構便利なんじゃないかしら。

やっぱりelispだってLISP-2だしマクロ使えるしリスト遊びはできるし、LISPを学ぶには悪くないと思うなあ(あんまり深い再帰だと怒られるのが面倒だけど)。

#### newLISPをSLIMEから動かす

newLISPはどちらかといえばSchemeよりのLISPなんですが、swank-mit-scheme.scmなどScheme専用のswankサーバもあるらしい。「それならnewLISPでもswankサーバが建てられるんじゃね?」と思い立って基礎知識0から調べたらやっぱり完成はしませんでしたorz さすがに2日間はきつかった…

とはいえここで言い訳するのもアレですし、手ごたえが皆無というわけではなかったので、せめてnewLISPとSLIMEで通信が出来るくらいには完成させようかなと思います。出来るかな。


自分はこんな感じで、非常にまったりと参加させてもらったSlimy hackathonでしたが、結構楽しくやらせてもらいました。
あとSkypeではゆんゆん電波を飛ばしていた気がします。すいませんでした。

2009年3月3日火曜日

今日の無題

読書感想文#2

Shibuya.lisp テクニカルトーク #2」が無事に開催されたようです。

自分はニコニコ動画から見させてもらいました。 →http://www.nicovideo.jp/mylist/11305224

個人的には処理系/性能について語るのもいいけど、それから何か作ってみた系 の発表が面白かったかな。やはり動くものは見ていて楽しい。

特に印象に残ったTOP3

  • okuoku氏: SchemeでBluetoothスタックを書く Scheme(mosh)で外部プロトコルの処理をしようとする試み。 Wiiリモコンと通信するデモに思わず感嘆の声。 FFI(Foreign Function Interface)とは違うんだろう、たぶん。

  • 和田英一氏: 私がLispでプログラムを書く理由 楽しいから←結論 本当に楽しそうに話すなあ。 ダメ学生の自分はPostscriptプログラム紹介の後半少しだれてしまいました、ごめんなさい。

  • 林拓人/takuto_h: Cyanの現状と、これから 高校生が作った実験的言語Cyan(サイアン)の紹介。 「言語は本来、プログラムを書くためのもの。しかし、私は言語処理系しか書けない。」 彼に限らないが、子供の頃からプログラミングに慣れ親しむ環境があるってうらやましいなー。

一通り動画を見終わって改めてタイムテーブルを見ると、CLの発表者は少なかったんですね。(2人?)

残念ながら中継/動画配信されなかった数理システムの黒田氏の発表も、他の 「TT#2参加したよブログ」を見る限りかなりパンチのあるものだったらしい。 自分のような似非CLerがそれを聴いたら、きっとその場で畏縮してしまうんだろうなあ。。

ともあれ、動画を見てLISPに対するモチベーションが上がった気がしますね。

発表者の皆さんも運営の方々もお疲れ様でした。