Haskell内から厳密な折りたたみ関数を自分で実装したい:これは可能ですか?Lispマクロを使用して言語を大幅に再定義できることを読みました。これにより、必要なときにいつでも機能パラダイムから効果的に抜け出し、パーソナライズされたパラダイムに成形して、最も適切に作業を行うことができます。可能な方法。私は実際にlispを知らないので、それは間違っているかもしれません。
型なしラムダ計算ではデータ型が関数としてエンコードされていることも考慮に入れると、何でも他のものとしてエンコードできるのではないかと思い始めます(すばらしい本GEBでこれについて詳しく説明されています)。その場合、厳密な評価を表現するのは簡単なように思えます。
では、haskell内から次のことをどのように実装しますか?
foldl' = -- ???
foldl1' = -- ???
モナドや継続渡しと関係があるのではないかと思います。