Size: a a a

Clojure — русскоговорящее сообщество

2020 July 22

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
а есть объемный пример на эффектах?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
(fun () -> ())
а есть объемный пример на эффектах?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а кто-нибудь OCaml учил/использовал? как по сравнению с clojure?
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а кто-нибудь OCaml учил/использовал? как по сравнению с clojure?
могу только за F# рассказать)
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
(fun () -> ())
могу только за F# рассказать)
так это одно и то же
давай
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
если в .Net не углубляться
источник

I

Igor in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а кто-нибудь OCaml учил/использовал? как по сравнению с clojure?
как стати. типизированный нечистый ml (meta-lang) vs jvm лисп)

+- стат. типизация (для кого как)
+ очень быстрая скорость компиляции
- хуже repl-driven-development
-- плохо с библиотеками (в этом плане тот же f# лучше будет, тк доступны все либы c#)
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
мне проще с F#, статика + неявная + строгая позволяет и не писать типы (не всегда так можно) и все равно жить с ними. Синтаксис очень приятный - ML же как раз и был Lisp без скобок. Я сейчас не буду говорить про типизация = меньше багов, а скажу более в прагматичном стиле - он помогает меньше запоминать и меньше думать про рутину. Мне не надо помнить что я в switch забыл кейс, я не должен помнить все ключи для конструирования мапы. В этом плане он с одной стороны жесткий парень, но когда привык это все же помощник.
Clojure мне зашла скоростью и легкостью написания кода, но лишь до тех пор пока я могу удержать весь проект в голове. Когда через время мне надо вспомнить что у меня за структура - я всё, заканчиваюсь.
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а кто-нибудь OCaml учил/использовал? как по сравнению с clojure?
Писал немного на ризон
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
По работе приходится писать много много элма. Там все то же как и в F#, компилятор все проверяет и не даёт пропустить кейс. Но что-то постоянно хочется вывернуть наоборот и сделать через полиморфизм вместо свитча
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а с данными там как?
чтобы json распарсить нужно все типами описывать?
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
Вообще не стал бы писать свита если больше 3 кейсов
источник

((

(fun () -> ()) in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а с данными там как?
чтобы json распарсить нужно все типами описывать?
все верно
источник

I

Igor in Clojure — русскоговорящее сообщество
Denis Krivosheev
По работе приходится писать много много элма. Там все то же как и в F#, компилятор все проверяет и не даёт пропустить кейс. Но что-то постоянно хочется вывернуть наоборот и сделать через полиморфизм вместо свитча
А еще вроде в elm есть row-полиморфизм для рекордов
А в ocaml/reason есть polymorphic variants

и их обоих очень не хватает в f#
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
а с данными там как?
чтобы json распарсить нужно все типами описывать?
Парсинг большая боль... типы то ладно, нужны ещё и декодеры
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
Километры декодеров
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
(fun () -> ())
все верно
и я не смогу в существующий тип добавить свое поле, передать его в существующие функции, а потом опять прочитать?
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
Igor
А еще вроде в elm есть row-полиморфизм для рекордов
А в ocaml/reason есть polymorphic variants

и их обоих очень не хватает в f#
Роу полиморфизм штука классная но в отсутствие обычного полиморфизма этого явно мало
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
a-la ::some-keyword
источник

DK

Denis Krivosheev in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
и я не смогу в существующий тип добавить свое поле, передать его в существующие функции, а потом опять прочитать?
Нет
источник