Gauche > Archives > 2015/07/23

2015/07/23 06:40:32 UTCenami
#
generator-any ってあってもいいですかね?
2015/07/23 06:41:30 UTCshiro
#
どういう動作をするものですか?
2015/07/23 06:42:33 UTCenami
#
generator-find みたいなんだけど、pred を適用した結果を返すものを想定してます。
#
generator-find が返した結果にもう一度 pred 適用してもいんですけど。
#
#f でないことは確認しないといけないので、ちょっとスマートじゃないです。
2015/07/23 06:48:22 UTCshiro
#
どうせ見つかるまでpredは適用されるので、gmap predしてから、と思ったけどgenerator-find identity $ gmap pred となるからちょっと冗長?
2015/07/23 06:54:43 UTCenami
#
どんな感じになるか試してみます
2015/07/23 07:00:55 UTCenami
#
pred が多値返してたので、identity 挟んだら最初のしか返らなくなってしまった。
2015/07/23 07:02:25 UTCshiro
#
あっそうか。いやまてよ、でも多値返すなら普通述語として使えないのでは
2015/07/23 07:04:41 UTCenami
#
たまたま動いてたんですか。
#
元は list で返してたのですが、動いたからいいやとさっき変えたんです。
2015/07/23 07:07:42 UTCshiro
#
チェックしてないだけで不正なプログラムです。
2015/07/23 07:07:51 UTCenami
#
list に戻したら動きました。そんなに長くないし、これでいいか。
2015/07/23 07:09:11 UTCshiro
#
anyって確かに動作はfindの仲間なんですが、対象をセットとみなしてるような感覚があって、generator-anyと言われた時にピンとこなかったんですよね。
2015/07/23 07:20:10 UTCenami
#
なんか組み合わせたらできるからないのかなと思ったのですが、思いつきませんでした。
2015/07/23 07:23:06 UTCshiro
#
通常のリストだと find identity $ map pred すると中間リストが無駄になるからanyは嬉しいんですけど、generatorだとそれほどでもないので。オーバヘッドが気になる場面が出てきたら足すかもしれません。