Netwire を試すために、ライブラリを使用して Pong を実装しています。コードには、ボール ワイヤとコンピュータ パドル ワイヤがあります。それらはいくつかの値で相互に依存しているため、無限ループの問題が発生しています。説明する擬似コード:
ball :: Wire () IO GameInput Ball
ball = (... define ball ...) . pcPaddle
pcPaddle :: Wire () IO GameInput Paddle
pcPaddle = (... define pcPaddle ...) . ball
注目すべきことは、それらがお互いを入力として取っていることです。私は次のことを行うことでこれを軽減しようとしました:
ball :: Wire () IO GameInput Ball
ball = ( ... ) . delay ( ... base paddle init ...) . pcPaddle
これらの2つのワイヤで関数を使用する他のバリエーションdelay
ですが、<<loop>>
実行時エラーが発生します。
このシステムが機能するように、ワイヤの 1 つを初期化するにはどうすればよいですか?