--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/1d521742-0931-45bb-9349-5433debbab35%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/CAJ7XQb6q1pYpfrcR5mX0E22p1SZwVAHKg8OOJ-TxiaGoJ7yiLQ%40mail.gmail.com.
True, that is my hope as well, and I don't think the C->ATS approach would be good for large, de novo programs. It might be better to define the interfaces in ATS in that case, then do a mix of C or "C-Style" ATS (depending on your fluency), and gradually improve it.
I am not a real ATS user either.
But I would have done it the other way around, using ATS before C
That going from Python to C is not as much a scary prospect could be
considered a defect of using Python to get to ATS.
--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/596688d2-76bc-46a8-beb7-b0cb62b328a3%40googlegroups.com.
[…] You want something in which recursion is
utterly natural. Otherwise you are going to have either bad ATS or the
need to rethink a whole lot of loops.[…].
--
You received this message because you are subscribed to the Google Groups "ats-lang-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ats-lang-user...@googlegroups.com.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at http://groups.google.com/group/ats-lang-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/a4f94a25-8c76-467f-b19a-394dea829297%40googlegroups.com.
The usual method for a typical for or while loop in ATS is to write a recursive function/closure called loop ... but, it does support the for/while keywords ... but I have never (as I recall) seen them except in examples talking about how to use for and while loops...
Personally I'd go straight to ATS and skip the C step.
You'll learn
ATS faster that way. If you get stuck you can always just embed C in
ATS itself. For examples of this see:
http://bluishcoder.co.nz/2011/04/24/converting-c-programs-to-ats.html
and
http://bluishcoder.co.nz/2014/04/11/preventing-heartbleed-bugs-with-safe-languages.html
--
http://bluishcoder.co.nz
If you do not want GC at the end, then you probably have to use linear types during re-fatoring
or after porting to C is done.
If you are less familiar with ATS, I suggest that you try to minimize the use of dependent types
at the beginning.
Try to use run-time checks instead.
http://bluishcoder.co.nz
'Yannick Duchêne' via ats-lang-users <ats-lan...@googlegroups.com> skribis:
I would suggest modeling with Scheme instead of Python, and then going
straight to ATS.