Size: a a a

Elm Lang сообщество разработчиков

2017 October 26

NK

ID:154127650 in Elm Lang сообщество разработчиков
Странноватая do-нотация? Предложи что-то лучше и читаемее.

Черт, HKT-то - нема. Ты прав, тип у них не напишешь.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Arthur Welf
Ну так а в Хаскелле вместо andThen написано >>= - что, разве это сильно усложняет? Сделай себе алиас в Хаскелле andThen = (>>=) и используй себе andThen.

В do-нотации тоже нет ничего странного. Что там может вызывать сложность? Оператор <-? Ну так он просто распаковывает упакованное в обёртку значение. Если у нас result = Ok 4, то value <- result вытащит четвёрку из result и value будет иметь значение 4. Если result = Just "something", то value <- result присвоит переменной value значение "something". Но если result будет Err error или Nothing, то из-за того, что мы определили наши типы представителями класса монад, то дальнейшее вычисление прервется и нам не надо писать всяких if result ... then ... else и case result of для того, чтобы обработать эти случаи. Удобно же!
во многих языках есть макросы и алиасы чтобы сделать из них читаемый текст, но теряется стандартизация, потому что каждый делает как хочет
источник

NK

ID:154127650 in Elm Lang сообщество разработчиков
> andThen = (>>=)

Я как-то объявил (|>) = flip ($) и был рад, пока не выяснил, что программа проводит в нём... 56% времени.
источник

NK

ID:154127650 in Elm Lang сообщество разработчиков
Хотя казалось бы - функция линейна по параметрам и вообще комбинатор. 56%.
источник

NK

ID:154127650 in Elm Lang сообщество разработчиков
Инлайнер ghcшный обленился, ящитаю.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
короче выяснили же, входной порог в Эльме достаточно низкий за счёт того, что приходящие из хоть немного функциональных языков типа Scala или знающих FRP почти сразу всё понимают и Elm предлагает им синтаксис проще чем в языках, из которых они пришли. Хаскель прекрасен привнесёнными им идеями, но слишком много абстракций. Кому-то это нормально заходит, но большинству либо нет, либо сильно не сразу — код на Хаскеле многим непонятен и требует повышенной концентрации при чтении кода.
источник

AW

Arthur Welf in Elm Lang сообщество разработчиков
Anton Kotenko
короче выяснили же, входной порог в Эльме достаточно низкий за счёт того, что приходящие из хоть немного функциональных языков типа Scala или знающих FRP почти сразу всё понимают и Elm предлагает им синтаксис проще чем в языках, из которых они пришли. Хаскель прекрасен привнесёнными им идеями, но слишком много абстракций. Кому-то это нормально заходит, но большинству либо нет, либо сильно не сразу — код на Хаскеле многим непонятен и требует повышенной концентрации при чтении кода.
Elm по-любому хорош уже тем, что через него легко объяснять хаскелльные абстракции ))
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
да, и это тоже
источник

NK

ID:154127650 in Elm Lang сообщество разработчиков
Gateway drug. Угу. А потом эльмер натыкается на тайпклассы, ката-/анаморфизмы, внутреннее устройство линз ван Лааровена и whatnot и чувствует, что он мало что понимает в этом ФП.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
вот это просто очень приятный код
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
не видел ещё кода на Хаскеле который бы мог этим похвастаться
источник

к

кана in Elm Lang сообщество разработчиков
Так все, что там - практически валидный (с небольшой трансформацией) код на хачкеле.

Но, сравнение не корректное, по ссылке кода мало, там больше бойлерплейт для конструкторов и хелперы. Такого кода в прелюдии завались, вот только реальные задачи обычно не "закрасить прямоугольник синим" а "нарисовать картину" или "написать инструмент для рисования картин"
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
коллаж и есть инструмент для рисования картин
источник

NK

ID:154127650 in Elm Lang сообщество разработчиков
Стоп, а коллаж всё ещё на ходу, не устарел?
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
на ходу, да
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
как processing и иже с ним
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
за этим кодом скрыта некоторая боль JS, это правда. ну просто потому что не было смысла транслировать в Elm-код необходимые для JS костыли
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
но почитав про PS я конечно понял что многое это не Эван сам придумал, а просто грамотно заимствовал
источник

NK

ID:154127650 in Elm Lang сообщество разработчиков
О, там даже спрайты из спрайтшита выдирать можно
источник