PureScript - hosted язык. Его нельзя "просто так взять и переписать". Нужно будет наконец написать рантайм, отсутствием которого авторы пурсы так гордятся. А когда напишут, мы и посмотрим, будет ли этот новый пьюрскрипт быстрее, чем "неправильный Haskell" (а ещё либы есть, для всего того, для чего у пурсы либ нету), которому полшага до WASM ибо в LLVM он уже умеет
ну в LLVM он плоховато умеет, но да, это не свой рантайм писать, что вообще работа адовая конечно. (не так давно читал оценку Арлекина сколько они потратили на рантайм MPS для RIP/лиспворкс/млворкс/дилана - 30 человеколет)
Раст потребует слишком больших усили для решения типичных задач типа жонглирования строками. Кому-то такое вынужденное копание на уровне ниже нужного доставляет удовольствие, но с точки зрения целесообразности разработка "обычного вебчика" на Расте неоправдана
Всем привет, я так понял примеров серьезных приложений на elm нет (чтоб исходники в открытом доступе), ну там с разлапистым роутингом, нетривиальной логикой, обработкой ошибок, залихватской версткой и так далее. Или как?
Есть кейс “загрузить данные из сети и сохранить в localStorage” Никак не могу скобинировать эти операции, тк - загрузка из сети Task возвращает - а сохранение сделано через ports и возвращает сразу Cmd (был бы таск, то просто вызвал бы andThen)
Есть ли какой-нибудь способ их последовательно объединить?
Всем привет, я так понял примеров серьезных приложений на elm нет (чтоб исходники в открытом доступе), ну там с разлапистым роутингом, нетривиальной логикой, обработкой ошибок, залихватской версткой и так далее. Или как?
Есть, не не то чтобы в открытом доступе. Проще всего сразу смотреть на репы компании noredink - они эльмом деньги зарабатывают.
Есть кейс “загрузить данные из сети и сохранить в localStorage” Никак не могу скобинировать эти операции, тк - загрузка из сети Task возвращает - а сохранение сделано через ports и возвращает сразу Cmd (был бы таск, то просто вызвал бы andThen)
Есть ли какой-нибудь способ их последовательно объединить?
Это же нарочно так сделано - чтобы не было хождения данных вне update