查看“Haskell”的源代码
←
Haskell
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看和复制此页面的源代码。
[[Category:Haskell]] Haskell 是一种函数式编程语言。 == 笔记 == === printf debugging === <syntaxhighlight lang=haskell> import Debug.Trace dbg :: Show a => String -> a -> a dbg msg x = trace (msg ++ " " ++ show x) x </syntaxhighlight> 使用方法:把变量 <code>x</code> 换成 {{code|haskell|2=(dbg "x =" x)}}。 === <code>let</code> 与 <code>where</code> === <code>let</code> 是一个表达式,而 <code>where</code> 不是。<code>where</code> 用于给多个 guard 创建 binding,如下: <syntaxhighlight lang=haskell> f x y | y > z = ... | y == z = ... | y < z = ... where z = x * x </syntaxhighlight> 三个 guard 都可使用 <code>z</code>。用 <code>let</code> 无法达到以上的效果。<ref>https://stackoverflow.com/q/4362328/10974106</ref><ref>[https://www.cse.iitb.ac.in/~as/fpcourse/haskell98_tutorial/patterns.html A Gentle Introduction to Haskell] 4.5 Lexical Scoping and Nested Forms</ref> == Hlint == === Ignore warnings === 在 <code>.hlint.yaml</code> 中写: <syntaxhighlight lang=yaml> - ignore: {name: Eta reduce} </syntaxhighlight> <ref>https://neilmitchell.blogspot.com/2019/01/ignoring-hlint.html</ref> == 另见 == * [[Functor, Applicative 和 Monad]] == 外部链接 == * [https://www.haskell.org/ 主页] * [http://cheatsheet.codeslower.com/CheatSheet.pdf Haskell CheetSheet] == 参考资料 == <references />
该页面使用的模板:
模板:Code
(
查看源代码
)
返回至
Haskell
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息