I’m not really an ATS user, and am just keeping an eye on it and learn
about it incrementally, from time to time, so I cannot answer myself a
question I have. As I believe this question is likely to come to the mind
of other people too, I though about asking it, directly.
I’m currently designing something (planned to be long) using Python for
convenience as a kind of model language, with the intent to later (when the
Python version will be clean enough) rewrite into C. I do it this way, as I
feel it’s easier to separate different concerns: starting with Python I can
avoid thinking about technical details and just think about the domain’s
logic, it’s also easier to rework things quickly in Python (while I’m not
to say it’s a perfect language).
After C, I’m planning to go with ATS, with a similar rational in mind: once
the the model implementation is OK, I will start to think about technical
details then later prove it’s free of runtime error, at least, and prove
some other properties too, if feasible. I though starting with C would be
easier than starting directly with ATS.
However, I have a doubt here: is there a risk I will waste my time going to
C before to ATS with the assumption it’s easy to adapt C to ATS (kind of
refinement, hence the tag) or am I afraid without real reasons and it can
be a good path?
May be people who are effectively using ATS (not just leaning it, like me),
may have an intuition about this question?
With thanks, and have a nice time.