example. 精确常数[#76]
Formula façade适合快速试算。这里的结果仍来自构建时的计算:
结果是精确的1/2,不是浮点近似。φ:calculate读取Formula文本,然后执行精确常数计算。除零等错误会成为结构化诊断。
也可以从头构造相同的值,并直接调用Semantic pipeline:
@(define half
(math-calculate
(◆:add (◆:divide (◆:constant 1) (◆:constant 3))
(◆:divide (◆:constant 1) (◆:constant 6)))))
@math[(math-report-result half)]math-calculate的参数是一个Semantic值。构造器只接受Semantic操作数,所以误把字符串传入核心API会立即得到契约错误;要解析文本,就在边界使用φ:read或φ:calculate。