4

私が持っているとしましょう

x :: Event t (A,B)

最初のコンポーネントを取得できます。

fst <$> x :: Event t A

ただし、このイベントは、最初のコンポーネントが変更されていない場合でも発生します。コストのかかる再計算がトリガーされるため、これは避けたいと思います。

AのインスタンスでEqあるため、最初のコンポーネントが最後の値と比較して変更されていない連続したイベントを削除できるようにしたいと考えています。

理想的には、関数が欲しい

filterDups :: Eq a => Event t a -> Event t a

Momentモナドに頼らずにそれを行うでしょう。出来ますか?または、これを行うための最良の方法は何ですか?

4

3 に答える 3