Публикации по теме 'clojure'


Мой первый бэкэнд Clojure с использованием Ring, Jetty и Compojure
В этом посте я рассказываю, как я создал свое первое веб-приложение RemindMe с помощью Clojure! Приложение развернуто здесь: https://remind.otee.dev Объем проекта Приложение RemindMe призвано воспроизвести работу карточек в реальном мире. Цитата из Википедии : Флэш-карта или флэш-карта (также известная как каталожная карточка) — это карточка с информацией на обеих сторонах, которая предназначена для помощи в запоминании. На каждой карточке с одной стороны вопрос, а с другой..

Настройка редактора Clojure и Atom
Хотя Clojure пользуется отличной поддержкой всех популярных текстовых редакторов и IDE, в этом руководстве по установке основное внимание уделяется Редактору Atom . 1) Установка Atom Atom - это мощный, но легкий текстовый редактор и среда разработки, доступная для различных операционных систем, таких как macOs, Windows и Linux. В дополнение к Clojure он имеет отличную поддержку различных других языков программирования, таких как JavaScript, Python, Ruby и многих других...

Параллельное сито Prime в Clojure
Во время просмотра доклада Роба Пайка Go Concurrency Patterns talk я наткнулся на Реализация Concurrent Prime Sieve в Go , которую Роб назвал красивым параллельным кодом. Достаточно любопытно, я проверил пример и решил реализовать его в Clojure. Начнем с создания генератора бесконечной последовательности (начиная с 2): (defn num-generator [out] (go (loop [n 2] (>!! out n) (recur (inc n))))) Блок go гарантирует, что тело выполняется в отдельном потоке. Я..

Сертификат соответствия 2017: день 10
Это 10-й пост в моей продолжающейся серии о Пришествии кода 2017 . Я собираюсь описать свои решения, реализованные на JS (ES6+) и Node.js. TL;DR: это очень простая проблема. Описание проблемы здесь: http://adventofcode.com/2017/day/10 , а ввод можно найти здесь: http://adventofcode.com/2017/day/10/input . Первая часть Проблема полностью заключается в реализации конкретного, четко определенного алгоритма, поэтому давайте быстро пробежимся по коду. const { readFile, parseInt } =..

Функциональное программирование, встречайте ООП
Мне нравится экспериментировать с парадигмами программирования и пробовать некоторые интересные (для меня) идеи (некоторые вещи становятся сообщениями, например, это и то ). Недавно я решил посмотреть, смогу ли я писать объектно-ориентированный код на функциональном языке. Идея Я пытался получить вдохновение от Алана Кея , создателя объектно-ориентированного программирования. ООП для меня означает только обмен сообщениями, локальное сохранение, защиту и сокрытие состояния-процесса..

Часть 9 — Полное руководство для начинающих по компьютерному программированию с помощью Clojure: регулярные выражения…
Обычные Выражения , также известные как REGEX , — это метод применения формул для управления текстом. REGEX позволяет вам искать и фильтровать фрагменты текста и извлекать только желаемое. Его также можно использовать для проверки строки символов на определенные функции. Например, это MAC-адрес, номер мобильного телефона или номер ISBN? REGEX — чрезвычайно мощный инструмент, который часто применяется к формам и базам данных, поскольку он может помочь контролировать как..

Вопросы по теме 'clojure'

Первый функциональный язык пациента с амнезией? (мне очень нравится Clojure)
Недавно мне поставили диагноз каскадного диссоциативного расстройства, которое вызывает ретроградную амнезию в дополнение к существующему случаю возможной антероградной амнезии. Многие люди пытались напомнить мне, каким замечательным программистом я...
1562 просмотров

webjure vs compojure?
Я слышал о двух фреймворках веб-приложений на основе Clojure: Webjure и Compojure. Может ли кто-нибудь сообщить мне, что лучше?
3355 просмотров
schedule 03.03.2022

