>>What is the final vision for XATSCL0?  Will it be compiled into c?  Or
directly into native code (via custom backend, or llvm/similar)?

XATSCL0 should most likely be a subset of C.

To get into native code, one needs to remove function calls of C-style in
XATSCL0.

>>What is the effect on compilation speed of having (at least) two full
intermediate languages?

Right now, it is not a big concern as xatsopt does not do time-consuming
optimizations. I suspect that
more time is likely spent on the phase of compiling XATSCL0 to native code.

>>JS doesn't have integers.  So how will code that uses integers be
compiled?  Is code compiled to js is limited to 32-bit integers, since they
can fit into the range of a double?

When compiled to JS, the int type in ATS is interpreted by some JS
functions in a small library dabbed 'runtime'.
For instance, integer division is given the following implementation:

function
XATS2JS_gint_div_sint_sint
  (x1, x2)
{
//
  let q0 = x1 / x2;
//
  if
  (q0 >= 0)
  {
    return Math.floor(q0);
  }
  else
  {
    return Math.ceil( q0 );
  }
}

On Sun, Nov 22, 2020 at 6:31 PM Elronnd _ <elro...@elronnd.net> wrote:

> On Sun, 22 Nov 2020, gmhwxi
> wrote:
>
>
>
> > As of today, I am pleased to announce that ATS3 has reached a stage
> where it can be realistically used in software construction. This is
> achieved after slightly more than two and one-half years of continual
> development by yours truly
> :)
>
>
>
> Great to
> hear!
>
>
>
>
>
> > Xatsopt is a functioning compiler implemented in ATS2 for translating
> ATS3 into a typed intermediate language of the name XATSCML, which is both
> C-like and ML-like. It is planned for xatsopt to further translate XATSCML
> into XATSCL0, a low-level C-like
> language.
>
>
>
> What is the final vision for XATSCL0?  Will it be compiled into c?  Or
> directly into native code (via custom backend, or
> llvm/similar)?
>
>
>
> What is the effect on compilation speed of having (at least) two full
> intermediate
> languages?
>
>
>
>
>
> > Xats2js is a functioning compiler implemented in ATS2 for translating
> XATSCML into
> JavaScript
>
>
>
> JS doesn't have integers.  So how will code that uses integers be
> compiled?  Is code compiled to js is limited to 32-bit integers, since they
> can fit into the range of a
> double?
>
>
>
>  -E
>
>
> --
> 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-users+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/ats-lang-users/ca34ad8d-77db-4e91-b548-400c3111c8c9n%40googlegroups.com
> <https://groups.google.com/d/msgid/ats-lang-users/ca34ad8d-77db-4e91-b548-400c3111c8c9n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ats-lang-users/CAPPSPLq6bS2tuU-WF3-TBjen36hfydPZ-4HHu%2BMfiZMeukRQDw%40mail.gmail.com.

Reply via email to