Gauche > Archives > 2009/08/24

2009/08/24 04:54:38 UTChigepon
#
リテラル破壊は良くやるなあ。
2009/08/24 05:06:14 UTCkoguro
#
ツリーや循環を作る時は破壊するけど、素のリストとして使う時はあんまり破壊しない
2009/08/24 05:07:25 UTChigepon
#
ベクタリテラルとか
#
気付かない事がたまにあります。
2009/08/24 05:08:25 UTCkoguro
#
あんまりベクタリテラルって使わないかも。
#
OpenGLを使うときくらいかな。
#
でも、破壊的な関数にリテラルを入れてもなかなか気づきにくいですよね。
2009/08/24 05:12:22 UTCshiro
#
ベクタについては徐々にimmutability checkを入れてく予定ではあります。ファイルからloadしたuvectorリテラルについては今でもチェックが入るはず。
2009/08/24 05:13:29 UTC(び)
#
Mac OS Xでnet.soがビルドできない現象って俺だけかなぁ...
#
1ヶ月近くGaucheともここともご無沙汰だと浦島状態
#
Index: ext/net/net.ac
===================================================================
--- ext/net/net.ac	(リビジョン 6718)
+++ ext/net/net.ac	(作業コピー)
@@ -49,8 +49,11 @@
 dnl
 dnl Check if net/if.h and struct ifreq
 dnl
-AC_CHECK_HEADERS(net/if.h)
-AC_CHECK_TYPES([struct ifreq],,,[#include <net/if.h>])
+AC_CHECK_HEADERS(net/if.h,,,[#include <sys/socket.h>])
+AC_CHECK_TYPES([struct ifreq],,,[
+#include <sys/socket.h>
+#include <net/if.h>
+])
 
 dnl
 dnl Checks if sockaddr_in and sockaddr_in6 has *_len field
#
こんなのでとりあえずビルドできるようになった
#
他のプラットフォームへの影響は全く考慮してない(鬼畜)
2009/08/24 05:15:34 UTCshiro
#
おー、おっけー。こっちでもテストしてみます。
2009/08/24 05:15:44 UTC(び)
#
ぐぐってたら、6/30頃の自分のここでの書き込みに辿り着いたorz
2009/08/24 05:15:52 UTCshiro
#
sys/socket.hは大抵どこにでもあるんじゃないかな。大丈夫だと思うけど。
2009/08/24 05:17:05 UTC(び)
#
http://practical-scheme.net/chaton/gauche/a/2009/07/01
#
全く自分で覚えてなくて、1時間くらいうろうろしてた(仕事しながらだけど)
#
ここしばらく「世界が終わってる」言語で仕事しててすっかり萎えてます
2009/08/24 05:19:24 UTCshiro
#
Linuxでもビルド/テスト通ったのでコミットします @び
2009/08/24 05:19:51 UTC(び)
#
ありがとうございます
2009/08/24 05:21:29 UTCshiro
#
世界は終わっても続いて行く… 真の地獄とは「終わり無き終末」なのかもしれぬ…
2009/08/24 05:22:39 UTC(び)
#
げげげ
#
カタストロフィーでいいから終わって欲しいんですけど(泣)
2009/08/24 05:34:09 UTCkoguro
#
天国には終わりがある訳ですね。
2009/08/24 05:41:37 UTC(び)
#
svn up してビルド成功を確認
#
あーよかった
2009/08/24 05:44:57 UTChigepon
#
自分の場合、ベクタリテラルは表引きでよく使います。
#
それをふとした拍子に動的に書き換えて(ry
2009/08/24 05:50:04 UTCkoguro
#
データ構造や規模にもよるけど、私の場合、alistかハッシュテーブルを使うことが多いかも。
2009/08/24 07:18:45 UTCとおる。
#
PHP 5.3 にはいったクロージャの構文は結構つらそうですよねぇ。
#
レキシカル変数という概念がなかったからでしょうけど。
2009/08/24 07:21:08 UTC(び)
#
何かそういうところ以前のところにハマりどころ&不愉快さ満載なので
#
早いとここの仕事をやっつけて、PHPとは縁を切りたいです
#
それだけをモチベーションに今の仕事をやっていると言っても過言ではありませぬ
2009/08/24 11:55:45 UTCshiro
#
Paul Grahamが昔infogamiのブログに書いていた記事をリライトしていくつかエッセイに上げてるね。
#
Y Combinatorの動機に触れたこれは結構重要ポイントかと思うので訳しといた。 http://practical-scheme.net/trans/whyyc-j.html
2009/08/24 12:25:56 UTCayato
#
うお素晴らしい..ありがとうございます。
2009/08/24 14:22:20 UTC齊藤
#
色々と弄ったら c-wrapper が Mingw 版 Gauche でも一応動いた。
2009/08/24 14:27:11 UTC齊藤
#
call-with-process-io で作った出力側に (close-output-port out) してもそこで止まったままになるので制御文字で eof を送ったらなんとかなった。
#
(display "\x1A" out) ってことね。
#
これは Gauche 側の問題ってことになるのだろうか…。
2009/08/24 16:47:39 UTCyosaka
#
質問なんですが、gaucheにexpectのような対話的なプログラムを自動で処理できる機能ってあるのでしょうか?
2009/08/24 18:01:44 UTCshiro
#
@齊藤 ふむ。パイプの扱いが違うのかもしれません。Gauche側でパイプの時だけclose時に#x1aを送ってやる、のような対応コードを入れることは可能だと思いますが、具体的に何が起きているのかもうちょっと知りたいですね。
#
@yosaka 今はありません。expectをライブラリとして入れたいとは思っているのですが… 今のところは、gauche.listenerのような仕組みを自力で書くしかない、かな?
2009/08/24 18:25:32 UTCyosaka
#
わかりました。やってみます。
2009/08/24 22:11:18 UTCkoguro
#
どういった点を修正しました? @齊藤
#
mmap は修正しなきゃな、と思っていたんですが。