Тег: "Scala"

Апрель 11, 2017
Полугруппа, моноид, бифунктор, профунктор

В статье при помощи синтаксического подхода рассмотрены такие абстракции из теории категорий, как полугруппа, моноид, бифунктор и профунктор. Данные конструкции являются либо более специализированными конструкциями, либо комбинациями базовых абстракций (ковариантный функтор, контравариантный функтор). >>

Февраль 05, 2017
Идиомы и механизмы абстракции функционального программирования. Функторы

Каждой парадигме языков программирования свойственны свои механизмы абстрагирования и идиомы. Если для объектно-ориентированных языков это классы, наследование, полиморфизм, инкапсуляция, делегирование и шаблоны проектирования, то для функциональных языков это шаблоны высшего порядка, типы, зависимые от пути, классы типов и идиомы, которые их используют: ковариантный функтор, аппликативный функтор, монада и т.д. В статье рассмотрены понятия ковариантного, контравариантного и инвариантного функтора. >>

Январь 22, 2017
Теги типов в Scala (TypeTags)

Во всех JVM-языках существует понятие type erasure. Из-за того, что JVM ничего не знает о generics, компилятор удаляет всю "generic" информацию типа после компиляции. Для того, чтобы решить эту проблему, в Scala 2.10 появились "теги типов". >>
Теги:

Январь 02, 2017
Начало работы с Shapeless

Shapeless - это инструментарий, который заставляет работать систему типов Scala на вас. Здесь приведен список основных возможностей Shapeless, которые могут пригодиться практически в любом нетривиальном проекте. >>
Теги: ,