Haskell到Javascript的Lamba函数转换
我在haskell中有以下lambda函数: 杯子大小=\message->message大小 我想知道学习JavaScript的等效版本是什么,目前我编写了以下版本,我想知道它是否正确Haskell到Javascript的Lamba函数转换,javascript,haskell,Javascript,Haskell,我在haskell中有以下lambda函数: 杯子大小=\message->message大小 我想知道学习JavaScript的等效版本是什么,目前我编写了以下版本,我想知道它是否正确 const cup=size=>message=>messagesize您的haskell lambda接受一个参数并返回一个lambda,该lambda反过来接受一个函数作为参数,并将该函数与给定给cup的参数一起应用 在javascript中,等价物如下所示: const cup = size =>
const cup=size=>message=>messagesize您的haskell lambda接受一个参数并返回一个lambda,该lambda反过来接受一个函数作为参数,并将该函数与给定给cup的参数一起应用 在javascript中,等价物如下所示:
const cup = size => (message => message(size))
您可以在不使用括号的情况下重写它:
const cup = size => message => message(size)
haskell lambda接受一个参数并返回一个lambda,该lambda反过来接受一个函数作为参数,并将该函数与给定给cup的参数一起应用 在javascript中,等价物如下所示:
const cup = size => (message => message(size))
您可以在不使用括号的情况下重写它:
const cup = size => message => message(size)
您的JavaScript代码对应于 cup=\size->\message->message size 在哈斯克尔。因为\message->message是标识函数,这与 杯子=\size->size 哪一个又是标识函数: 杯子=id 正确的翻译应该是 const cup=size=>message=>messagesize 或 函数cupsize{return message=>messagesize;}
您的JavaScript代码对应于 cup=\size->\message->message size 在哈斯克尔。因为\message->message是标识函数,这与 杯子=\size->size 哪一个又是标识函数: 杯子=id 正确的翻译应该是 const cup=size=>message=>messagesize 或 函数cupsize{return message=>messagesize;} 消息是一种方法吗?因为如果是的话,我不知道lambda的用法。你可以写cup=message和js cup=str=>messagestr@BercoviciAdrian杯子不是信息;cup是一个函数,它返回一个将其参数应用于cup参数的函数。还可以编写cup size message=messagesize,这使得cup=flip$更为明显。message是一种方法吗?因为如果是的话,我不知道lambda的用法。你可以写cup=message和js cup=str=>messagestr@BercoviciAdrian杯子不是信息;cup是一个函数,它返回一个将其参数应用于cup参数的函数。还可以编写cup size message=messagesize,这使得cup=flip$更为明显。