代码之家  ›  专栏  ›  技术社区  ›  Julian Fondren

堆积点表示法需要什么类型?

ats
  •  0
  • Julian Fondren  · 技术社区  · 7 年前

    考虑:

    #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 (int, int) -> int . 它是什么类型的?

    1 回复  |  直到 7 年前
        1
  •  0
  •   Hongwei Xi    7 年前

    当前ATS2解析器解释

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

    作为

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

    我不能轻易地修复解析器。我将在实现ATS3时考虑它。

    推荐文章