The answer(s) to this question will be fascinating & instructive to those of us studying the internals of ATS. There will likely be 2 different avenues of answers: the ATS2/Postiats (transliteration to C) answer and the ATS3 (interpreter for now, then compilation to LLVM IR forthcoming) answer, because the internals might differ due to the intended destination of C versus LLVM IR. Everything about ATS2 and ATS3 is intriguing. What a time to be alive!
On Sunday, February 2, 2020 at 7:04:32 PM UTC-6, rodol wrote: > > I am trying to understand exactly how ATS internals work. > > I don't understand how the datatypes work. Are they like named unboxed > tuples, > essentially? Or are they boxed? I assume they are unboxed, but then I have > trouble > understanding how lists work, since they would be like a bunch of nested > unboxed > tuples. Which would be problematic since they'd be passed by value, and > large lists > would have bad performance. On the other hand, if datatypes are boxed, > then lists > would be like linked lists, and wouldn't be linear in memory so... > > Are arrays the preferred way to get performance? > > Is there something I can read that explain this part of 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/0307d5a2-6b5a-4c29-ad9a-9032521e250a%40googlegroups.com.
