デジタル回路 (Lava) を記述する Haskell libraby を使用しています。その関数の入力と出力は信号 ( Signal Bool 、 Signal Int) 型です。 Int、Signal Int 型で使用できる算術演算がいくつかあることは知っていますが、すべての算術演算が可能なわけではありません。Signal Int から Int に変換すると思われるこの関数を作成しました (必要な値のみ)。
signalInt2int :: Signal Int -> Int
signalInt2int x = case x of
0 -> 0
1 -> 1
15 -> 15
_ -> 1000
試しに、これらの 4 つの可能性だけを書きました。問題は、入力が何であれ、この関数を呼び出すたびに、出力が常に 1000 になることです。Signal Int 型の入力を使用するようにします。これが私が得るものです。
誰でも問題がどこにあるのか指摘できますか? 私はあなたの助けに感謝します。