Gauche

素因数分解プログラムについてのメモ

http://blog.practical-scheme.net/shiro/20130216a-factorizeを読んで疑問に思ったので調べた。

Gaucheのライブラリモジュールの依存関係のグラフ

最初に書こうと思ったのはファイルの依存関係とタイムスタンプから実行の必要なテストを見つけるプログラムで、makefile風に書くと

VimでのSchemeプログラミング

LispやSchemeがとっつきにくく感じられる理由の一つに、プログラミング支援機能がまったくない状態だとすごくプログラムが書きにくいことがあるんじゃないかと思う。インタプリタを立ち上げてみてもカッコの対応表示機能がないとちょっとした式の入力も苦労…

テストの仕方についてのメモ

プログラムを書くときにはテストを必ず書こうと思ってから、なかば予想したとおりではあるけどプログラムを全く書かなくなった(テストを書く方法として次のような話を見たことがある。printデバッグを一切しない。実行結果をprintで表示することによる動作確…

HTTPの持続的接続を扱う

持続的接続を扱うと面倒になるという話の続き。

Gaucheの仮想ポートの使用例

gauche.vportで提供される仮想ポートを使うと、ポートのように振る舞うオブジェクト(=ポート)を自分でカスタマイズして作ることができる。仮想ポートの使用例として、HTTPのレスポンスで送られてくるメッセージ本体を仮想ポートを使って読み込んでみる。

改めてGaucheとrlwrapの連携について

rlwrapコマンドを使うと、入力にReadLineの機能が使えるようになる。また補完機能やカッコの対応表示も働く。キーバインドは→GNU Readline Library:1.4 Bindable Readline Commands ヒストリ(Ctrl+p、Ctrl+nなど)と補完(Tab)だけでもかなり便利。 rlwrapをGa…

text.treeの使用例

「Gaucheでの文字列の作り方のメモ」だけだとtext.treeの機能がstring-appendやstring-concatenateとあまり変わらないように見えるので、追加で使用例をあげる。

Gaucheでの文字列の作り方のメモ

いつも文字列を作る場面になってからマニュアルを探し始めるので、少しまとめておく。

Gaucheでクローラを書くことと、そのためのライブラリ

リンクをたどっていくつか巡回するだけの簡単なクローラを作ってみたら、戸惑うところが多かったので、まずはそのメモ。

sxpathのクエリに正規表現を書けるようにする

「sxpathがとてもわかりにくい」の補足。 sxpathのクエリに正規表現を埋め込めるようにしてみた。

sxpathがとてもわかりにくい

sxpathを使ってみようとしたら、とてもわかりにくかったのでメモ。

Gaucheのinfo関数の表示を日本語にするには

gauche.interactiveモジュールのinfo関数を使うとマニュアルを読むことができる。ただし英語で。

Vim+Gaucheでの作業環境の設定

追記: 書き直した Vimについて→VimでのSchemeプログラミング rlwrapについて→改めてGaucheとrlwrapの連携について rlwrapコマンドとの連携

Gaucheのread-line関数で困る時

Gaucheのread-line関数は生成する文字列に行末文字を含めずに捨ててしまう。これは、chompとかchopみたいな関数をわざわざ呼び出さなくてよいという面では、うれしい。 だけど行末文字についての情報は完全に捨ててしまうので、行末文字が何だったのか(ある…

1から9を順番に使って数を作る

Knuth: Recent Newsの冒頭の写真のケーキに 2010 = 1 + 2 + 3×(4×(5+6)×(7+8)+9) と書いてある。去年は、 Did you know that 2009 is (1/2+3)*(4+5*(6*7+8*9))? とあった。 そこで1から9を順番に使って数を作るプログラムを書いてみる。

書くかもしれないことのリスト

というよりも、ずいぶん昔に書こうと思ったことの断片。

GaucheでSMTPクライアントを書いてみる(2) STARTTLS、AUTH

すっかり忘れていたGaucheでSMTPクライアントを書いてみる(1)の続き。

c-wrapperを使う

c-wrapperを使うと、C言語で書かれたライブラリ関数をGaucheから直接呼び出すことができる。 http://homepage.mac.com/naoki.koguro/prog/c-wrapper/index-j.html ということなので使ってみる。マニュアルは、配布されているアーカイブファイルに一緒に入っ…

GaucheでSMTPクライアントを書いてみる(1)

ネットワークプログラムをまともに書いたこともなければ知識もないので、SMTPを題材にしてプログラムを書いてみる。