Я пытаюсь глубже понять концепции, стоящие за Опа . В частности, мне любопытно решение не предоставлять разграниченные объединения, такие как в ML или Haskell (то есть определять несколько конструкторов, которые обертывают ноль или более значений), но придерживаться типов записей и их типов сумм. Это решение имеет для меня полное значение (возможно, потому, что я больше увлекаюсь ООП, чем ФП), и кажется, что можно реализовать все, что можно сделать с дискриминационным объединением.
Однако можем ли мы сказать, что язык все еще поддерживает алгебраические типы данных? Этот вопрос не практический, а скорее о терминологии.
Кстати, Википедия говорит, что да, возможно, это следует исправить.