我有一个返回的函数,[[]]我想测试结果作为单元测试.但我发现表达式[[]] == [[]]返回false.这是一个简单的测试代码:
# [[]] == [[]];;
- : bool = false
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么这个表达式被评估为假?
谢谢.
晚上好。
Haskell在从事一个构建简单语言解释器的项目中,由于其功能性而被选中。
我的问题如下。我有很多实际计算某些功能的功能(这些功能内的模式匹配)。我想在屏幕上为我的所有功能在每个功能应用程序上打印一个参数(上下文类型)。
范例:
booleanExpression (And b1 b2) ctx = b1' and b2'
booleanExpression (Or b1 b2) ctx = b1' or b2'
...
arithmeticExpression (Multiply a1 a2) ctx = a1' * a2'
....
Run Code Online (Sandbox Code Playgroud)
对于这些函数,我想在每次调用函数时打印ctx。有没有一种优雅的简单方法可以做到这一点?还是我必须用类似的东西封装每个功能
arithmeticExpression (Multiply a1 a2) ctx = printAndExec ctx $ a1' * a2'
Run Code Online (Sandbox Code Playgroud)
谢谢。