Questions tagged [clojure]
Clojure is a Lisp dialect for the Java Virtual Machine. Its main features include a software transactional memory system for coherent updates to data structures, transparent access to Java libraries, a dynamic REPL development environment, runtime polymorphism, and built-in concurrent programming constructs.
309 questions
1
vote
0
answers
41
views
Pure and impure Implementations of CSV parser in Clojure
There are two versions of the CSV parser. The latter seems to be more performant than the former, although the former's code is easier to read.
Variant 1, which parses a string:
...
3
votes
0
answers
82
views
Advice on decomplecting and decoupling my tic tac toe implementation
I am hoping to find out what you think about my implementation of tic-tac-toe.
It is complete and working as expected with many tests, but the logic in the main module where I have the play-game main ...
2
votes
0
answers
68
views
Tic Tac Toe CLI in Clojure
I wrote a command line tic tac toe game in Clojure. I've broken this post into three sections: Feedback Requests, Gameplay, and Code
Feedback Requests
I'm looking for feedback on:
How "idiomatic&...
2
votes
1
answer
79
views
A better way to parse text input in Clojure
I've been trying Advent of Code challenges to learn Clojure. I've successfully completed Day 2, but I feel like my solution is very clumsy, especially the functions for parsing text input.
...
0
votes
1
answer
66
views
Reduce run time in Clojure
I have a task which runs sequentially. If I have hundreds of thousands of tags, it is very time consuming. Can this be modified to run the task in parallel? Works fine upto 100 tags
...
1
vote
1
answer
68
views
Client <> Query <> Subquery Bookkeeping
Context
I am making a system, where different clients issue queries
A query is resolved by issuing a set of subqueries
I have an invalidation-worker, which gets notified when subqueries go stale
...
2
votes
1
answer
208
views
Clean up improperly formatted phone numbers
This is a problem from Exercism here, the goal is to clean up badly formatted phone numbers. The rules are:
If the phone number is less than 10 digits assume that it is a bad number
If the phone ...
1
vote
1
answer
143
views
Get city weather and notify an endpoint
I'd like some help to improve this cli program. It queries a city's weather and pushes a weather report.
It takes two arguments: the city to query and the apikey for OpenWeatherMap. For example ...
1
vote
2
answers
151
views
Temperature Scale Converter in Clojure
Problem statement:
Write a program that converts all given temperatures from a given input temperature scale to a given output temperature scale. The temperature scales to be supported are Kelvin, ...
2
votes
1
answer
108
views
A Clojure program to classify files based on their filename
My first ever lines of Clojure and while the script seems to work as expected, I'm sure it's far from idiomatic Clojure. Thank you for any suggestions.
...
1
vote
2
answers
261
views
Clojure Prime Numbers from 1 to 1000
I am a beginner to Clojure and I made a little script that prints out every prime number from 1 to 1000. Let me know if there are any improvements that I can make:
...
3
votes
1
answer
235
views
Game of Life in Clojure
I've implemented a Game of Life in Clojure and would like to understand what I can do better, especially in terms of idiomatic Clojure (without losing readability/maintainability) of the current ...
1
vote
2
answers
225
views
Verify Armstrong Number in Clojure
Background
I am doing an exercise in clojure to make a function that can determine if a number is an Armstrong Number or not.
The solution I came up with us a bit more complicated than it would be if ...
1
vote
1
answer
96
views
Factorise numbers
I've started learning Clojure a few days ago and I wrote this code that factorises numbers. How do I make it better? Is there any way to avoid doing it with a loop? Is that how I am supposed to code ...
5
votes
1
answer
298
views
Hackerrank: Breaking the records
I'm learning Clojure and am a rank n00b at it, trying to learn from books and online tutorials (but I'm sometimes concerned that I am picking up bad habits or at least not all the good habits). For ...
4
votes
1
answer
179
views
My implementation of Clojure's assoc-in
This is my implementation of Clojure's assoc-in function. I am looking for tips on making it more idiomatic and in general, better.
...
2
votes
0
answers
115
views
Why does my Clojure implementation of Conway's Game of Life run so much slower than my Java implementation?
I'm trying to learn Clojure coming from a Java background. I have written a simple implementation of Conway's game of life in both Clojure and Java, trying to keep the overall structure of the code as ...
1
vote
1
answer
208
views
Prime factors kata solution in Clojure
I'm new to Clojure but I already know about functions and lists, so I decided to implement Prime Factors Kata solution. For any natural number the function should return a list of all its prime ...
2
votes
1
answer
97
views
naive bayes sentiment analysis classifier in clojure
attaching my try on implementing simple naive-bayes classifier for sentiment analysis as part of learning clojure and using functional programming on ML algorithms.
I tried to invest more time in ...
3
votes
0
answers
93
views
Brainfuck NASM compiler in Clojure
I've made a simple brainfuck compiler, I feel like my code is unreadable and messy, how can I improve it?
src/core.clj
...
3
votes
1
answer
461
views
Constructing a packet header
I am currently working on writing a library for use with LIFX light bulbs over their UDP API. I have written the code for creating the packet headers, but I'm unsure whether it is the most idiomatic ...
6
votes
1
answer
291
views
Clojure depth first search maze problem from Classic CS Problems in Python Book
I am an experienced self-taught professional Python programmer working my way through the book Classic Computer Science Problems in Python to try to catch myself up on some of the things I missed by ...
1
vote
1
answer
118
views
Check balanced brackets
Yes, I know we have a lot of these.
I'm new to Clojure, but not to lisps. After the recent (javascript?) parentheses-balancing Q, I decided to do an implementation in Clojure for practice with the ...
2
votes
1
answer
284
views
Filtering vector of maps based on a blacklist
Given a vector of maps:
(def my-list
[{:a 1 :b 2 :c 3}
{:a 1 :b 5 :c 6}
{:a 7 :b 8 :c 12}
{:a 10 :b 11 :c 12}])
and a blacklist:
...
4
votes
1
answer
109
views
Count Words in Quotes Fetched from Website
I have solved the following exercise and would like to get some feedback on my implementation.
Create a function that uses futures to parallelize the task of downloading random quotes from https://...
2
votes
1
answer
80
views
A program that expands a list of maps and chooses a random element
This is the essence of chapter 3 of "Clojure for the Brave and True".
This program is about completing the list asym-hobbit-body-parts by adding a given number of ...
4
votes
1
answer
100
views
Get list of new questions from Stack Overflow
I would like to write a little pet project using Clojure to study it, something like Stack Overflow client.
Here is a my first code to get list of new questions from site. I am in the very beginning ...
1
vote
2
answers
215
views
Combined looping and recursion when implementing Quicksort, using proper Clojure style
In "The Joy of Clojure", 2nd edition, code for quicksort is introduced on page 133 that I found hard to digest. I have rewritten it to make it clearer (at least to myself).
Here is the original:
<...
2
votes
1
answer
72
views
Table of employee with end of mission visual clue
to learn Reagent, re-frame and spec I made a little personal project.
Description:
Given a ...
3
votes
1
answer
91
views
Langton's ant in Clojurescript
The weekly coding challenge in Eric Normand's newsletter this week involves implementing Langton's ant.
I wanted something on my screen so I put together a simple re-frame app. The core functions ...
4
votes
2
answers
169
views
Extract indices of visible nodes in a tree where only some nodes are expanded
A program that I work on constantly updates and modifies program state containing an arbitrarily deep and wide tree. The data looks something like this.
...
4
votes
1
answer
99
views
n-puzzle in Clojurescript
I'm in the process of creating a n-puzzle solver in Clojurescript. I have the basic model up and running and can move tiles on the screen. I plan to implement A* or such an algorithm to solve a given ...
2
votes
1
answer
97
views
Picking a random point along the edge of an area
I'm writing a Diffusion-limited aggregation simulation, and need to pick a random point along the edge of an area defined by a dimension pair of [width, height]. ...
5
votes
2
answers
856
views
Parsing infix expressions in Clojure
I'm trying to teach myself Clojure by reading the Brave Clojure book online, and at the end of Chapter 7 there is an exercise to parse a mathematical expression written as a list in infix notation to ...
1
vote
1
answer
61
views
Using deftype to create a wrapper class for byte arrays
I want to create a wrapper class for byte arrays so that I can use them as keys in fastutil's Object2LongAVLTreeMap. I have ...
3
votes
0
answers
481
views
Forest Fire Cellular Automata
I stumbled on the idea of a Forest Fire simulating cellular automata, and decided to try making a version using a full Seesaw UI (a Clojure wrapper over Java's Swing). A short sample of it running is ...
3
votes
2
answers
111
views
What does the Bob say? (clojure version)
I'm doing the exercices from clojureacademy.
Here are the instructions for this one.
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
Returns "Whatever." if ...
5
votes
2
answers
317
views
RSS feed viewer in Clojure
This semester a classmate and I visited a course on functional programming in our university. For grading, we've to submit a small project which should be written in Clojure and make use of functional ...
2
votes
2
answers
309
views
Project Euler problem 86 taking a long time
I'm trying to solve problem 86 in Project Euler. After some tinkering, I managed to unroll the DP solution into a loop. But still the solution takes >150s to complete. What can I do to improve the ...
0
votes
1
answer
101
views
Naïve Prime Factorization in Clojure Pt. 2
After my last review request, I decided to try and make a "tree" visualization, and thought that I could benefit from making find-prime-factors lazily produce prime ...
2
votes
1
answer
203
views
Powerset of collection in Clojure
Similar to this question, here's another implementation. Assume the input is already a set.
...
2
votes
2
answers
224
views
Project Euler #10 (sum of primes less than two million) in Clojure
I'm new to Clojure and using some Project Euler problems to familiarize myself with the language's capabilities. Problem #10 asks to find the sum of all primes less than two million.
I wanted to ...
2
votes
1
answer
142
views
Program finds the first almost matching string in a list - Advent Of Code 2018 Day 2 Part 2
Advent of Code 2018, day 2, part 2:
The [two IDs you are looking for] differ by exactly one character at the same position in both strings. For example, given the following IDs:
...
0
votes
1
answer
531
views
Five functions to get the digits of a number
I'm writing a simple function: given a number, it will return a sequence or a collection of the digits in the number (in the correct order). i.e ...
2
votes
2
answers
335
views
Project Euler #49: Find 12-digit number concatenating a three terms sequence
First of all, project Euler has been a great help for me to learn Clojure. I tried for months trying to get web projects going but ended up frustrated with and struggling with tooling and libraries ...
0
votes
2
answers
176
views
Project Euler 23 implementation
This code to solve Problem 23 in Project Euler gives the correct answer. But, running the last expression takes around 40 seconds. I welcome advice on how to improve performance here.
...
1
vote
2
answers
163
views
Classic "100 doors" simulation in Clojure
I read this question about the "100 Doors" puzzle, and thought that it would make for a good quick exercise.
I ended up with two implementations. The first is more straightforward and uses a vector ...
1
vote
2
answers
124
views
Recamán Sequence (A005132)
I'm going to screw around with visualizing Recamán's Sequence, but want to have a good sequence generator to generate the sequence before I start. I want to use a lazy generator for my actual ...
5
votes
1
answer
384
views
A* in Clojure - trickier than I expected
While working through some coding puzzles to brush up on Clojure, I encountered the need to use A* on some search problems. I tried to implement it from first principles/memory and that didn't go ...
7
votes
1
answer
235
views
Avoid incoming meteors
I'm visiting a functional programming course at my university which has a small project for examination. The language we are using is clojure and the contents of the lecture have mostly been about it'...