I am building an application that consumes a file, and produces another file. It's not terribly important what it does, but I want to use core.async; main reason is I want to learn it, but also to be able to make this processing potentially faster on multicore machines.
I want the app to have 2 modes of operation: you can run it from command line, and pass a file on the STDIN, or you can fire up a REPL session, and create your inputs there. I've already used this approach in my Emacs REPL, and I want to be able to use in command-line REPL session.
When run with a file on STDIN, my code creates a channel, creates consumers, and puts the lines unto the channel. When I go interactive, I figured I'll create a channel and bind it to an atom; then there will be an API exposed to add individual messages to the channel, or entire sequences, doesn't matter.
What made me doubt the decision is the absence of examples/articles talking about channel+atom combinations. As if it's not a good pattern. Would anyone be able to provide their opinions? Perhaps I'm just overthinking this =) Sorry about the wall-of-text!