这里有人有很好的例子,其中类型作为第一类对象吗?
我想这有助于直接实现一些数学概念,实际上这就是我正在寻找的那种例子。
UPD 为了澄清这个问题,如果可以让函数接受类型和返回类型,或者将类型存储在变量中,可以做些什么呢?
我正在研究Aldor,但由于许可证问题,它有点死了。据说这些类型是一流的对象,至少在上面是这样的。
答案 0 :(得分:2)
查看Agda2,ats-lang.org和其他依赖类型的语言。不是你问的,而是相关的。
答案 1 :(得分:1)
<强>反射强>
如果类型是第一类对象,则可以reflection。
答案 2 :(得分:1)
动态工厂。
_types = {}
register_type(typ, iden):
_types[iden] = typ
def factory(iden):
typ = _types.get(iden)
if not typ:
raise ValueError('Type not registered for %r' % iden)
return typ()
register_type(SomeClass, 'class1')
register_type(SomeOtherClass, 'class2')
print factory('class1')