Fork me on GitHub
#clojure-russia
<
2016-04-08
>
artemyarulin07:04:15

Вот есть классная функция memoize но там кеш будет рости бесконечно, стремно ее брать если нет уверености что количество вариантов аргументов небольшое. А есть типо этого но чтоб запоминало например последние N вариантов аргументов? Понятно дело на коленке написать не долго, но мож чо есть уже?

niwinz07:04:39

no, but you can implement in just copying the source code of memorize and replace cache with lrucache 😛

rmuslimov07:04:46

just :threshold option added

artemyarulin07:04:04

Yep, thanks guys

nicola07:04:38

http://www.lispcast.com/data-functions-macros-why хорошая простая статья про macros, fn & data

nicola07:04:05

@potapenko: go блок возвращает канал в который будет записан результат последнего выражения в блоке

rmuslimov08:04:42

коллеги, посоветуйте про datomic quick start туториал

rmuslimov08:04:22

круто, странно что я эту секцию пропустил

prepor09:04:02

@rmuslimov: про язык запросов если, то вот http://www.learndatalogtoday.org/ например

roman01la11:04:38

Кому-нибудь удавалось подключить cjs/es6 модули через foreign libs?

a.espolov11:04:16

если чего то не хватает, можно добавить самому

a.espolov11:04:21

там туториал есть

roman01la11:04:22

@a.espolov: ну эт понятно simple_smile

roman01la11:04:18

@a.espolov: у меня проблема с подключением модулей у которых есть зависимости

roman01la11:04:50

дока явно говорит, что для указанного типа модулей (module-type) не нужно прописывать requires https://github.com/clojure/clojurescript/wiki/Compiler-Options#foreign-libs

roman01la11:04:49

то есть с модулями без зависимостей проблем нету

a.espolov11:04:13

так там половина модулей с зависимостями

a.espolov11:04:18

если не все

roman01la11:04:42

хм, посмотрю внимательнее. спасибо

a.espolov11:04:29

по сути тебе две вещи нужно сделать: 1. файл экспорта модуля 2. минифицированный файл модуля

a.espolov11:04:11

1-ое как правило почти всегда есть, если нет то придется делать ручками ревьюя код

roman01la11:04:15

Почти разобрался. Для модулей не нужно прописывать requires, но все еще нужно описывать каждую его зависимость в foreign libs.

roman01la12:04:07

Другая проблема в том, что export default в es6 модуле записывается в неймспейсе в поле default и в кложескрипт default импортировать из неймспейса нельзя.

roman01la12:04:56

Как только вызываешь default из неймспейса, то код в js выглядит вот так

module$my_modular_lib$index.default$.call(null,"HOho”);

roman01la12:04:36

добавляет символ $ к имени

misha12:04:56

что за " export default в es6 модуле"?

misha12:04:28

это что-то стандартное в js либах? или это ты удачно имя подобрал?

roman01la12:04:09

@misha: эт синтаксис в es6 модулях, стандарт

potapenko17:04:03

@nicola: А, понятно! Я про go и не подумал. Действетельно тогда все проще. Спасибо.

rmuslimov17:04:40

@potapenko: я вчера написал об этом, и пример который я привел тоже использовал это, ты видимо пропустил

roman01la18:04:12

Если кому-то интересно по поводу проблемы, которую я описал выше, то это оказался баг в ClojureScript. Нолен подтвердил.

andmed18:04:30

Посмотрел немного на datomic. Выглядит интересно. Ситуация: есть клиент, с запатентованной лет пятнадцать назад (правда-правда, я проверял) идеей реализовать в RDBMS по сути SCHEMALESS базу. Ностальгия его что-ли гложет. Я ему на четырех таблицах с десятью записями показываю, что реализация его идеи в SQL связана с потерей места в пустых столбцах, геометрическим ростом числа записей и с в разы большим числом запросов к базе по сравнению с использованием RDBMS по назначению. Ну и мягко намекаю в сторону datomic. А самого сомнения одолевают -- не overkill ли я предлагаю. По сути нужна Schema-less база, с реализацией отношений relative, язык можно SQL можно другой DSL. Распределенность не важна, и mapreduce не будет. Для меня как самому тесно работавшему только с SQL современный зоопарк БД кажется неподъемным. Datomic взял только потому что с Clojure связана. А так поди разберись, чем кассандра от монгодб или еще чего отличается. Подскажите, что может быть близко

narmaru18:04:43

можно взять старый добрый postgres с json полями

andmed20:04:55

@narmaru: Спасибо. Он я смотрю индексируется. Хорошо. А для оригинального дизайна я и название нашел: Entity–attribute–value model, ничего нового, вариация

potapenko23:04:26

@rmuslimov о, видимо да, пропустил. Сорри simple_smile