Size: a a a

2020 December 23

SB

S B in F# Chat
И когда у тебя будет условный class Group a, ты хочешь явно указать, что a есть Monoid a
источник

TK

Traveller Kolsky in F# Chat
S B
А с точки зрения инжиниринга, тайпкласс АЖ НИЧЕМ не отличается от обычного итерфейса, а местами даже ограничителен. Например, полных порядков на натуральных числах бесконечного много, но instance Ordered в Хаскле может быть только один без дополнительных танцев.
Эм, ну получается, как раз ограничения от них и требуют
источник

TK

Traveller Kolsky in F# Chat
Так-то тайпклассы разительно отличаются от интерфейсов
источник

SB

S B in F# Chat
Traveller Kolsky
Эм, ну получается, как раз ограничения от них и требуют
Интерфейсы можно наследовать.
источник

SB

S B in F# Chat
interface Group : IMonoid условно говоря
источник

TK

Traveller Kolsky in F# Chat
источник

TK

Traveller Kolsky in F# Chat
Из не совсем упомянутого есть тот факт, что static dispatch интерфейсами не поддерживается, и оттуда тоже достаточно упускается на уровне компиляции, в т.ч. zero cost
источник

SB

S B in F# Chat
Traveller Kolsky
Из не совсем упомянутого есть тот факт, что static dispatch интерфейсами не поддерживается, и оттуда тоже достаточно упускается на уровне компиляции, в т.ч. zero cost
Про это я уже не знаю ничего, сложно судить.
источник

АВ

Андрей Вилинский... in F# Chat
а не работал ли кто с FsParsec? у меня есть скажем many(pseparator >>. pmessage) который в данный момент возвращает лист из мессагов. Но оооочень долго если большой инпут. а мне бы Seq иди в идеале гопаковый стрим
можно там вообще зделоть ленивый парсер?
источник

SB

S B in F# Chat
сделай свой many, это не сложно
источник

АВ

Андрей Вилинский... in F# Chat
ну можно в теории еще и ввод буферами считывать до сепараторов, думал мож есть что готовое
источник

SB

S B in F# Chat
зочем так ложно? просто в seq оберни
источник

SB

S B in F# Chat
на movenext
источник

АВ

Андрей Вилинский... in F# Chat
это ж надо кот песадь!
источник

SB

S B in F# Chat
а, ну извините
источник

TK

Traveller Kolsky in F# Chat
seq!
?
источник

АВ

Андрей Вилинский... in F# Chat
а как узнать докуда прочитал?
источник

hs

habib sadullaev in F# Chat
Андрей Вилинский
а не работал ли кто с FsParsec? у меня есть скажем many(pseparator >>. pmessage) который в данный момент возвращает лист из мессагов. Но оооочень долго если большой инпут. а мне бы Seq иди в идеале гопаковый стрим
можно там вообще зделоть ленивый парсер?
лучше использовать
sepBy

. если нужно что-то свое, можно попробовать реализовать через
Inline.SepBy

или
Inline.Many

. ленивым парсер можно сделать через СЕ
parse

, ну, или
parse.Delay

, или
fun s -> f () s
источник

R

Roman in F# Chat
S B
Ну добавить надо ещё функции.
и убрать бесполезные one, zero and plus из инстанса)
источник

SB

S B in F# Chat
Roman
и убрать бесполезные one, zero and plus из инстанса)
а почему бесполезные?
источник