更改

跳到导航 跳到搜索
添加484字节 、 2021年10月28日 (四) 13:28
无编辑摘要
第3行: 第3行:     
== 笔记 ==
 
== 笔记 ==
 +
 +
=== 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> ===
第16行: 第27行:  
</syntaxhighlight>
 
</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>
 
三个 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>
    
== 另见 ==
 
== 另见 ==

导航菜单