Size: a a a

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

2017 November 29

AK

Anton Kotenko in Elm Lang сообщество разработчиков
> I had looked at porting that fiber demo over the holiday, saw the added delay and walked away. Too bad the Elm implementation didn't end up being a direct match.  I did have fun porting another demo though: https://mattcheely.github.io/elm-demos/demos/elm-1k-demo/public/index.html
источник
2017 November 30

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
> Ну и SPA (Single Page Application) и распределение по страницам как-то не вяжутся.

тут Single Page, означает скорее, что страница с сервера один раз грузится. Сам то интерфейс может иметь некие "страницы".

> все остальные данные хранить на верхнем уровне, даже если они не шарятся между разделами

+1. Так и стоит делать. Возможно даже стоит делать денормализацию данных - готовить часть данных для отображения и складывать топологиески поближе к модели вьюхи, которая будет данные отображать
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Anton Kotenko
и Msg у всех общий
наверное всё таки не "общий", а "включающий в себя сообщения для вложенных сущностей". Иметь просто плоский список сообщений, означает "использовать _ паттерн в апдейтах", а это неоправданный отказ от PM exhaustiveness checking
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
наверное всё таки не "общий", а "включающий в себя сообщения для вложенных сущностей". Иметь просто плоский список сообщений, означает "использовать _ паттерн в апдейтах", а это неоправданный отказ от PM exhaustiveness checking
да, я потом передумал, что мессаджи лучше тоже разбивать по тематическим подпискам (типа мессаджи относящиеся к юзеру, к конфигу и т.п.) — тогда в компонентах будет сразу видно, какой кусок (или какие куски) "стора" нужен этому компоненту.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Мессаджи, это же типа "пути к подмодели". Потому как модель, это произведение, чаще всего. А в произведении путь кодируется суммой. В моей либе с комбинаторами ровно так и композятся мессаджи и модели - первые суммируются, воторые перемножаются :)
источник

­­

­ ­ in Elm Lang сообщество разработчиков
Добрый день. Никто в vscode не пишет на эльме? Не удаётся завести плагин
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
­ ­
Добрый день. Никто в vscode не пишет на эльме? Не удаётся завести плагин
я пишу, всё норм вроде бы, почему не удаётся?
источник

­­

­ ­ in Elm Lang сообщество разработчиков
Не работает go to definition
источник

­­

­ ­ in Elm Lang сообщество разработчиков
Переходит только к некоторым уникальным методам в рамках проекта
источник

AK

Anton Kotenko in Elm Lang сообщество разработчиков
А, go to definition там ещё не оч
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Нормально переходит только если использовать qualified вызовы

Хотя в Elm ad-hoc полиморфизма нету, поэтому странно, что go-to-def не сделают нормально
источник

­­

­ ­ in Elm Lang сообщество разработчиков
Получается добиться того, чтобы переходило, скажем, к определению Dict.insert?
источник

­­

­ ­ in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Нормально переходит только если использовать qualified вызовы

Хотя в Elm ad-hoc полиморфизма нету, поэтому странно, что go-to-def не сделают нормально
Поясните, пожалуйста, что это за вызовы
источник

AP

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

insert

-- vs

import Dict

Dict.insert

Во втором случае - qualified
источник

­­

­ ­ in Elm Lang сообщество разработчиков
а, понял
источник

­­

­ ­ in Elm Lang сообщество разработчиков
я делаю
import Dict exposing (Dict)

видимо, поэтому не работает :)
источник

AP

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

­­

­ ­ in Elm Lang сообщество разработчиков
хм, тогда не понятно
источник

AP

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

означает "импортирую тип Dict в текущйи неймспейс, а всё остальное делаю доступным через qulified"
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
К Dict.insert может не переходить, т.к. это встроенная в core функция. Я вообще не уверен, что go-to-def с чем-то из core работает
источник