週に一回は書きますよ 月に4つ記事を書けばノルマは満たされます。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

今まで、seqAllを次のように使えるものとして実装しようとしていました。valueが正則評価すべき値、Typeがその値の型です。

$(seqAll $ reifyType Type) value others

この実装はおかしいです。また、Template Haskellを使えば実現できると思っていましたが、それも間違いで、実現不可能です。

  1. valueの型を明示的に指定するのは辛すぎます。複雑な型のコンポーネントすべてを強制的に評価するところが売りの関数を動かすのに、複雑な型を正確に指定しろとかおかしいです。
  2. Template Haskell のreify*の引数は直書きした型とかData型の名前しか許されません。map reifyDecl (Dataのリスト)のようなことはできず、reifyDecl Treeと書くことしかできません。

やはり型クラスを基礎に書いたほうがよさそうです。ちょっと考え中。

スポンサーサイト
コメント
この記事へのコメント
Control.Parallel.Strategies に NFData っていうそういう目的のクラスがあります。
2008/03/03(月) 02:51 | URL | t #-[ 編集]
ありがとうございます。こんなところにいたとは。論文をちゃんと読んでませんが、評価戦略とか書いてあるしこれのようですね。後で試して見ます。
2008/03/04(火) 00:10 | URL | Gus #-[ 編集]
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://gusmachine.blog49.fc2.com/tb.php/302-d0a99d22
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。