This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-02-02
Channels
- # aws-lambda (1)
- # beginners (46)
- # boot (190)
- # cider (12)
- # clara (6)
- # cljs-dev (9)
- # cljsjs (8)
- # clojure (152)
- # clojure-austin (3)
- # clojure-berlin (3)
- # clojure-finland (2)
- # clojure-france (5)
- # clojure-italy (3)
- # clojure-russia (92)
- # clojure-serbia (4)
- # clojure-spec (7)
- # clojure-uk (190)
- # clojurescript (115)
- # cursive (20)
- # datomic (20)
- # dirac (4)
- # emacs (9)
- # gsoc (5)
- # hoplon (1)
- # jobs (1)
- # klipse (4)
- # lein-figwheel (1)
- # leiningen (6)
- # lumo (2)
- # mount (18)
- # off-topic (57)
- # om (68)
- # om-next (14)
- # onyx (33)
- # perun (32)
- # portland-or (4)
- # re-frame (21)
- # reagent (85)
- # ring (6)
- # ring-swagger (23)
- # schema (1)
- # uncomplicate (1)
- # untangled (13)
- # vim (7)
@mkaschenko не. не опубликовали еще. Алекс Миллер вчера вечером говорил, что будет вот вот, что типа народ был занят
Как в схеме делать значения по умолчанию для ключей? Прям чот не могу додуматься/нагуглить
@kronos_vano в смысле?
Мне почему-то кажется, что он говорит о hash-map
в языке scheme...
> груп-бай заманчивый, но там прийдется вычищать значения после группировки
> walk_values
Мне кажется, что то, что у меня делается в цикле, можно сделать одним group_by
. Потому что в цикле я как раз группирую значения из world
по результатам neighborhood
...
А исходник групбая это то, что у меня в изначальном примере
@misha покажи пример
(defn group-by
"Returns a map of the elements of coll keyed by the result of
f on each element. The value at each key will be a vector of the
corresponding elements, in the order they appeared in coll."
[f coll]
(persistent!
(reduce
(fn [ret x]
(let [k (f x)]
(assoc! ret k (conj (get ret k []) x))))
(transient {}) coll)))
Можно быстро как-то исходники смотреть?
Гы, серьезно, работает!
А тут куда не тыкни всё на редьюсе и транзиенте
А frequencies
это не (partial group-by count)
?
А. Это наоборот развернуто
А ну да.
Это нифига не наоборот
Забудь
Код нормально отформатирован? Мне не понятно куда запихнуть pairs
, который второй аргумент as->
я б вынес наружу вообще for в виде функции, тогда все будет ня (as-> (magic-f world) pairs … …)
Согласен. Ща орагнизую
хотя я б много чего вынес ибо один такой конвеер понимается тяжело
можно кста в кложуре считать сyclomatic complexity просто по кол-ву скобок да 🙂
а через reduce loop/recur не проще будет? Или тут уже предлагали?
2 года занимаюсь с кложурой, первый раз вижу чтоб кто-то as->
заюзал 🙂
> что ты всё картинками-то Не привык. Сорри 2 дня пользуюсь слакой
>первый раз вижу чтоб кто-то as->
заюзал
2 дня учусь писать на clojure, выходит как выходит 🙂
нене, это не наезд, просто к слову
Все ок)
Ведь название функции должно описывать, что она сделает в результате для использующего, а не то, что её действия значит для неё?
>а не то, что её значит для функции?
поправил)
>а не то, что её действия значит для неё?
Ну на примере: Я пишу Сonway's game of life Мне надо найти соседей ячейки. Вместо того, чтобы генерировать moore-neighborhood для ячейки и опрашивать игровое поле на существование ячеек из полученного moore-neighborhood, я генерирую moore-neighborhood для всех ячеек, и собираю все их пересечения
Т.е. вместо того, чтобы искать соседей ячейки, я ищу ячейку среди соседей другой ячейки
пффффррсрмрмр... Как-то так
Но в результате получается что надо. Если вам интересно зачем так, то я уже не помню, почему я начал делать так. Но два дня назад у меня было обоснованное мнение.
да вроде тож самое что и было
я вроде спрашивал - ты не пробовал через простой reduce или loop/recur сделать?
Неа. Не пробовал. Нет идей как
ну тогда ок, пуш в мастер 🙂
@artemyarulin в твой мастер пушить?
я не даю незнакомцам пушить в мой мастер
я с вопросом, который наверняка всплывает время от времени 😃 приведите, пожалуйста, примеры сложных проектов на Clojure и ClojureScript, которые работают в продакшене
не обязательно open source, главное, чтобы пальцем можно было тыкнуть в работающую систему
списки компаний на http://clojure.org / http://clojurescript.org не выдают сами системы =(
circleci
datomic... работает в продакшене у таких чуваков: http://www.datomic.com/customers.html
весь фронт-энд для нашего основного приложения (Apstra Operating System) - одно среднее ClojureScript/re-frame приложение, 30К строк кложурскрипта, можно посмотреть тут https://youtu.be/Z1PzrC5DmmQ?t=12m
@ul Ну и http://riemann.io/ есть, чтобы было, что показать 🙂
@ul тыкаешь сюда https://precursorapp.com и прямо в кложу упираешься сходу. проект написан на ClojureScript и недавно стал опенсорсом
там еще и датомик в исходниках маячит
@ul вот боинг еще
На скрине 6 кадров анимации: чередуются линия из трех пикселей и столбик из трех пикселей
@kgofhedgehogs HTML+CSS чем угодно. А если GUI, то https://github.com/daveray/seesaw
Спасибо. Если html+css то у меня тоже должен быть опыт работы с этим, верно понимаю? Или там все просто, что за 10 минут разберусь?
Но это же типа просто, туториалов хоть завались. А cljs - это react, т.е. reagent, om, quiescent или rum.
> виски или rum Тогда лучше посмотрю seesaw
seesaw - это враппер над джавовым Swing. Если хочется в браузере, то лучше взять обёртку над react.
http://quil.info/ наверное, если уже рисовать пора
Я вообще не знаю, что мне хочется. Где бы вы лучше рисовали conway's game of life с клетками разных цветов, которые смешиваются при рождении новой клетки?
Не судите строго, я не дизайнер
а кому в container-based distributed systems ООП и design patterns не хватает? 🙂 https://research.google.com/pubs/archive/45406.pdf
обычно когда не получается компактно написать проще поменять низлежащую структуру данных, чтобы ее процессить было проще
“придумывал элегантную структуру данных, которая удовлетворяла бы всем нуждам” - это №1 причина прокрастинации программистов на кожуре, имхо 🙂
Ну по-моему получилось компактно. Это я так с непривычки тупил :)