0

Haskell内から厳密な折りたたみ関数を自分で実装したい:これは可能ですか?Lispマクロを使用して言語を大幅に再定義できることを読みました。これにより、必要なときにいつでも機能パラダイムから効果的に抜け出し、パーソナライズされたパラダイムに成形して、最も適切に作業を行うことができます。可能な方法。私は実際にlispを知らないので、それは間違っているかもしれません。

型なしラムダ計算ではデータ型が関数としてエンコードされていることも考慮に入れると、何でも他のものとしてエンコードできるのではないかと思い始めます(すばらしい本GEBでこれについて詳しく説明されています)。その場合、厳密な評価を表現するのは簡単なように思えます。

では、haskell内から次のことをどのように実装しますか?

foldl'  = -- ???
foldl1' = -- ???

モナドや継続渡しと関係があるのではないかと思います。

4

1 に答える 1

3

どのように実装できますfoldl'か?このような

Haskellは、seq厳密さを追加するためのプリミティブと、利便性のための「強打パターン」も提供します。

参照:Haskell 2010>事前定義されたタイプとクラス#厳密な評価

于 2011-12-28T08:47:56.783 に答える