google / google/clojure-turtle

examples using core.async

Open
#12 0 comments 0 reactions 0 assignees View on GitHub
advanced
Dominant language
Clojure
Stars
424
Forks
32
PR merge metrics
No merged PRs in 30d

Description

Something that could show off the capabilities of Clojure to learners is core.async, which would give a taste of how Clojure makes concurrency easier.

It should be possible to have multiple turtles acting independently in a canvas, similar Rich Hickey's ants demo (https://youtu.be/hb3rurFxrZ8?t=49m50s), although we only have atoms (no refs) in clojure-turtle because it is preferable to have the same code work the same in CLJS and Java Clojure.

This concept is very much like [NetLogo](https://ccl.northwestern.edu/netlogo/), for which there is already a set of materials built up around the concept.

Regardless of whether we attempt to create teaching materials that correspond to NetLogo, at least NetLogo would contain some nifty examples that are worth mimicking.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the repository’s existing examples, then compare the linked ants demo and NetLogo materials for ideas. Define a concrete example or teaching-material scope before implementation; done should include a useful demonstration of multiple independent turtles using core.async.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
content, documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.