Fork me on GitHub
#clojure-russia
<
2018-03-26
>
niquola12:03:11

бесит плохая композабилити honeysql - напишу свой - уже назрело

👍 12
rustam.gilaztdinov07:03:19

От авторов metabase, а они то на скл собаку съели

niquola16:03:34

сликом ООПшно выглядит - я люблю данные - https://github.com/niquola/ql. Как доделаю покажу как топ левел интерфейсы на ней делать сравнимые с ORMами

kirill.salykin14:03:42

а что именно бесит?

dottedmag15:03:44

clj -m cljs.main ❤️

kgofhedgehogs17:03:01

Слушайте, а нафига у редьюса есть возможность работать с функцией принимающей 1 и только 1 аргумент?

kgofhedgehogs17:03:29

(reduce #(do (println %) %) -1 (range 5))

kgofhedgehogs17:03:53

Типа вот пример. Редьюс положит инициализирующий элемент в аккумулятор и дальше цикл поочередных выкидываний элементов последовательности: [возьмёт следующий элемент последовательности, выкинет его, отправит аккумулятор в функцию, поместит результат в аккумулятор]

kgofhedgehogs17:03:17

Дока редьюса говорит:

-------------------------
cljs.core/reduce
([f coll] [f val coll])
  f should be a function of 2 arguments. If val is not supplied, returns the result of applying f to the first 2 items in coll, then applying f to that result and the 3rd item, etc. If coll contains no items, f must accept no arguments as well, and reduce returns the result of calling f with no arguments.  If coll has only 1 item, it is returned and f is not called.  If val is supplied, returns the result of applying f to val and the first item in coll, then applying f to that result and the 2nd item, etc. If coll contains no items, returns val and f is not called.
> f should be a function of 2 arguments.

kgofhedgehogs17:03:55

Зачем позволено юзать функцию 1 аргумента?

ilevd17:03:04

Это, скорее всего, позволено в cljs только

ilevd17:03:46

Так же как

(map (fn [x y] 5) [1 2 3])

kgofhedgehogs17:03:46

хм, действительно

kgofhedgehogs17:03:51

Спасибо

kgofhedgehogs17:03:36

((fn [x y] [x y]) 1 2 3)

kgofhedgehogs17:03:44

Вот пример попроще

kgofhedgehogs17:03:01

А зачем/почему cljs позволяет вызывать с неправильным кол-вом аргументов?

Roman Liutikov17:03:48

потому что js troll

trollface 4
dottedmag19:03:04

Потому что проверять arity на каждый вызов дорого.

kgofhedgehogs19:03:29

Понял, спасибо