小编Ati*_*kae的帖子

OCaml布尔表达式[[]] == [[]]

我有一个返回的函数,[[]]我想测试结果作为单元测试.但我发现表达式[[]] == [[]]返回false.这是一个简单的测试代码:

# [[]] == [[]];;
- : bool = false
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么这个表达式被评估为假?

谢谢.

ocaml expression boolean list

8
推荐指数
2
解决办法
2635
查看次数

Haskell:包装功能

晚上好。

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)

谢谢。

haskell

1
推荐指数
1
解决办法
782
查看次数

标签 统计

boolean ×1

expression ×1

haskell ×1

list ×1

ocaml ×1