Size: a a a

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

2020 January 03

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Мы тут про api поговорили, а как вам в целом концепция проекта?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
И на исходник тут смотреть не особо нужно.
Нужно смотреть на (cr {! i/coeffect} ~@body) https://github.com/darkleaf/effect/blob/master/src/darkleaf/effect/core.cljc#L19
смысл не в том, куда смотреть, а чтобы получить понятный пользовательский код
твой ! не обладает понятностью <!
и вообще он просто оборачивает код
и вот было бы прикольно, если бы макрос сам оборачивал то, что нужно, без явного указания
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
да, и но это деталь реализации
были бы continuations в jvm - не было бы компиляции
а судя по всему в project loom  континуации сдеалют приватными
но у тебя в коде continuation в явном виде вылазит
и когда программист видит, что речь идёт о continuation — сразу становится понятней, об чем речь
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Мы тут про api поговорили, а как вам в целом концепция проекта?
я промолчу, как делал это и ранее 😊
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
по хорошему нужно сделать свои макросы, вроде fn! и defn!
но это очень сложно, и я не готов это делать, пока не нашел приемлемого способа
тут уже подсказывали на этот счет и давали пример, но я не готов это использовать и проще оставить отдельно fn/defn и with-effects
возможно, достаточно просто засунуть fn в with-effects
(with-effects [x] ...)
(with-effects [] ...)
то есть вывернуть наизнанку
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
возможно, достаточно просто засунуть fn в with-effects
(with-effects [x] ...)
(with-effects [] ...)
то есть вывернуть наизнанку
а линтеру сказать, что with-effects как fn — и будет хорошо
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
а линтеру сказать, что with-effects как fn — и будет хорошо
и назвать fn-effects 😊
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Sergey Trofimov
возможно, достаточно просто засунуть fn в with-effects
(with-effects [x] ...)
(with-effects [] ...)
то есть вывернуть наизнанку
Как быть с арностью больше 1? Как быть с docstring, metadata, type hints, pre/post conditions?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Как быть с арностью больше 1? Как быть с docstring, metadata, type hints, pre/post conditions?
> Как быть с арностью больше 1?

список аргументов как есть

> Как быть с docstring, metadata, type hints, pre/post conditions?

всё остаётся, кроме отсутствующего у fn docstring

(with-effects [^Hint x, y, z]
 {:meta ...}
 body)
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Sergey Trofimov
> Как быть с арностью больше 1?

список аргументов как есть

> Как быть с docstring, metadata, type hints, pre/post conditions?

всё остаётся, кроме отсутствующего у fn docstring

(with-effects [^Hint x, y, z]
 {:meta ...}
 body)
хотя нет, вру, наверное 😊
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Sergey Trofimov
хотя нет, вру, наверное 😊
Именно. Не все так просто в общем случае.
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Как быть с арностью больше 1? Как быть с docstring, metadata, type hints, pre/post conditions?
снимаю свое предложение 😊
источник
2020 January 05

E

ETL in Clojure — русскоговорящее сообщество
Приветствую! Начал изучать Clojure, грызу книгу Эмерика. Назрел небольшой вопрос по терминологии -  "структуры данных в Clojure в первую очередь используются в терминах абстракций, а не особенностях конкретной реализации". Термины абстрации - здесь скорее всего аргумент или результат применения функции, а что есть "конкретная реализация"?
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
абстракция: ассоциативная коллекция
реализация: hash-map, vector
функции: assoc, dissoc
источник

E

ETL in Clojure — русскоговорящее сообщество
Sergey Trofimov
абстракция: ассоциативная коллекция
реализация: hash-map, vector
функции: assoc, dissoc
👍👍👍сердечно благодарю, как бы не любил емкие термины - примеры иной раз лучше объясняют
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
ETL
👍👍👍сердечно благодарю, как бы не любил емкие термины - примеры иной раз лучше объясняют
пожалуйста, с поправкой на то, что я мог дать и неверный ответ 😊
источник
2020 January 06

AZ

Anton Zadorozhniy in Clojure — русскоговорящее сообщество
Хорошего всем дня, а тут есть живые пользователи Crux? Интересно как оно, мажется уже на хлеб? По сравнению с Датомиком как?
источник

ST

Sergey Tkachenko in Clojure — русскоговорящее сообщество
Anton Zadorozhniy
Хорошего всем дня, а тут есть живые пользователи Crux? Интересно как оно, мажется уже на хлеб? По сравнению с Датомиком как?
JUXT сделали crux для своих клиентов, а потом уже заопенсорсили. Так что у них оно точно в продакшене крутится. Про другие случаи использования пока не слышал )
источник

ST

Sergey Tkachenko in Clojure — русскоговорящее сообщество
@spacegangster должен быть в курсе
источник
2020 January 07

v

viaz in Clojure — русскоговорящее сообщество
Кто то пишет на клу под андроид?
источник