This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-02-27
Channels
- # aleph (7)
- # beginners (80)
- # boot (1)
- # cider (3)
- # cljs-dev (277)
- # cljsjs (52)
- # cljsrn (1)
- # clojure (69)
- # clojure-gamedev (4)
- # clojure-italy (1)
- # clojure-losangeles (2)
- # clojure-russia (89)
- # clojure-spec (92)
- # clojure-uk (196)
- # clojured (1)
- # clojurescript (70)
- # cursive (5)
- # data-science (1)
- # datascript (84)
- # datomic (9)
- # defnpodcast (12)
- # docker (1)
- # emacs (4)
- # events (1)
- # fulcro (112)
- # graphql (1)
- # jobs (1)
- # lumo (1)
- # nrepl (21)
- # off-topic (2)
- # onyx (3)
- # protorepl (10)
- # re-frame (23)
- # reagent (66)
- # reitit (2)
- # rum (13)
- # shadow-cljs (144)
- # spacemacs (14)
- # sql (4)
- # unrepl (29)
- # vim (16)
да, там надо сначала понять их логику. надо смотреть видео с объяснением. я с набегу тоже ничего не понял.
у них реляционное программирование. хотя именно под твои примеры оно не совсем подходит из коробки. надо будет дописывать свои реляции, видимо.
core.logic так же юзает юнификацию
В том и дело, что надо много своего писать, так что я искал готовую штуку для переписывания термов.
может быть вот такое как-то поможет
сейчас это делать не обязательно, но если будет интересно, то смотри на ютубе Relational Programming in miniKanren by William Byrd
Есть хорошие туториалы по кор-лоджику где-то на гитхабе. Там можно за пару часов въехать как им пользоваться
да логическое программирование-то понятно. не понятно, зачем для этой мухи такую пушку выкатывать.
Ну вроде бы как подходит под задачу. Но походу действительно надо просто унифицировать. но core.unify я не использовал, так что не могу тут подсказать) Если найдешь решение то напиши, интересно как ты это сделаешь
@dottedmag а расскажи в двух словах что за юзкейс такой интересный: для чего такое аст, и почему понадобилось именно так переписать
@misha Да просто есть выплюнутое из C++-кода страшное дерево, я хочу его причесать, чтобы понять, что там вообще.
Дерево — AST разбора языка http://nixos.org
Балдридж делал на конже доклад как они тулзы для кложурного аст писали, может идеи подаст тебе какие-то
хотя не, если уже аст есть, то спека, к @roman01la +1
А парсер мне не нужен, я из этого языка полностью разобранную форму уже достал и в виде кложурных термов выплюнул.
Я его буду читать. У меня вообще желание сделать 2-way биндинг, чтобы 1) писать для NixOS конфигурацию на кложуре и транслировать в этот недоязычок, 2) читать их поделия без вытекания глаз.
ну если двустороннюю, спекой можно будет забесплатно раундтрип конформ/анформ заполучить
Recursive sets are just normal sets, but the attributes can refer to each other. For example,
Господа, а кто-нибудь видел библиотеку для работы с нереализованными графами? В таком графе по вершине я могу найти её соседей, но я не могу получить список всех вершин и рёбер, это computationally infeasible.
Я могу bfs, конечно, и руками написать, но было бы полезно взять готовую функцию обхода графа/поиска кратчайшего пути, и запихать туда реализацию нереализованного графа, через функции "получить начальные вершины", "найти соседей", "эта вершина — конечная?"
Только основная задача будет найти интересные паттерны и свернуть их в идиоматичные конструкции.