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.

Reply via email to