Size: a a a

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

2017 June 05

QZ

Quet Zal in Elm Lang сообщество разработчиков
lazy view ок
можно считать костылем но жизнь не портит, юзается легко
источник

QZ

Quet Zal in Elm Lang сообщество разработчиков
и да - это аналог shouldComponentUpdate
источник

RS

Roman Salnikov in Elm Lang сообщество разработчиков
Можно быстро сравнивать всё, а можно при определенных условиях половину не сравнивать. Простая логика оптимизации, привычная по реакту же.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
> в purs динамичнее, но делаются интересные вещи а всякое скучное но без чего продакшен невозможен забиваются
Мне вот это не нравится в большинстве языков как раз, и большинство из них как раз развиваются по этой схеме. Я за строгие правила, ведущие к понятному и логичному синтаксису, пусть и через ограничения.
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Кстати вопрос по делу, что-то туплю, как деструктурировать список по типу?

Вроде:

type MyUnionType = TypeOne | TypeTwo

myFunc : List MyUnionType -> ...
myFunc customList =
  case customList of
     <что писать, чтобы выбрать список только из TypeOne?> -> ...
     _ -> ...
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
В ML-языках как раз "строгие правила, ведущие к понятному и логичному синтаксису"
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
define "деструктурировать список по типу"
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Тип то один - тип-сумма
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
ну вот там пример кода. есть union type, мне нужно выбрать список, который содержит элементы только одного суб-типа из этого union
источник

AK

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

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
isTypeOne x = case x of
 TypeOne -> True
 _ -> False
источник

AP

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

AP

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

AP

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

AK

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

case customList of

  (TypeOne elmOne)::(TypeTwo elmTwo)::_ ->

  _ -> ...
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Можно, но это же не решает задачу чтобы выбрать список только из TypeOne
источник

AK

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

AK

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

AK

Anton Kotenko in Elm Lang сообщество разработчиков
ну ладно, потерпим :D
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
В смысле "способ без фильтра"? filter - единственный верный способ для решения этой задачи :)
источник