このタイプの関数を作成したい:
Signal x -> x
例として
my_return : Signal x -> x
my_return x = x -- this is the part I have wrong
単純にシグナル x を受け取って x を返す関数の例を教えてください。
このタイプの関数を作成したい:
Signal x -> x
例として
my_return : Signal x -> x
my_return x = x -- this is the part I have wrong
単純にシグナル x を受け取って x を返す関数の例を教えてください。
これは Elm (および純粋な関数型言語) ではできません。
Elm が行うことは、入力を操作し、 Lifting と呼ばれるものを介して出力を作成する方法を提供することです。
lift : (a -> b) -> Signal a -> Signal b
したがって、タイプ a -> a の my_return があると仮定すると、次のように記述できます。
my_return : a -> a
my_return x = x
lift my_return input
これらすべての関数を組み合わせることで、出力を生成するプログラム (シグナル要素タイプ) が得られます。
import Mouse
my_return : a -> a
my_return x = x
main : Signal Element
main = lift (asText . my_return) Mouse.position