2

このタイプの関数を作成したい:

 Signal x -> x

例として

my_return : Signal x -> x
my_return x = x     -- this is the part I have wrong

単純にシグナル x を受け取って x を返す関数の例を教えてください。

4

1 に答える 1

4

これは 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
于 2014-04-12T13:38:52.413 に答える