lsystems.core
add-production
(add-production productions from to)
Add new production from keyword to list of keywords
bind-productions
macro
(bind-productions productions & exprs)
Bind productions in all following calls.
Should probably use `(let [step (step-with-productions productions)] ...)` instead.
combine-keywords
(combine-keywords & keywords)
Takes multiple keywords and combines them into one, e.g. (combine-keywords :a :b) -> :ab
keyword-name
(keyword-name keyword)
Get keyword name without the colon
new-productions
The productions are written as a hash map
nth-step
(nth-step productions state n)
Return the nth step using the productions and initial state
state-to-string
(state-to-string keywords)
Convert list of keywords, numbers, strings to a single string
step
(step productions state)
Return next iteration of state using the given productions
step-with-productions
(step-with-productions productions)
Bind step function to given productions
string-to-keywords
(string-to-keywords string)
Takes string of characters and turns them into keywords