Size: a a a

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

2021 March 21

VS

Vadim Selin in Clojure — русскоговорящее сообщество
я пытался прикрутить https://github.com/ring-clojure/ring/blob/master/ring-devel/src/ring/middleware/reload.clj#L21
но что-то у меня это не заработало
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Завтра продолжим, расскажешь, как ты юзаешь встроенный web-сервер. А то у меня чё-то не получалось. Правда уже подзабыл, что не получалось.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Смогу завтра помочь.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Он как раз не такой уж тяжеловесный.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Я щас просто не могу - у меня дежурство сёдня.
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
а как в идеологии Clojure вычисляется вот такая AST-структура (синтаксис python) ?
circ = [dir, 'circ']

bin = [dir, 'bin']
doc = [dir, 'doc']
tmp = [dir, 'tmp']

dirs = [glob['/'], circ, bin, doc, tmp]
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
если в виде объекта, получается что-то типа:
        dir:circ
               0: dir:circ/bin
               1: dir:circ/doc
               2: dir:circ/tmp
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
но тут нарушается принцип кложи — оставаться в пределах простых контейнеров (вектор/мапа)
источник

MB

Mike Bohdan in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
а как в идеологии Clojure вычисляется вот такая AST-структура (синтаксис python) ?
circ = [dir, 'circ']

bin = [dir, 'bin']
doc = [dir, 'doc']
tmp = [dir, 'tmp']

dirs = [glob['/'], circ, bin, doc, tmp]
предположу, что можно посмотреть за вдохновением на имплементации reitit, malli, hiccup, возможно sci
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
а как в идеологии Clojure вычисляется вот такая AST-структура (синтаксис python) ?
circ = [dir, 'circ']

bin = [dir, 'bin']
doc = [dir, 'doc']
tmp = [dir, 'tmp']

dirs = [glob['/'], circ, bin, doc, tmp]
я бы предложил что-то такое
  {"/" {:type :dir
       :children {"bin" {:type :dir}
                  "doc" {:type :dir}}}}
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
Sergey Trofimov
я бы предложил что-то такое
  {"/" {:type :dir
       :children {"bin" {:type :dir}
                  "doc" {:type :dir}}}}
тут просто тонокость есть — объект не просто структура в памяти, это proxy к внешнему ресурсу.
а так бы да — достаточно было мапой описать
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
тут просто тонокость есть — объект не просто структура в памяти, это proxy к внешнему ресурсу.
а так бы да — достаточно было мапой описать
что такое прокси?
источник

DP

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

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
тут просто тонокость есть — объект не просто структура в памяти, это proxy к внешнему ресурсу.
а так бы да — достаточно было мапой описать
так, что ли?
  {"/" {:type :dir :proxy glob-proxy
       :children {"bin" {:type :dir :proxy bin-proxy}
                  "doc" {:type :dir :proxy doc-proxy}}}}
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
не совсем понятно, чего от прокси хочется
так-то и на основе данных в мапе можно произвести разные действия с ресурсом
источник

DP

Dmitry Ponyatov in Clojure — русскоговорящее сообщество
Sergey Trofimov
не совсем понятно, чего от прокси хочется
так-то и на основе данных в мапе можно произвести разные действия с ресурсом
отображения на файловую систему, коннекта к БД,...
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
отображения на файловую систему, коннекта к БД,...
ну добавь в мапу всё, что нужно
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
а как в идеологии Clojure вычисляется вот такая AST-структура (синтаксис python) ?
circ = [dir, 'circ']

bin = [dir, 'bin']
doc = [dir, 'doc']
tmp = [dir, 'tmp']

dirs = [glob['/'], circ, bin, doc, tmp]
Подумай в сторону zipper’ов.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Dmitry Ponyatov
отображения на файловую систему, коннекта к БД,...
Что-то напоминает подход роутинга «паттерн<->хендлер». Посмотри на https://github.com/juxt/bidi.
источник

T

The2lb3oz4dr10½grOfH... in Clojure — русскоговорящее сообщество
Почему ns не эвалится в первых двух случаях?

По моей интуиции хотя бы второй случай должен работать

Использую replete ios

Третий вызов получается вызывает ns по кнопке eval и работать это должно аналогично второму вызову

На кнопку eval там дергается replete.repl/read-eval-print
И стактрейс я так понимаю такой:
AppDelegate.readEvalPrintFn
AppDelegate.evaluate
ReplViewController.sendAction
ReplViewController.inputAccessoryView.evalButton

Как мне заставить ns работать в первом/втором случае??
источник