любую другую рекурсивную структуру данных и у меня есть два варианта:
Data MyList a = Nothing | Node a (MyList a)
либо
Data MyList a = EmptyList | Node a (MyList a)
мне показалось логичным использовать Nothing, но в учебниках кажется встречается чаще EmptyList, есть ли какие-то аргументы за или против использования Nothing?
А если ещё определить дерево, там пустое дерево тоже Nothing? Это как-то мутновато, даже если бы можно было так делать
главный аргумент - уже занято, и интуитивно будет матчиться именно с Maybe больше аргументов нет
Чего мутного кроме того что хаскель не умеет?
Пустой список и пустое дерево -- это принципиально разные вещи, а то, что у них например представление в памяти может быть одинаковое, не должно играть роли в именовании
ну чтоб он это умел придется от вывода типов отказаться, так что для неумения нормальная причина. еще сабтайпинг не умеет и т.д.
Обсуждают сегодня