On Sunday, July 27, 2014 8:38:37 AM UTC-4, Oliver Pewter wrote:
> I have thought about YAML, JSON, serialised Julia objects in a file or
> straight up Julia code.
>
I would tend to suggest just entering Julia code. I've been down this
path myself with custom input-file formats for simulation parameters....
you keep adding features (first comments, then, arithmetic, then
conditionals, etc.) until you've basically re-created a (bad) programming
language.
You can define your Julia interface so that for simple uses they don't need
to know how to "program" (i.e. they don't need a Turing-complete subset of
Julia), they just need to know how to set parameters. e.g.
S = Simulation(tolerance=1e-3,
radius=7, ω=5)
run(S)
...
This way, the whole language is available if you need it, but making a
basic input file doesn't feel too much like programming.