Строгая типизация не всегда спасает от глупых ошибок. Если userId, orderId и productId — это один и тот же Int или Long, компилятор не увидит разницы и спокойно пропустит неверный аргумент. В Scala 3 для таких случаев есть opaque types: они позволяют сделать доменные типы…
Привет! Сегодня хочу поделиться, как мне кажется, очень полезной информацией о такой важной теме, как Opaque types vs Existensial Types vs Generics — что это такое, в чем разница и что выбрать. Я действительно считаю эту тему важной, поскольку это мощнейшие инструменты, которые нам дает swift, чтобы сделать код более гибким, поддерживаемым, универсальным и без лишнего дублирования. Итак, погнали. Читать далее
Opaque return types (непрозрачные типы) — это новая языковая конструкция, представленная Apple в Swift 5.1. Их можно использовать для возврата некоторого (some) значения функции (function)/метода (method) и свойства (property), не раскрывая конкретный тип значения клиенту, который вызывает API. Тип возврата…
Совсем недавно на Хабре появилась статья, которая дает не совсем верное представление о текущем положении вещей в Scala-сообществе. У читателя создается ложное впечатление о застое и загнивании в экосистеме Scala. В этой статье я хотел бы исправить это и рассказать о недавно вышедших новинках и будущих изменениях. В мае 2016 году на конференции Scala Days в Нью-Йорке Мартином Одерски была представлена презентация, описывающая настоящее и будущее языка Scala. Читать дальше →