Каковы преимущества типов являются первоклассными объектами?
-
25-10-2019 - |
Вопрос
У кого-нибудь здесь есть хорошие примеры, где типы как первоклассные объекты поддаются руку?
Я предполагаю, что это помогает просто реализовать некоторые математические концепции, действительно, это такие примеры, которые я ищу.
Обновляемый Чтобы прояснить вопрос, что можно сделать, если можно сделать функции, принимающие типы и возвращающиеся типы или типы хранилища в переменных?
я учусь Олдор, хотя из -за выпуска лицензии это немного мертв. Говорят, что типы являются первоклассными объектами, по крайней мере, в смысле выше.
Решение
Взгляните на agda2, ats-lang.org и другие языки с зависимыми типами. Не совсем то, что вы просили, но связаны.
Другие советы
Отражение
Если типы являются первоклассными объектами, вы можете сделать отражение.
Динамическая фабрика.
_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')