Questions tagged [clojure]

Метка для вопросов о языке программирования Clojure и/или его реализации для Java Virtual Machine. Вопросы по иным реализациям рекомендуется также помечать более специфичными тегами: [clojureclr], [clojurescript].

Метка для вопросов о языке программирования Clojure и/или его реализации для Java Virtual Machine. Вопросы по иным реализациям рекомендуется также помечать более специфичными тегами и .

Clojure — диалект Lisp для Java Virtual Machine.(а также портированный на CLR и JavaScript), позволяющий работать с классами и экосистемой Java.

  • Как диалект Lisp, Clojure следует философии "код является данными" (гомоиконность) и имеет систему макросов для расширения синтаксиса языка.
  • Использует строгие вычисления, но имеет средства для осуществления ленивых вычислений.
  • Поощряет функциональный стиль: работу с функциями высшего порядка, неизменяемыми значениями и персистентными структурами данных.
  • Динамически типизирован, но поддерживает явные указания типов (type hints). Они позволяет избежать рефлексии в сгенерированном коде и за счёт этого повысить его производительность.
  • Имеет в стаднартной библиотеке средства для многопоточного программирования. Программная транзакционная память позволяет избегать конфликтов без явного управления блокировками.
  • Имеет полный доступ к платформе, на которой работает: на Java Virtual Machine может использовать классы и интерфейсы Java, в том числе из библиотек.
  • Хорошо подходит для интерактивной разработки с помощью REPL: может компилироваться прямо во время выполнения и подменять почти любую часть уже работающей программы.
21 questions
2
votes
1 answer

Подключение зависимостей

(ns csvdb.core (:require [clojure-csv.core :as csv])) Есть следующая зависимость в проекте, как добавить теперь нужную библиотеку в проект? Пробовал перейти в папку проекта и выполнить lein deps, вот результат: Retrieving…
Hive
  • 138
1
vote
0 answers

Вычисление интеграла с применением мемоизации на Clojure

Есть задача: Реализовать функцию (оператор), принимающую аргументом функцию от одной переменной f и возвращающую функцию одной переменной, вычисляющую (численно) выражение: Оптимизировать с использованием мемоизации для задач типа построения…
1
vote
0 answers

Не могу найти ошибку в своем коде на clojure

При запуске lein run выдает: Syntax error (ArityException) compiling at (/tmp/form-init16101050078466523252.clj:1:74). Wrong number of args (1) passed to: math-translator.core/lpt/if-branch--165 Full report at: /tmp/clojure-8291314938907423064.edn…
yuriy
  • 77
0
votes
3 answers

Поиск PersistentArrayMap по части ключей

Есть файл со строками вида "Word1 Word2 100", по ним создаются элементы: (defn file-lines [file-name] (line-seq (io/reader file-name))) (defn create-element [line] (let [[a b c] (str/split line #"\s+")] {:first a :second b :number…
VsSekorin
  • 215
0
votes
1 answer

Ошибка в коде clojure

(defn mapset [func ele] (loop [elements ele result []] (if (empty? elements) (set result) (let [[first-value & another] elements] (into result (func first-value)) (recur another result))))) (def v [1 2 3 4…
Hive
  • 138
0
votes
1 answer

Ошибка при запуске локального сервера на Clojure в IntellijIDEA

Выводится ошибка по строке, которой даже нет. В проекте, сделанном по видео с Joker 2014. По отдельности все функции компилируются без сообщений об ошибках. Но при запуске run-server из кода, на localhost:8080 ничего не выводится и выдаётся ошибка в…
titov_andrei
  • 1,342