gpt4 book ai didi

haskell - 是否可以在 lambda 表达式中使用无可辩驳的波浪号 (`~` ) 模式?

转载 作者:行者123 更新时间:2023-12-03 11:56:50 25 4
gpt4 key购买 nike

GHC 给我一个 parse error on input \~如果我尝试在 lambda 表达式的模式上加上波浪号,就像我可以对命名函数做的那样

let step = \~(x,s) -> run (f x) s  -- Parse Error

let step ~(x, s) = run (f x) s -- Works fine

最佳答案

您必须在 lambda 和波浪号之间添加一个空格

\ ~(x,s) -> run (f x) s

困惑的根源是因为 \~都是用户定义运算符的有效字符,所以 \~被解析为一个,而不是被解析为 lambda 表达式的开头:
-- Defining a custom \~ operator is allowed:
let a \~ b = {- ... -}

关于haskell - 是否可以在 lambda 表达式中使用无可辩驳的波浪号 (`~` ) 模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13185632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com