2010舌足らずなブログプログラミングやLISP系言語の話題多め。今年もVLCメディアプレイヤーは期間限定でクリスマス仕様みたいです。ないと利用できないので、なるべく任意のディレクトリで使うようにするための方法です。"/path/to/guiserver"))guiserverディレクトリ内にあるデモスクリプトを眺めるのはこれでOKnewLISPエディタを起動させるエディタを起動させる場合にはもう少し手を加える必要がある。guiserver-edit.lspを編集してハードコートされているnewlispのパスを書き換える。0)のように置換しても良い。古くなったので書き直し。v.10.2.17です。このページは以下のURLと配布ファイルに同梱しているREADMEを参考に作成しています。http://www.newlisp.org/downloads/UTF-8_win32/newlisp.exe公式のダウンロードページの下部には有志によるDebianリポジトリも作成されているので、これを利用して自動更新する方法もある。(--prefix=/usr/local)などなど※newLISPではこの辺をautomakeを使わずに自前で用意している。※configure-altも失敗する可能性があるので、その時はconfigureスクリプトを使うguiserverはソースと共にjarファイルが同梱されているのでjavaコンパイラは必要ない。guiserverを起動させる場合にはjava仮想マシン(JVM)がインストールされている必要がある。install最小インストールWin32,UNIX系OSどちらも実行バイナリ単体で動作する。/usr/local/bin/newlisp開発版と安定版を使い分ける場合はバージョン番号で管理すると便利。今年読んだ本なんとなく、今年(2010年)買った技術書を列挙してみる。後は図書館とか大学の蔵書をちょこちょこと。「プログラミングClojure」や「Scheme手習い」などのLisp系の書籍は面白そうと思いながらも結局買ってなかったな...。自分にしては珍しく色々と買ったような気がしたが、よく見ると入門書ばかり漁っていたらしいことにようやく気づいた。ついでなので逆のエスケープする関数も書いておきます。xyzzyの方は単純にElispのコードを書き換えただけ。xyzzyはemacsより書き方に幅があるようだけど、あんまりトリッキーなコードだとelisp<=>xyzzy間のコードの移植が大変になりそう。emacsでこんな感じの置換操作を行う場合は以下のように書くのが定石らしい。'リテラルかどうか))xyzzyならストリームを扱う関数を作ってed::text-decode-regionから呼び出すのが便利。ーションのバージョンが少々古くなってしまったらしい。書き換える必要がある。Lennyを持ってきたほうが賢いのかもしれないけど。こっちもxyzzyのエンコーディング指定と同じミスでした。sha1.elはそれなりに長い文字列を受け取ると外部プロセスに処理を投げるので、その時の入力をバイナリ指定にしないといけないらしい。(buffer-string)))))ちなみにEmacs内部で処理する場合はエンコーディング指定は要らない。自作したnewlisp.elの挙動がおかしかった原因が少し分かったのでメモ。newlispの面倒な仕様。入力が溜まってしまう現象がよく起きていた。待っていても誰も書きそうにないので自分で作りました。これは何?Lisp風スクリプト言語newLISPの文法一覧です。(→newLISP公式ページ)S式について多少でも知っている人は他の処理系と比較してもよし。そもそもS式を知らない人はLisp入門にしてもよし。Lispに手を出す方が無難ですが)newLISPの簡易リファレンスとして利用できるかと思います。共有2010年2月1日月曜日[xyzzy]zone.l移植Emacsのジョークプログラムzone.elを移植したのでGitHubに置いておきますね。kosh04/xyzzy-lisp/site-lisp/zone.l※コード内の説明文はシフトJISなのでブラウザから開くとたぶん文字化けしますん。次回3月予定のShibuya.lispに向けて、現在面白げな企画が進行中です。コードをバトンのように回していき面白い物ができあがるのを楽しむ遊びです。初心者のコードを書くきっかけに、中級者には他人のコードを読む機会になればと思います。(1)自分がこれだと思える変更をコードに加えて2日以内に次の人にまわしてください。「人に優しい」変更なら何でも良い。「人に優しい」とは例えば、次の人が読みやすいコードを書くなど。コードを削るのもあり。(2)次の人にまわしコードが変更されるのを"見守る"。この説明書きを含めてバトンが伝わった事を必ず確認してください。止まっていたら助けてあげてください。自分もg00001さんのバトンから派生したCL版を弄らせてもらいました。ライブラリまわりの導入に手間取ったのがちょっと痛かったかも...とりあえずテスタくらいの役割は果たせたんじゃないかと思います。??それと、newlispも一応lisp風スクリプト言語ということで大元となるhigeponさんのバトンからforkしてnewlisp版も作ってみることに。こちらはCLやSchemeと違って正しいコーディングスタイルが分かってないので、つらつらと手の赴くままに。newlispバイナリ一つあれば動作するようになっているとは思います。CL版弄った時間もあわせると2日以上かかっていますがまあ気にしない。小野和俊のブログ:成長しないプログラマーの7つの悪習慣4つほど該当。自分にとって不満な事柄を「人のせいにする」のではなく「自分のせいにして無限ループに陥る」ことも悪習慣の一つなんじゃないかな。今年は少しずつでいいから出来ることを噛み締めて形にしていこうと思います。[表示]->[ツールバー]部分が表示されない問題の原因が分かったのでメモ。指定して起動するとツールバーメニューが空になる現象が起こるらしい。(load-history-file))))[追記]根本的な解決策ではないが、以下をsiteinit.lに入れてダンプファイル削除+再起動で直ったことにしておこう。(Atom)自己紹介koshタブレット片手に転々としています。