Size: a a a

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

2017 October 30

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Так вышло. Мне тоже не нравится
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
elm-graphics работае в канву. Но свою такую либу не напишешь - там нативные куски
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
И в elm-graphics всё всегда перерисовывается, ЕЯПП.
источник

МН

Максимка Назарьев in Elm Lang сообщество разработчиков
Ага, выбираешь себе платформу - думаешь ну всё, жс больше в глаза не увижу. А потом выясняется что платформа в какой-нибудь IntersectionObserver не умеет(
источник

g

gsomix in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Эльм, это урезанный вариант Standard ML
Ни разу не похож. :)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Синтаксически похож :) Концептуально - ниочень :)
источник

MP

Mike Potanin in Elm Lang сообщество разработчиков
ID:351615646
ок, последний вопрос: проверка осуществляется конструкцией требуемого типа, да?
Проверка может быть сделана отдельным аргументом - доказательством. Например в Idris у функции (-) для натуральных чисел три аргумента: третий - доказательство, что первый больше или равен второму. Но составлять такие доказательства - сложное исскуство.
источник

NK

ID:351615646 in Elm Lang сообщество разработчиков
ну да, я как понял что компилятор сам может инферить многие доказательства
источник

g

gsomix in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Синтаксически похож :) Концептуально - ниочень :)
На Haskell похож синтаксически.
источник

MP

Mike Potanin in Elm Lang сообщество разработчиков
ID:351615646
ну да, я как понял что компилятор сам может инферить многие доказательства
Простейшие может, но чуть сложнее - приходится доказывать руками.
источник

NK

ID:351615646 in Elm Lang сообщество разработчиков
ммм, а как руками составить пруф что число не равно нулю например?
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
gsomix
На Haskell похож синтаксически.
where нет, есть только let; тип аннотируется через :, а ::, это cons; всё как в ML. Вот описание типов похоже на Haskell, это правда
источник

g

gsomix in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
where нет, есть только let; тип аннотируется через :, а ::, это cons; всё как в ML. Вот описание типов похоже на Haskell, это правда
Сигнатуры функций отдельно пишутся, fun и val нет. Солянка. :)
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Ну хоть не сишный синтаксис! И на том спасибо :)
источник

NK

ID:351615646 in Elm Lang сообщество разработчиков
ризон))))
источник

AP

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

g

gsomix in Elm Lang сообщество разработчиков
Aleksei (astynax) Pirogov
Ну хоть не сишный синтаксис! И на том спасибо :)
По большому счету пофиг на стиль синтаксиса, был бы чистенький + средства форматирования.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Си-подобный синтаксис убивает ML-подобные языки!
источник

MP

Mike Potanin in Elm Lang сообщество разработчиков
ID:351615646
ммм, а как руками составить пруф что число не равно нулю например?
Простейший вариант - функция decEq x y , которая возвращает либо Yes (x = y) с доказательством равенства, или No (Not (x = y)) с доказетельсвом неравенства. Есть встроенные в библиотеку доказательства, типа  (LTZero x) (что все нашуральные числа больше или равны нуля) или (Refl x x) что все равно самому себе. И функции конструирования равенств, типа cong, которая из доказательства x=y получает доказательство f x = f y.
источник

AP

Aleksei (astynax) Pirogov in Elm Lang сообщество разработчиков
Если кому интересно, и при этом есть знание инглиша и желание пописать доки, можете про PR'ить мне в сюда: https://github.com/astynax/tea-combine - для выкладывания нужны хоть какие-то докстринги. Для функций и типов докстринги есть, нужны только для модулей. Туда накопипастить примеров кода из example projects. Ещё можно поругать код, да :)
источник