Size: a a a

2021 February 12

VD

Velvet Darkness in Haskell
Ну вот да, я потому и говорю, что странно это. Никаких прям ос-специфичных пакетов там не было, стандартный набор всяких bytestrings, text, containers, aeson, etc.
источник

VD

Velvet Darkness in Haskell
Читаю тут https://abooij.blogspot.com/2021/02/xfunctorialdo.html, а там пишут:
Perhaps, if return becomes an alias for pure, i.e. after the monad of no return GHC proposal is implemented, all four can be generalized to Applicative.

А я уже чот сто лет думал, что return = pure и везде пишу pure вместо return.
источник

JS

Jerzy Syrowiecki in Haskell
это какой-то путешественник из прошлого
источник

JS

Jerzy Syrowiecki in Haskell
источник

JS

Jerzy Syrowiecki in Haskell
Velvet Darkness
Читаю тут https://abooij.blogspot.com/2021/02/xfunctorialdo.html, а там пишут:
Perhaps, if return becomes an alias for pure, i.e. after the monad of no return GHC proposal is implemented, all four can be generalized to Applicative.

А я уже чот сто лет думал, что return = pure и везде пишу pure вместо return.
а если по существу, то эту задачу уже решает hlint
источник

JS

Jerzy Syrowiecki in Haskell
и оператор (<&>) в каком-то смысле
источник

A

Aleksandr Khristenko in Haskell
Ilya Kos
Хороший пример: в Джаве в какой-то момент создание каких-то объектов из стандартной библиотеки отправляло запросы в интернет. Просто создание объектов. Это для многих было неожиданно.
Угу, сравнение урлов приводило в днс-ресолвингу или что-то подобное.
источник

E

Elijah in Haskell
Скажите пожалуйста, вот допустим я решил написать свой List, или любую другую рекурсивную структуру данных и у меня есть два варианта:

Data MyList a = Nothing | Node a (MyList a)
либо
Data MyList a = EmptyList | Node a (MyList a)

мне показалось логичным использовать Nothing, но в учебниках кажется встречается чаще EmptyList, есть ли какие-то аргументы за или против использования Nothing?
источник

AA

A64m AL256m qn<co... in Haskell
Nothing занят
источник

E

Elijah in Haskell
это да
источник

E

Elijah in Haskell
но изначально я предпологал что это не сработает как раз потому что он занят
источник

KV

Kirill Valyavin in Haskell
Elijah
Скажите пожалуйста, вот допустим я решил написать свой List, или любую другую рекурсивную структуру данных и у меня есть два варианта:

Data MyList a = Nothing | Node a (MyList a)
либо
Data MyList a = EmptyList | Node a (MyList a)

мне показалось логичным использовать Nothing, но в учебниках кажется встречается чаще EmptyList, есть ли какие-то аргументы за или против использования Nothing?
А если ещё определить дерево, там пустое дерево тоже Nothing? Это как-то мутновато, даже если бы можно было так делать
источник

к

кана in Haskell
Elijah
Скажите пожалуйста, вот допустим я решил написать свой List, или любую другую рекурсивную структуру данных и у меня есть два варианта:

Data MyList a = Nothing | Node a (MyList a)
либо
Data MyList a = EmptyList | Node a (MyList a)

мне показалось логичным использовать Nothing, но в учебниках кажется встречается чаще EmptyList, есть ли какие-то аргументы за или против использования Nothing?
главный аргумент - уже занято, и интуитивно будет матчиться именно с Maybe

больше аргументов нет
источник

к

кана in Haskell
ну еще Empty просто больше подходит, чем Nothing

"пустой" список это лучше чем "ничего нет", хотя бы в цепочке

Cons 1 Empty

это добавление 1 к пустому
источник

к

кана in Haskell
ну хотя спорно, я может просто привык
источник

A

Aminion in Haskell
Подскажите, а как сделать instance Arbitrary PortNumber? если это newtype с закрытым конструктором?
источник

E

Elijah in Haskell
кана
ну хотя спорно, я может просто привык
Хорошо, а как насчет немного другой ситуации? допустим я определяю несколько разновидностей этих Листов и решил не использовать Nothing, но решил везде затулить EmptyList, стоит ли так поступать?
источник

MK

Maxim Koltsov in Haskell
ну у него же есть смарт конструктор вроде
источник

к

кана in Haskell
Aminion
Подскажите, а как сделать instance Arbitrary PortNumber? если это newtype с закрытым конструктором?
а какая-то функция, которая его создает, есть?
источник

к

кана in Haskell
для него есть Num
источник