dram.me

Mercury的结构体字段名

在Mercury中,有一个挺特别的约束,就是在同一个模块中,两个类型的结构体字段名(构造器的有名参数)不能重复,原因是Mercury会自动基于字段名生成predicate,而同一模块中参数个数相同的predicate是不能重名的。

但不同模块如果出现名字冲突,Mercury会基于参数类型做重载(overload)处理。