Комментарии 6
В будущей версии Scala анонсирована поддержка типов объединения (union types).
Не может быть! Если так, то это очень здорово! Не могли бы вы, пожалуйста, дать ссылку на это объявление? В гугле ничего не находится.
+1
Я поправил текст, чтобы не вводить людей в заблуждение. Речь здесь идёт о Scala “Don Giovanni”: www.scala-lang.org/news/roadmap-next. В 2.12, к сожалению, ничего такого не будет…
+3
Можете еще добавить ссылку на d-d.me/scalaworld2015/# — тут больше деталей)
+2
Я не хочу растраивать, но то что представлено в этой статье — не настоящие типы обьединения, а Хак. Вот пример использования типов-обьединений, которые нужны для корректности теории, и не поддерживается тут.
class A(x: Int)
class B(x: Int)
class C(x: Array[Int])
object Test{
def foo(x: A | B): Int = x.x
def bar(x: A | C): Int | Array[Int] = x.x
}
+4
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Неупакованные типы объединений в Scala на основе изоморфизма Карри-Ховарда