Size: a a a

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

2019 November 04

V0

Vlad 0xcd55d8db in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Привет.
У меня есть макрос, который всегда используется первой формой внутри fn: (fn [x] (eff ...)).
Я хочу сделать макрос вроде такого: (effn [x] ...) который развернется в (fn [x] (eff ...)).
При этом я хочу, чтобы полностью сохранилась семантика fn: имя, docstring, pre/post, *арность*, метаданные, destructuring агрументов и т.п.
Но я не хочу самостоятельно все это повторять еще раз в своем макросе.

Аналогично с defn.

Может быть есть какая-то библиотечка или сниппет?
fn же макрос, его можно запостпроцессить. я правильно все понял? https://gist.github.com/razum2um/1d1a58babc9ec6caf922297eccee0a80
источник

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Привет.
У меня есть макрос, который всегда используется первой формой внутри fn: (fn [x] (eff ...)).
Я хочу сделать макрос вроде такого: (effn [x] ...) который развернется в (fn [x] (eff ...)).
При этом я хочу, чтобы полностью сохранилась семантика fn: имя, docstring, pre/post, *арность*, метаданные, destructuring агрументов и т.п.
Но я не хочу самостоятельно все это повторять еще раз в своем макросе.

Аналогично с defn.

Может быть есть какая-то библиотечка или сниппет?
зачем придумывать сложности, когда можно просто компоузить?
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Anton Chikin
Это же тот же чувак, который Why functional programming isn't the norm
Ох, да этот парень реально спец по интересным толкам
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Vlad 0xcd55d8db
fn же макрос, его можно запостпроцессить. я правильно все понял? https://gist.github.com/razum2um/1d1a58babc9ec6caf922297eccee0a80
Тут самый прикол с fn, что может быть разная арность. Т.е. (effn ([] ...) ([x] ...)) или просто (effn [] ...).
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
зачем придумывать сложности, когда можно просто компоузить?
компоузить явно? т.е. оставить все как есть? (fn [x] (eff ....))?
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
Тут самый прикол с fn, что может быть разная арность. Т.е. (effn ([] ...) ([x] ...)) или просто (effn [] ...).
источник

T

The2lb3oz4dr10½grOfHedgehogs in Clojure — русскоговорящее сообщество
В этой либе есть defnp, который копирует поведение  defn со своими наворотами
источник

MK

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

DL

Dmytro Lispyvnyi '(🌲 🍺) in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
компоузить явно? т.е. оставить все как есть? (fn [x] (eff ....))?
В месте вызова
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Dmytro Lispyvnyi '(🌲 🍺)
В месте вызова
Я не понял. Как я предложил? Или как-то иначе?
источник

RL

Roman Liutikov in Clojure — русскоговорящее сообщество
Понемногу публикуем спикеров на Киевский митап https://clojureday.in.ua/
На сайте есть ссылка на регистрацию, откроется в след понедельник.
источник

DS

Denis Shkabatur in Clojure — русскоговорящее сообщество
Подскажите как это по-правильному записать ?
(doseq [task new-open-tasks]
      (doseq [id subscribed-users-ids]
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Denis Shkabatur
Подскажите как это по-правильному записать ?
(doseq [task new-open-tasks]
      (doseq [id subscribed-users-ids]
(doseq [task new-open-tasks id subscribed-users-ids])
источник

DS

Denis Shkabatur in Clojure — русскоговорящее сообщество
Sergey Trofimov
(doseq [task new-open-tasks id subscribed-users-ids])
спасибо.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Господа мобильщики, подскажите - есть задача заменить сторонние сервисы своими приложениями. Вопрос выбора технологии - реакт нэйтив или нативная аппка. Хочется потом внезапно не встрять с реакт нэйтивом, что оно к примеру не умеет в фоновом режиме работать и слать координаты девайса на сервак, или еще что. Где можно ознакомиться с примерным списком ограничений и преимуществ?
источник

Д

Диёр in Clojure — русскоговорящее сообщество
Если не хочешь нативку, то лучше на дарте.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Не то что не хочу нативку, просто пока рассматривается только 2 варианта, без дартов.хамаринов и прочего... А у других вариантов есть существенные преимущества?
источник

Н

Никита in Clojure — русскоговорящее сообщество
Диёр
Если не хочешь нативку, то лучше на дарте.
А кто поддерживать будет?)
источник

Н

Никита in Clojure — русскоговорящее сообщество
Andrey Ivanov
Не то что не хочу нативку, просто пока рассматривается только 2 варианта, без дартов.хамаринов и прочего... А у других вариантов есть существенные преимущества?
Нет, либо Реакт, либо натив
источник

Д

Диёр in Clojure — русскоговорящее сообщество
Никита
А кто поддерживать будет?)
Реакт нейтив тоже никто поддерживать не будет
источник