Size: a a a

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

2019 September 03

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну в смысле если не считать instanceof рефлексией )
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
а, ну да. я тоже к тому, что так можно сделать ) и рефлексия тут не нужна )
А как ты замыкание вытащишь?
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
определяешь какой-нить closureEqual у функи сравнивающий все поля-замыкания и дергаешь его
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
тебе ж в компайл тайме прекрасно известно что именно сравнивать надо
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
определяешь какой-нить closureEqual у функи сравнивающий все поля-замыкания и дергаешь его
closureEqual это java метод?
куда его положить?

На каждую clojure функцию создается свой анонимный класс с «случайным» именем.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
в этот класс и положить, куда )
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
я думаю это просто предположение
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
в этот класс и положить, куда )
тут тогда нужно форкать clojure и патчить компилятор =)
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
ну конечно, но мы ж тут про "как можно было бы" говорим
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а можно сделать так, чтобы #fix/fn (fn [x] …) обрабатывался не функцией, а макросом?
т.е. чтобы в fix/fn попадал список, а не функция
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
а оно так и работает. в датаридеры попадает форма
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
или я гоню )
источник

MK

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

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
В функцию попадет форма, но функция должна вернуть объект
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
например джава-класс или что-то еще.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
а? как можно вернуть "не объект"?
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
я к тому, что если ты вернешь список как из макроса, то получишь список.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
(defn ->fn [& xs]
 `(quote ~@xs))

(let [x #fix/fn #(prn %)]
 x)
источник

MK

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

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
затупил в первый раз
источник