(This was first posted in another thread as a reply although I intended it
to start a new thread.)
Hi,
I found Chris Double’s blogs very helpful with real world usage examples of
ATS:
http://bluishcoder.co.nz/tags/ats/
I am very interested in ATS but I am trying to figure out how exactly it
fits with my needs. I think some high level guidelines on how a project can
be done in ATS will really help newcomers and may even benefit the
developers as it may force you to think more about how ATS will be used in
real projects.
For my own preference for explorative coding I like languages that are
expressive and that have REPL support. I currently use Prolog. ATS has an
ML-like part that is expressive but does not support REPL.
That leaves the potential usage model of coding in ATS for performance
critical libraries. Again if possible I still would like to code in the
more expressive ML style, but the library code needs to work with other
high level languages that have their own garbage collectors. Does that mean
that ML style is out of question if I want to write an FLI extension for,
say, Prolog? If ML style is still possible how does one go about
boxing/unboxing data structures from ATS ML style to the target language
and interacting with host GC? Or is the realistic choice to code in C
style? I would love to see some worked out examples on interfacing ATS (ML
style – for C style presumable one can just follow the FLI of the targets)
to Prolog or Scheme/Lisp, writing performance critical libraries in ATS and
working with the FLIs of the target languages.
Sincerely,
HaitaoOn Thursday, January 9, 2014 8:59:33 AM UTC-8, gmhwxi wrote:
Right now, a serious problem with ATS is that there is very little
on-line source of information for people interested in learning it. So it
is
my hope that everyone learning ATS right now could also help his or her
fellow learners.By the way, encoding proofs of theorems inside ATS is an excellent way to
gain understanding of the theorems. For instance, I had great difficulty
with
Yoneda Lemma in category theory. Once I was able to implement it in ATS
a couple days ago, I felt that I had gained solid understanding of it.
Actually,
I right now feel that Yoneda Lemma is so “trivial”