Bank Account problem under wrong concept?

In Clojure’s concepts section, the Bank Account problem is under Floating-Point Numbers concpet. The problem doesn’t seem to have anything to do with floating points. Perhaps we can create a new concept cateogry for such problems: Concurrency or Advanced or something like that?


After posting this, I discovered this discussion Would be nice to add Concurrency to the concept tree in the Go track

I’d say this same rationale applies to Clojure as well, given Clojure’s top-notch support of concurrency management. There should really be a concurrency concept, containing several problems, in the syllabus.

@porkostomus maybe a topic you might be able to give clarity on?

A concurrency concept would be great! I’ll add it to the roadmap.

I was going to say some things, but the other thread says it perfectly. I would just echo what June said there that it’s not that it’s an oversight or even particularly difficult, the reality is we simply haven’t gotten that far yet! I’m still working on having a decent exercise for basic concepts like hashmaps, sequences, and function composition.

But to your first point, it seems that you’re right, and I suppose we could simply add the concurrency concept which would have the Bank Account exercise for now. Does it really not use floating-point numbers at all? I haven’t actually looked at it recently so that might be a mistake.

Implement new learning exercise: Concurrency · Issue #551 · exercism/clojure (

Confirmed. The exercise has nothing to do with floating point numbers.

I see now… it barely even uses numbers :joy_cat:

In fact, the exercise really just teaches atoms, swap and reset, though I’ve seen some folks use agents. I bet it could be adapted to teach the atoms concept.

In fact, Atoms are used in the coordinate transformation exercise (wip), which need to be taught for that to make sense.