Thanks for the reply! :)

On Tuesday, November 24, 2020 at 1:36:31 AM UTC-5 gmhwxi wrote:

>
> >> *will this change affect the execution speed of ATS3 code compared to 
> ATS2?* 
>
> The short answer is no. If anything, I would bet that ATS3 code should run 
> faster :)
> I will strive to structure the compiler in a way that should be easy for 
> others to contribute.
>
> On Monday, November 23, 2020 at 11:20:59 PM UTC-5 d4v3y_5c0n3s wrote:
>
>> Thanks for the update, Hongwei.  It's really awesome to hear about the 
>> progress being made on ATS3!  I have a question I'd like to ask about 
>> ATS3's compilation.  You mentioned that rather than compiling ATS code 
>> straight into a C file, that ATS3 first compiles it into XATSCML, and in 
>> the future into XATSCL0.  You said this was to make it easier to compile 
>> ATS into languages other than C, which is awesome and I can definitely 
>> appreciate that.  My question is, *will this change affect the execution 
>> speed of ATS3 code compared to ATS2?*  I ask because I am currently 
>> working on building a game engine in ATS, and so performance is very 
>> important to my use case.  If ATS3 could potentially be slower than ATS2 
>> was, please let me know, I'd be willing to try and contribute to the 
>> project to improve this aspect.
>> Thanks, and good luck with ATS3.
>>
>> On Sunday, November 22, 2020 at 9:31:16 AM UTC-5 gmhwxi wrote:
>>
>>>
>>>
>>> Hi, there, 
>>>
>>> HX-2020-11-22: 
>>>
>>> (* 
>>> HX-2018-04-07: Let us get started!!! 
>>> *) 
>>>
>>> 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 :) 
>>>
>>> ###### 
>>> # 
>>> # The current status 
>>> # 
>>> ###### 
>>>
>>> XATSOPT: 
>>>
>>> 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. I now 
>>> primarily see xatsopt as a library (libxatsopt) for implementing tools 
>>> to support programming with ATS3. 
>>>
>>> XATS2JS: 
>>>
>>> Xats2js is a functioning compiler implemented in ATS2 for translating 
>>> XATSCML into JavaScript (or JS for short). It should be noted that 
>>> xats2js can compile tail-recursive calls into local jumps, effectively 
>>> supporting the common practice in functional programming of writing 
>>> loops as tail-recursive functions. 
>>>
>>> I will give detailed explanation elsewhere on using xats2js. Generally 
>>> speaking, one can now practice a form of co-programming with ATS3 and 
>>> JS. The JS code generated by xats2js from compiling ATS3 source can be 
>>> directly combined with other JS code (as if the generated code were 
>>> manually written in JS) 
>>>
>>> ###### 
>>> # 
>>> # Future Development 
>>> # 
>>> ###### 
>>>
>>> Documenting Xatsopt: 
>>>
>>> This has been assigned a high priority. It is hoped that other 
>>> people interested in ATS3 can start developing tools for ATS3 after 
>>> a minimal amount of documentation on xatsopt is made available. 
>>>
>>> Advanced Type-Checking: 
>>>
>>> While one can specify with linear types and dependent types in ATS3, 
>>> there is no type-checking for such advanced types in xatsopt. I plan 
>>> to concentrate on implementing support for such type-checking in the 
>>> next phase of ATS3 development. 
>>>
>>> ###### 
>>> # 
>>> # A little history of ATS3 
>>> # 
>>> ###### 
>>>
>>> Essentially, ATS3 refers to the third edition of ATS, and ATS/Xanadu 
>>> is currently the only implementation of ATS3. Note that the names ATS3 
>>> and ATS/Xanadu are often used interchangeably. 
>>>
>>> In the ATS family of languages, the first implementation is named 
>>> ATS/Proto (2004) and the language it implements is referred to as 
>>> ATS0. Please note that the implementation of ATS/Proto is written in 
>>> OCaml. The next implementation is ATS/Geizella (2007), which is also 
>>> written in OCaml. And the language implemented by ATS/Geizella is 
>>> referred to as ATS1. ATS/Anairiats (2008) is an implementation of ATS1 
>>> in itself; the implementation is first compiled by ATS/Geizella and 
>>> then by itself, succeeding in so-called bootstrapping. The next 
>>> edition of ATS is ATS2, which is given an implementation of the name 
>>> ATS/Postiats (2013) written in ATS1. 
>>>
>>> ATS/Xanadu implements ATS3 and the implementation is written in ATS2. 
>>> While there is currently no plan to bootstrap ATS3 by implementing it 
>>> in itself, it is perceivable that ATS/Xanadu can be readily translated 
>>> (manually) into such an implementation since the difference between 
>>> ATS2 and ATS3 in terms of both syntax and semantics is fairly minor 
>>> (for the part being used in compiler implementation). 
>>>
>>> ################################################################## 
>>>
>>> Cheers! 
>>>
>>> --Hongwei 
>>>
>>> ################################################################## 
>>>
>>> For previously post messages: 
>>>
>>> https://github.com/githwxi/ATS-Xanadu/tree/master/docgen/NOTES 
>>> ##################################################################
>>>
>>>
>>>

-- 
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/f3834a44-1556-4ea2-aed8-3cd1efa065e9n%40googlegroups.com.

Reply via email to