Метка «clojure» - 2

Язык Clojure отличается очень тесной интеграцией с Java. Прямое использование Java-библиотеки в приложении на Clojure — дело совершенно простое и обыденное. Обратная интеграция несколько сложнее. В этой статье указаны некоторые варианты интеграции кода на Clojure в Java-приложение.
Читать полностью »

БГУ лого
Clojure logo
В этом семестре (осенью 2012) был проведён факультатив по языку Clojure в Белорусском ГУ. В посте будет описан факультатив: причины, программа, задания, результаты, впечатления.
Читать полностью »

Roger Wang 14 декабря объявил о выходе новой версии движка node-webkit — созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.3.6 и выглядит вот как:

[скриншот]

По сравнению с версией 0.3.0, которую я обозревал в октябре, за последние два месяца случались только небольшие изменения, заслуживающие не более чем последней цифры в номере версии node-webkit. Зато изменений этих накопилось порядочно.

Прежде всего нетрудно заметить, что окна утратили «округлый» и «синенький» вид, похожий на Google Chrome, а вместо того вновь обрели общесистемный вид и форму. (На иллюстрации я привожу вид окна в Windows XP.) Также вернулся значок в заголовке окна. (Для сегодняшней демонстрации я поместил туда значок сайта Хабрахабра.)

Вот список остальных новшеств этой версии (по сравнению с 0.3.0):

Читать полностью »

Встреча FProg 2012 12 в Петербурге
12 декабря 2012 года в 19:00 в петербургском офисе JetBrains пройдёт встреча по функциональному программированию FProg. В программе встречи представлены доклады о языках Haskell, Kotlin и Clojure:

  • Илья Сергей. Статический анализ и оптимизация кода в GHC
  • Андрей Бреслав. Функции и данные в Kotlin
  • Дмитрий Грошев. Reducers в Clojure

Обязательная запись на встречу для доступа в офис осуществляется на странице встречи через Twitter-аккаунт.
Читать полностью »

Clojure является диалектом Lisp, поэтому совершенно не удивительно, что работе со списками отводится ключевое место в языке. Правда, в отличии от традиционных диалектов (CL или Scheme), вместо классических двухслотовых списков в Clojure используется абстракция Sequence — «логический список». Фактически, это интерфейс, предоставляющий методы для работы с неизменяемыми, ленивыми и, возможно, бесконечными последовательностями. Данная статья описывает внутреннее устройство этих сущностей.
Читать полностью »

После нескольких месяцев разработки вышла новая версия языка Clojure — 1.4. Clojure — Lisp'образный язык общего назначения, работающий на платформах JVM и .Net, известный специальными средствами для упрощения разработки concurrency кода.

Среди изменений стоит отметить:
Читать полностью »

Здравствуйте.

В контексте анализа данных из твиттера возникла задача обработки хештегов. Нужно было взять хештег и разбить его на отдельные слова (#habratopic => habra topic). Задача казалась примитивной, но, получается, я ее недооценил. Пришлось перебрать несколько алгоритмов пока не было найдено то, что надо.

Эту статью можно считать некой хронологией решения задачи с анализом преимуществ и недостатков каждого из использованных алгоритмов. Поэтому, если вам интересна данная тема, прошу под кат.

Читать полностью »

Lisp / Оформление кода Clojure
Каждый раз принимаясь за изучение Clojure обращал внимание, что читать хорошо отформатированный код после некоторой тренировки становится легко. Но вот решать задачки из проекта эйлер, форматируя таким “правильным” образом код, для меня стало большой проблемой.
Никаких разъяснений на русском я не нашёл, потому решил восполнить пробел переведя коротенькую инструкцию с английского.
По сути своей код на Clojure – просто набор скобоклитералов, потому без грамотной расстановки отступов его тяжело читать. Clojure с расстановкой отступов выглядит примерно так:
(defn my-zipmap [keys vals]
(loop [map {}
ks (seq keys)
vs (seq vals)]
(if (and ks vs)
(recur (assoc mapЧитать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js