Size: a a a

2021 February 01

JS

Jerzy Syrowiecki in Haskell
Alexey Kashkov
Парни, можете отключить - чтобы не видеть, кто присоединился?!
1. это не отключается. можно найти бота, чтобы принудительно удалял сообщения о присоединении, но лень.
2. если общаться, то сообщения о присоединении затеряются, как слёзы в дожде.
источник

JS

Jerzy Syrowiecki in Haskell
мне, например, интересно видеть, как население чата растёт
источник

[

[BRM]White Rabbit in Haskell
А что, так мало общаются?
источник

JS

Jerzy Syrowiecki in Haskell
обычно много общаются, просто сегодня входов больше обычного
источник

G

GNU/Vsevolod in Haskell
По какой причине parse это
String -> [(a, String)], а не
String -> Maybe (a, String)
(там, где newtype)?
Все генераторы парсеров ниже в статье возвращают всегда список с 1 элементом
http://dev.stephendiehl.com/fun/002_parsers.html
источник

IK

Ilya Kos in Haskell
GNU/Vsevolod
По какой причине parse это
String -> [(a, String)], а не
String -> Maybe (a, String)
(там, где newtype)?
Все генераторы парсеров ниже в статье возвращают всегда список с 1 элементом
http://dev.stephendiehl.com/fun/002_parsers.html
Подозреваю, это чтобы поддерживать backtracking
источник

IK

Ilya Kos in Haskell
Не оптимальный, но рабочий способ
источник

ЗП

Зигохистоморфный Пре... in Haskell
GNU/Vsevolod
По какой причине parse это
String -> [(a, String)], а не
String -> Maybe (a, String)
(там, где newtype)?
Все генераторы парсеров ниже в статье возвращают всегда список с 1 элементом
http://dev.stephendiehl.com/fun/002_parsers.html
any m


StateT String {Maybe, [], Either String, ...} a
источник

AA

A64m AL256m qn<co... in Haskell
GNU/Vsevolod
По какой причине parse это
String -> [(a, String)], а не
String -> Maybe (a, String)
(там, где newtype)?
Все генераторы парсеров ниже в статье возвращают всегда список с 1 элементом
http://dev.stephendiehl.com/fun/002_parsers.html
1) можно сделать парсер, который возвращает не один элемент
2) в стародавние времена когда это придумали - это было чтоб лист компрехеншоны можно было использовать
источник

G

GNU/Vsevolod in Haskell
A64m AL256m qn I0
1) можно сделать парсер, который возвращает не один элемент
2) в стародавние времена когда это придумали - это было чтоб лист компрехеншоны можно было использовать
В 1 было бы Maybe ([a], String)
источник

IK

Ilya Kos in Haskell
A64m AL256m qn I0
1) можно сделать парсер, который возвращает не один элемент
2) в стародавние времена когда это придумали - это было чтоб лист компрехеншоны можно было использовать
То есть backtracking тут не при чем?
источник

AA

A64m AL256m qn<co... in Haskell
GNU/Vsevolod
В 1 было бы Maybe ([a], String)
речь не про возвращение нескольких распаршенных результатов, а вариантов парсинга, которые разные остатки дают
источник

AA

A64m AL256m qn<co... in Haskell
Ilya Kos
То есть backtracking тут не при чем?
для бектракинга надо чтоб String был списком или с быстрой операцией взятия подстроки
источник

G

GNU/Vsevolod in Haskell
A64m AL256m qn I0
речь не про возвращение нескольких распаршенных результатов, а вариантов парсинга, которые разные остатки дают
Понял
источник

[

[BRM]White Rabbit in Haskell
А это нормально использовать списки?🤔
Они же кеш проца убьют. Я думал, большие даденьки от хаскеля вектор используют, а не списки...
источник

к

кана in Haskell
GNU/Vsevolod
По какой причине parse это
String -> [(a, String)], а не
String -> Maybe (a, String)
(там, где newtype)?
Все генераторы парсеров ниже в статье возвращают всегда список с 1 элементом
http://dev.stephendiehl.com/fun/002_parsers.html
оба варианта это два примитивных наивных варианта написания парсеров, один с бектрекингом, второй без. Первый на каждом шаге парсинга может разветвляться

наверное можно даже сделать настраиваемый парсер, где на тайплевеле передается флаг бектрекинга, и подставляется нужный функтор, а код будет просто для любой монады
источник

JS

Jerzy Syrowiecki in Haskell
[BRM]White Rabbit
А это нормально использовать списки?🤔
Они же кеш проца убьют. Я думал, большие даденьки от хаскеля вектор используют, а не списки...
списки — нормально, если их не хранить в памяти, а строить лениво. кэш будет жить
источник

[

[BRM]White Rabbit in Haskell
Понял. #кэшживи
источник

JS

Jerzy Syrowiecki in Haskell
[BRM]White Rabbit
А это нормально использовать списки?🤔
Они же кеш проца убьют. Я думал, большие даденьки от хаскеля вектор используют, а не списки...
списки — нормально, если их функционально "мутировать" близко к голове. вектор придётся копировать целиком или отказаться от персистентности, а для списка расход памяти мизерный
источник

[

[BRM]White Rabbit in Haskell
Ну, уж про аллоки векторов я знаю...
Персистентность это изменение размера?
источник