Каковы преимущества типов являются первоклассными объектами?

StackOverflow https://stackoverflow.com/questions/6806454

Вопрос

У кого-нибудь здесь есть хорошие примеры, где типы как первоклассные объекты поддаются руку?

Я предполагаю, что это помогает просто реализовать некоторые математические концепции, действительно, это такие примеры, которые я ищу.

Обновляемый Чтобы прояснить вопрос, что можно сделать, если можно сделать функции, принимающие типы и возвращающиеся типы или типы хранилища в переменных?

я учусь Олдор, хотя из -за выпуска лицензии это немного мертв. Говорят, что типы являются первоклассными объектами, по крайней мере, в смысле выше.

Это было полезно?

Решение

Взгляните на 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')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top