Size: a a a

F# Flood: ПДД made functional, making illegal state INGIBDDdale

2020 May 06

КП

Крылатый Пегас... in F# Flood: ПДД made functional, making illegal state INGIBDDdale
(Или я слишком широко понимаю этот термин в данной дискуссии?)
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Denis Bobrov
какой нибудь ZIO заставляет тебя писать for { }
об этом и речь, просто запутались в терминологии. не путайте квантор существования с квантором всеобщности: любой eDSL - это библиотека (чаще всего), но не любая библиотека - это dsl.
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Любое использование LINQ в шарпе и CE в F# - это использование eDSL
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Крылатый Пегас
Ваще, SQL тоже DSL. ;P
он не встроенный
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Любое использование LINQ в шарпе и CE в F# - это использование eDSL
да, это так.
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Shub Niggurath
об этом и речь, просто запутались в терминологии. не путайте квантор существования с квантором всеобщности: любой eDSL - это библиотека (чаще всего), но не любая библиотека - это dsl.
Ну грань достаточно тонка
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Да те же джавовые стримы - это тоже eDSL
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
да-да
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
только все три примера - dsl общего назначения. freemonads\mtl  -
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
это крайне специфические dsl
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Shub Niggurath
это крайне специфические dsl
Так tagless final или фри монады - это один из возможных инструментов для написания eDSL
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
одно дело уметь трансформировать вообще любой поток, другое дело пытаться закодить dsl для моей конкретной прикладной задачи
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
Так tagless final или фри монады - это один из возможных инструментов для написания eDSL
это да, но я говорю о том, что идея решать прикладную задачу (перекладывания жсонов) написанием edsl - так себе идея
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Shub Niggurath
это да, но я говорю о том, что идея решать прикладную задачу (перекладывания жсонов) написанием edsl - так себе идея
Зависит от задачи сильно.
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
потому что в 99% случаев спецификаций нет, требования растут по мере роста проекта, через полгода разработки 80% усилий - это попытки чинить dsl, придуманный без понимания домена вообще
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
см. тот же скалачатик, где подавляющее большинство вопросов - вопросы в стиле "как мне вылезти из петли, которую я сам себе связал?"
источник

DS

Doge Shibu in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Shub Niggurath
потому что в 99% случаев спецификаций нет, требования растут по мере роста проекта, через полгода разработки 80% усилий - это попытки чинить dsl, придуманный без понимания домена вообще
eDSL в таком случае выступает просто как подход к проектированию приложения, где ты его собираешь из набора eDSL.

И как любой из подходов к проектированию - на нём можно сделать хрень.
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
Doge Shibu
eDSL в таком случае выступает просто как подход к проектированию приложения, где ты его собираешь из набора eDSL.

И как любой из подходов к проектированию - на нём можно сделать хрень.
можно. но почему-то с mtl\tf хрень получается чаще. точнее, в подавляющем большинстве случаев получается хрень
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
не знаю, может там пороблено, но во всех компаниях, где была скала, команда, выбравшая котов\скалаз, никогда ничего не деливерила. вот вообще
источник

SN

Shub Niggurath in F# Flood: ПДД made functional, making illegal state INGIBDDdale
команды выбравшие что-то тупое типа play - те деливерили. криво-косо, но хотя бы что-то
источник