创建UCM转录文件时如何查看计算项的求值结果
UCM transcript 直接展示表达式计算值的实现方案
直接输入裸标识符foo报错的核心原因是:UCM 所有操作都需要显式指定执行命令,裸输入绑定名不会被识别为求值指令;而view命令仅用于展示定义的源码结构,不会对表达式做全求值,因此只会输出定义逻辑,不会返回计算结果。
可行实现方法有两种:
- 使用
eval命令对已绑定的定义求值
完成add操作后,替换原有的view foo命令为eval foo,即可直接获取表达式的计算结果。
对应transcript代码片段:
执行后对应输出为:.> add foo .> eval foo.> add foo ⍟ I've added these definitions: foo : [Nat] .> eval foo [2, 4, 6] - 直接在Unison代码块中编写无绑定的目标表达式
如果不需要保留foo这个命名定义,可以直接在.u代码块中写要计算的匿名表达式,UCM完成类型检查后会直接输出求值结果,无需执行add操作:List.map (x -> x * 2) [1,2,3]
内容的提问来源于stack exchange,提问作者bbarker
相关产品推荐
相关产品推荐

