Size: a a a

2020 November 28

к

кана in Haskell
можно просто удалить все сигнатуры, скорее всего сразу все заработает
источник

Y

Yuuri in Haskell
Ну они в рамках проекта коммон :) Там парсеры нескольких форматов, но с общими штуками для лексера
источник

MK

Maxim Koltsov in Haskell
По кругу ходите :)
источник

к

кана in Haskell
ну тогда три варианта есть:
- пофиксить common проект
- лифтить в своем проекте все коммон-парсеры
- в своем проекте сделать ImplicitParams и все, никаких ридеров
источник

к

кана in Haskell
будет

f :: TypeMap -> Char

myCustomParser :: (?typeMap :: TypeMap) => Common.Parser Char
myCustomParser = do
 let x = f ?typeMap
 Common.someCharParser x
источник

MK

Maxim Koltsov in Haskell
Explicit is better than implicit
источник

к

кана in Haskell
ну тут все вполне эксплисит я считаю, какой-нибудь ридер в стеке более имплисит чем это
источник

Y

Yuuri in Haskell
ImplicitParams — это идея, спасибо
источник

к

кана in Haskell
сразу советую сделать

type WithTypeMap = (?typeMap :: TypeMap)

myParser :: WithTypeMap => Parser a
источник

MK

Maxim Koltsov in Haskell
Кана подсаживает всех на свою иглу)
источник

к

кана in Haskell
да просто какое-то глупое игнорирование полезной и простой фичи
источник

к

кана in Haskell
в сообществе
источник

Y

Yuuri in Haskell
Maxim Koltsov
Explicit is better than implicit
У нас и так implicit typing, ничего страшного
источник

Y

Yuuri in Haskell
Чорт, а ведь если этот парсер не верхнеуровневый, то до него придётся всё так же этот неявный аргумент пробрасывать...
источник

Y

Yuuri in Haskell
(а вот было бы это в обычном оопе, можно было бы просто в класс парсера поле с этим словарём добавить, и всего делов)
источник

JS

Jerzy Syrowiecki in Haskell
Yuuri
(а вот было бы это в обычном оопе, можно было бы просто в класс парсера поле с этим словарём добавить, и всего делов)
только класс парсера это был бы твой, и библиотеека про него ничего не знает
источник

к

кана in Haskell
Jerzy Syrowiecki
только класс парсера это был бы твой, и библиотеека про него ничего не знает
а ей и ну нужно, свой класс бы отнаследовал все методы из коммон-класса
источник

JS

Jerzy Syrowiecki in Haskell
кана
а ей и ну нужно, свой класс бы отнаследовал все методы из коммон-класса
точно так же, как ReaderT наследует MonadParsec
источник

JS

Jerzy Syrowiecki in Haskell
вообще нет разницы
источник

к

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