Size: a a a

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

2021 September 09

LL

Lämppi Lütti in Clojure — русскоговорящее сообщество
Можно сделать свой объект, который оборачивает другой объект и хранит мету
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Не, это не наш путь, на ещё и управлять нужно, да и парить текстовые логи не хочется..
источник

V0

Vlad 0xd728c4a7cd55d... in Clojure — русскоговорящее сообщество
да, обычно тонкие прокси наворачивают, но это не то, потому что (= {:a 1} (with-meta {:a 1} {:meta 1})) #=> true
конечно в рубях можно и eql? и equal? переписать, но такое
источник

LL

Lämppi Lütti in Clojure — русскоговорящее сообщество
Ну в джаве можно переопределить equal, и получится нормально
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
ааа, и hashCode ! тогда и equal можно не менять :)
источник

LL

Lämppi Lütti in Clojure — русскоговорящее сообщество
Есть вообще языки которые поддерживают мету у своих объектов?
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
кстати, вопрос теоретический, а кто как мету пользует? я вот пока никак не пользую... что с ней легче делать?
источник

V0

Vlad 0xd728c4a7cd55d... in Clojure — русскоговорящее сообщество
не, эти прокси и хешкоды - это не то. я хочу странного - в мете прокидывать что-то типа описания типа и возможно что-то еще. затем вместо defn сделать другой макрос, который мне бы породил еще одну парную функцию, но которая работает на "метах" от своих обычных аргументов, т.е. я хочу кодить на типах, но не как в TS, а когда тип это просто некий хеш (мета)
источник

A

Arjaz in Clojure — русскоговорящее сообщество
У нас из меты функций собирается в рантайме GQL схема
источник

A

Arjaz in Clojure — русскоговорящее сообщество
И что-то мелкое ещё есть, но я не помню уже
источник

LL

Lämppi Lütti in Clojure — русскоговорящее сообщество
Ну в кложе то ты можешь
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
О! уже лучше! буду думать.
источник

V0

Vlad 0xd728c4a7cd55d... in Clojure — русскоговорящее сообщество
в кложе мета не лепится на примитивы... но да, поэтому и спросил, а может где есть что-то такое в остальном мире?
источник

PP

Pavel Peganov in Clojure — русскоговорящее сообщество
На ум сходу приходят только метатаблицы из Lua, но они больше на прототипы JS похожи.
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
а эти "meta" аргументов вызываются в рантайме получается, когда в функу подставили аргументы?
Просто можно на символы вешать мету (your-defn foo [^{:cool :meta} a])
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
зипперы хранят в мете функции branch? и get-children
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
то есть по сути методы. Еще фикстуры для тестов хранятся в мете ns
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Еще протоколы через мету можно реализовывать.
Т.е. повесть реализацю на значение, а не на тип
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Замени на (repeat (count coll) (constantly nil))
источник

IG

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