Оценка части Clojure cond
Пытаясь выполнить упражнение 1.16 (итеративная версия fast-exp) в разделе «Структура и интерпретация компьютерных программ» с помощью Clojure, я пришел к следующему выводу: (defn fast-it-exp [base exp res] (cond (= exp 0) res (odd? exp)...
5193 просмотров
schedule 12.05.2022

Структура Clojure вложена в другую структуру
Возможно ли иметь структуру, вложенную в структуру в Clojure? Рассмотрим следующий код: (defstruct rect :height :width) (defstruct color-rect :color (struct rect)) (defn #^{:doc "Echoes the details of the rect passed to it"} echo-rect [r]...
2001 просмотров
schedule 13.11.2023

Запуск байт-кода Java на Android - Sun JVM поверх DalvikVM
Поскольку и реализация Java ( OpenJDK ), и виртуальная машина Android DalvikVM имеют открытый исходный код, должна быть возможность реализовать JavaVM Sun поверх DalvikVM от Google. Это позволит запускать приложения и языки ( Clojure, Jython ) на...
41221 просмотров
schedule 31.07.2022

Переопределение переменной let'd в цикле Clojure
В ПОРЯДКЕ. Я возился с Clojure и постоянно сталкивался с одной и той же проблемой. Возьмем этот небольшой фрагмент кода: (let [x 128] (while (> x 1) (do (println x) (def x (/ x 2))))) Теперь я ожидаю, что это...
14762 просмотров
schedule 30.04.2024

Типы изменяемых хранилищ Clojure
Я пытаюсь изучить Clojure с помощью API и документации, доступных на сайте. Мне немного непонятно изменяемое хранилище в Clojure, и я хочу убедиться, что мое понимание правильное. Пожалуйста, дайте мне знать, если есть идеи, в которых я ошибся....
3120 просмотров
schedule 23.10.2023

Получить список полей в структуре
Как узнать, какие поля есть в структуре? Например, если у меня есть следующее: (defstruct bintree :data :left :right) (def a (struct bintree 0 nil nil)) как мне получить список, набор или вектор (: data: left: right) из a? я пробовал...
151 просмотров
schedule 21.12.2022

Просмотр списка карт
Я новичок в Clojure, и у меня есть простой вопрос Допустим, у меня есть список, состоящий из карт. У каждой карты есть :name и :age Мой код: (def Person {:nom rob :age 31 } ) (def Persontwo {:nom sam :age 80 } ) (def Persontthree {:nom jim...
407 просмотров
schedule 14.03.2024

В чем разница между процедурой и #'процедурой в Lisp/Clojure?
В чем разница между оценкой double и #'double в Clojure/Lisp? 1:2 user=> double #<core$double__4077 clojure.core$double__4077@1acd47> 1:3 user=> #'double #'clojure.core/double
371 просмотров
schedule 12.05.2022

Продолжения в Clojure
Я где-то читал, что богатый Хикки сказал: «Я думаю, что продолжения могут быть хороши в теории, но не на практике» Я не знаком с clojure. 1. Есть ли в clojure продолжения? 2. Если нет, то нужны ли вам продолжения? Я видел много хороших...
10984 просмотров

Когда вы набираете hello, world в Clojure REPL, почему он говорит «nil»?
Я ввел это в Clojure REPL (используя плагин enclojure Netbeans): user=> "hello, world" "hello, world" nil Что за ноль?
2440 просмотров
schedule 02.02.2022

Привязка Clojure не работает
Я работаю над примерами Clojure в «Programmming Clojure» Стюарта Хэллоуэя, и я столкнулся с проблемой при использовании привязки: (def foo 10) ; => '#user/foo foo ; => 10 (binding [foo 42] foo) ; => 10 (binding [user/foo 42] foo) ;...
328 просмотров
schedule 05.02.2023

Запуск Clojure Box в Windows 7
У кого-нибудь были проблемы с запуском Clojure Box в Windows 7? Я пытаюсь запустить новую установку Clojure Box при новой установке Windows 7 Professional (64-разрядная версия). Версия Java в системе - 1.6.0_16. emacs запускается, но выдает...
1306 просмотров
schedule 25.12.2022

как эффективно применять функцию среднего веса параллельно
Я хочу параллельно сопоставить скромно-дорогую функцию с большой ленивой последовательностью. pmap отлично, но я много теряю из-за переключения контекста. Я думаю, мне нужно увеличить размер куска работы, который передается каждому потоку. Я...
3542 просмотров
schedule 15.03.2022

Преобразование файлов CSV в Clojure для новичков
Я и новичок, и стар в программировании — в основном я просто пишу много маленьких Perl-скриптов на работе. Clojure появился как раз тогда, когда я хотел выучить Lisp, поэтому я пытаюсь выучить Clojure, не зная Java. Это тяжело, но до сих пор было...
2662 просмотров
schedule 19.05.2022

Обход/поиск структуры данных Clojure
Я хотел бы иметь возможность сделать что-то вроде этого: (search data list? (fn [x] (and (list? x) (= 4 (first x)))) (fn [x] (and (set? x) (contains x 3)))) И заставьте его рекурсивно искать вложенную структуру данных data :...
1661 просмотров
schedule 15.04.2022

Как перевести этот фрагмент императивного кода в код Clojure
Обычно у нас есть такая ситуация в C++ int a=0; if(some_condition_satisfied(g)) { a = eval(g); // never returns 0 } if(a!=0) { do_something(); } Как я могу сделать это в Clojure без использования ссылок, потому что я не могу назначить...
253 просмотров
schedule 25.11.2022

Этот код Clojure имеет правильный отступ?
http://pastebin.com/d2294a374 Я разместил там код с двумя разными отступами. Я запутался здесь, потому что не уверен, что делать, если функция имеет несколько аргументов. Каждый аргумент должен быть в отдельной строке или в одном и том же?...
1493 просмотров
schedule 14.06.2022

Моделирование / документирование функциональных программ
Я нашел UML полезным для документирования различных аспектов объектно-ориентированных систем, в частности диаграмм классов для общей архитектуры и диаграмм последовательностей для иллюстрации конкретных подпрограмм. Я бы хотел проделать то же самое...
1226 просмотров