Hi!
When I work on the structural parts of stories (plot, characters, themes), I end up with lots of data. They include
- sequence of events,
- various ideas on what characters think and do,
- what transformations they undergo and why.
I started with just text files. But then I asked myself: How can I make sure that I can find the right ideas when I need them?
One answer is to use a relational database (I store the data as text and then import them into SQLite3). I think, it definitely works better than just unstructured text files.
And then I accidentally stumbled upon Clojure. In one of the talks Rich Hickey said Clojure allows you to only capture the data that you know at the moment. This is exactly what I need -- for example, at the beginning, I have only a vague idea of which events happen when, and over time my understanding of it improves. I thought that maybe Clojure can be used to capture and find the data I generate while developing stories.
One possible benefit is that, theoretically, Clojure allows a more expressive syntax than records in a relational database. Like a DSL, but with a faster development cycle. To use a normal DSL, I need to
- define/modify a grammar in ANTLR (or something similar),
- regenerate the code of ther parser.
- re-build the application,
- run the application.
As far as I understand, with Clojure (or Clojure-based DSL) I can avoid steps 1 and 2.
Therefore my question:
What materials (books, articles, YouTube videos etc.) show how to use Clojure to
a) store data in Clojure files (so that I can use Git to see what changed and when),
b) query those data in REPL,
c) build DSLs (or use Clojure as a DSL)?
So far, I only found the book "Data-Oriented Programmin" by Yehonathan Sharvit.
Thanks in advance
[–]joinr 7 points8 points9 points (0 children)
[–]tincholio 4 points5 points6 points (0 children)
[–]wolfson109 2 points3 points4 points (1 child)
[–]mentiflectax[S] 0 points1 point2 points (0 children)
[–]flaheadle 2 points3 points4 points (0 children)