Публикации по теме 'algebraic-data-types'
ADT с Java: запечатанные классы, сопоставление с образцом, записи
Я большой поклонник Алгебраических типов данных . Они позволяют нам декларативно указывать грамматику модели данных. Многие современные статически типизированные языки предоставляют эту функциональность из коробки , что позволяет писать очень выразительный код. Поскольку я в основном работаю с Java, я несколько раз пытался использовать ADT в Java. Это не было приятным опытом. Java просто не предоставляет подходящих инструментов. В прошлый раз, когда я пытался, это было с Java 11...
Вопросы по теме 'algebraic-data-types'
Существуют ли значения по умолчанию для средств получения записей в Haskell?
Неудивительно, что следующий код вызывает исключение во время выполнения:
data Necklace = InvalidNecklace |
Necklace { necklace_id :: Int, meow :: Int, ... }
necklace_id InvalidNecklace
Есть ли какой-то естественный способ определить...
1018 просмотров
schedule
06.01.2024
Котлин и размеченные союзы (типы сумм)
Есть ли в Котлине что-нибудь вроде размеченных объединений (типов сумм)? Каким будет идиоматический перевод этого слова на Котлин (F #):
type OrderMessage =
| New of Id: int * Quantity: int
| Cancel of Id: int
let handleMessage msg =...
16576 просмотров
schedule
07.07.2022
Haskell — алгебраические типы данных, использующие рекурсию?
Я следовал руководству по созданию двоичного дерева поиска, которое использует следующий тип данных:
data BinarySearchTree a = EmptyTree | TreeNode a (BinarySearchTree a) (BinarySearchTree a) deriving (Show, Read, Eq)
Правильно ли я говорю,...
279 просмотров
schedule
07.10.2023
Контейнерный алгебраический тип данных в Scala
Не очень хорошо знаком с системой типов Scala, но вот что я пытаюсь сделать.
У меня есть функция, которая пытается фильтровать людей по имени и фамилии, и если это не удается, фильтрует только по имени.
case class Person(id: Int, first: String,...
247 просмотров
schedule
18.04.2024
Как автоматически создавать упорядоченные типы данных в SML
Я хотел бы знать, есть ли способ создать функцию, которая, учитывая список names / identifiers , например. [Monday, Tuesday, ...] автоматически создает datatype day = Monday | Tuesday | ... и следующую функцию, так что next Monday = Tuesday ,...
60 просмотров
schedule
18.10.2022