Size: a a a

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

2017 December 26

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
infixl/infixr
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
ключевое слово было _локально_
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Локально нельзя. И это хорошо :)
источник

Aq

A64m AL256m qn[cores] in Elm Lang сообщество разработчиков
в хаскеле нельзя
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Локально нельзя. И это хорошо :)
это не просто не хорошо, это очень даже плохо. Потому что 2 слишком умных пакета могут стать несовместимы на уровне компилятора, и ты ничего с этим не сделаешь.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
"Локально выставлять приоритеты", называется "расставить скобки"
источник

Aq

A64m AL256m qn[cores] in Elm Lang сообщество разработчиков
оператор-то новый локально можно объявить
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
под "локально" имелось в виду в рамках одного модуля
источник

Aq

A64m AL256m qn[cores] in Elm Lang сообщество разработчиков
все же под локально обычно понимается
let <вот здесь> in <или здесь>
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
источник

ZK

Zheka Kozlov in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Можно и в elm и в haskell
Как у кастомного оператора выставить infixl/infixr?
источник

ZK

Zheka Kozlov in Elm Lang сообщество разработчиков
Всё, понял, твой оператор infixr, поэтому у меня не компилировалось
источник

ZK

Zheka Kozlov in Elm Lang сообщество разработчиков
я бы ещё вот что-то типа такого ввёл:
div0 nodes = div [] nodes
источник

ZK

Zheka Kozlov in Elm Lang сообщество разработчиков
чтобы было вообще div0 <: div0 <: span0 <: text "foo"
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
Есть 2 пакета, в каждом объявлен (</>). Пока всё нормально. Теперь один из них меняет поведение через infixr 7 </>. Уже похуже, потому что это повлияло на поведение оператора из второго пакета. А если второй пакет хочет вернуть дефолтное поведение для своего оператора, например через infixl 9 </>, то будет конфликт при компиляции, причём такой, что по ошибке ты это даже не поймёшь и потеряешь день. Я считаю это большой проблемой и поводом для предостережения.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Аннотация фиксити возможна только там, где оператор определён же, не? В этом случае будет только конфликт имён, но не конфликт фиксити
источник

Aq

A64m AL256m qn[cores] in Elm Lang сообщество разработчиков
с чего бы это влияло на оператор из другого пакета?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Может быть в Эльме и фиксити сделана не как у людей? :)
источник

Aq

A64m AL256m qn[cores] in Elm Lang сообщество разработчиков
как в sml
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
A64m AL256m qn[cores]
с чего бы это влияло на оператор из другого пакета?
так всё устроено. Хочешь верь, хочешь проверь. Лучше, конечно, проверь)
источник