Публикации по теме '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 просмотров
schedule
07.11.2022
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 просмотров
schedule
08.09.2023
Когда вы набираете 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 просмотров
schedule
09.06.2022