在我的类型系统中,我希望支持可升级类型,其中如果与除法一起使用,Int将被提升为Double,如果用于级联,则将String提升到StringBuffer。我能用年龄代数数据类型来表达这一点吗?所以,如果编译器试图提升错误的类型,它就会抛出一个类型错误?例如: | Int | String | Promotable of ref ty
但是,Int只能晋升到
我正在寻找定义新类型并在C#中使用它的可能性,如下所示:public class Position public double180 Longitude { get; set;} // double180 is a type within a range -180 and 180
public double90 Latitude { get; set; } // double90is a type within a range of