堆叠点表示法期望什么类型?

时间:2018-09-19 19:50:42

标签: ats

考虑:

#include "share/atspre_staload.hats"

fun plus_int_int(x: int, y: int): int = x + y

symintr .plus
overload .plus with plus_int_int

implement main0() =
        println!("4+4+4 = ", ((4).plus(4)).plus(4))

这有效,很显然不能将4.plus()用作4.,因为(4).plus(4).plus(4)被当作浮点数。我想知道的是,.plus为什么不起作用? ATS找不到第二个(int, int) -> int的有效重载,这告诉我,它期望的是[MyAttribute(Variable.AppSetting.json)] public class example{ ... } 以外的其他类型。期望什么类型?

1 个答案:

答案 0 :(得分:0)

当前的ATS2解析器会解释

(4).plus(4).plus(4)

((4).plus)((4).plus)(4)

我无法轻松修复解析器。在实施ATS3时我会考虑的。