Elm 如何生成信号x->x类型的函数?

Elm 如何生成信号x->x类型的函数?,elm,Elm,我想创建一个具有以下类型的函数: Signal x -> x 例如 my_return : Signal x -> x my_return x = x -- this is the part I have wrong 我可以举一个函数的例子,它只接受一个信号x并返回一个x吗?在Elm和任何纯函数语言中都不能这样做 Elm所做的是提供一种方法来操纵输入,并通过一种称为提升的东西来创建输出 因此,假设我们有一个带有类型a->a的返回,那么我们可以写这个 my_return

我想创建一个具有以下类型的函数:

 Signal x -> x
例如

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

我可以举一个函数的例子,它只接受一个信号x并返回一个x吗?

在Elm和任何纯函数语言中都不能这样做

Elm所做的是提供一种方法来操纵输入,并通过一种称为提升的东西来创建输出

因此,假设我们有一个带有类型a->a的返回,那么我们可以写这个

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

在Elm和任何纯函数式语言中都无法做到这一点

Elm所做的是提供一种方法来操纵输入,并通过一种称为提升的东西来创建输出

因此,假设我们有一个带有类型a->a的返回,那么我们可以写这个

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

这是出于好奇还是你需要我的返回来解决另一个问题?如果后者打电话来,请说明您的原始问题。如果出于好奇,例如,研究与Elm信号相关的单子等术语,我仍然可以回答您的问题,因此请让我知道;我很好奇,但谢谢。这是出于好奇还是你需要我的返回来解决另一个问题?如果后者打电话来,请说明您的原始问题。如果出于好奇,例如,研究与Elm信号相关的单子等术语,我仍然可以回答您的问题,因此请让我知道;我很好奇,但谢谢。我知道这一点,但我查看了源代码,注意到lift只调用Native.lift等。你当然是对的,所以我给了你检查。有一些纯函数语言确实有一元FRP!我应该输入什么来使用电梯?我使用的是Elm 0.15.1。不是更好吗?我知道这一点,但我查看了源代码,发现lift只调用Native.lift等。你当然是对的,所以我给了你检查。有一些纯函数语言确实有一元FRP!我应该输入什么来使用电梯?我使用的是Elm 0.15.1。那不是更好吗?