Forgot to mention a little description on the ATS3 compilers we have so far:
https://github.com/githwxi/XATSHOME/tree/main/xassets Cheers! --Hongwei On Tuesday, May 6, 2025 at 2:43:47 PM UTC-4 gmhwxi wrote: > > Now ATS3-to-PY-in-ATS3.py can compile itself. In my first trial, it took > about 9 hours for it to > finish compiling itself. This means that ATS3-to-PY-in-ATS3.py is close to > being *20* times > slower when compared to ATS3-to-PY-in-ATS3.js. Therefore, one should > always use the latter > to generate Python3 code from ATS3 as long as one can run 'node'. We > should expect compilers > for ATS3 in the near future that can compile much faster than > ATS3-to-PY-in-ATS3.js does. > > Cheers! > > On Sunday, May 4, 2025 at 9:26:07 PM UTC-4 gmhwxi wrote: > >> Hi, >> >> I have finally managed to produce ATS3-to-PY-in-ATS3.py. However, this >> compiler is not yet able to bootstrap itself. >> >> One major issue with this compiler is that its compilation speed is very >> very slow when compared to its counterpart >> in JS. It seems to be *10* times slower (or more). Still, it can be >> useful if you are interested in write scripts in ATS3, which >> I think I will do a great deal of in the near future. >> >> Cheers! >> >> --Hongwei >> >> >> On Sunday, April 27, 2025 at 8:52:30 PM UTC-4 gmhwxi wrote: >> >>> >>> I have just added a compiler from ATS3 to python3 (ATS3-to-PY-in-ATS3). >>> >>> Here is an example of using this compiler (which needs to be run using >>> Node or Bun): >>> >>> >>> https://github.com/githwxi/XATSHOME/tree/main/contrib/githwxi/pground/proj001%40250424/misc002 >>> >>> NodeJS is async, and it is not a good fit for developing compilers. I >>> should have probably employed Python3 >>> (instead of JS) in the first place as the target language for >>> bootstrapping ATS3. I guess one big reason for this >>> is that I had been burnt badly long ago by Python2's non-standard way of >>> handling variable bindings. Awful! >>> Anyway, given what we have, the good news is that it should be fairly >>> straightforward now to get a compiler for >>> ATS3 that can be run inside a browser. >>> >>> What we have now is ATS3-to-PY-in-ATS3.js. I hope we will soon have >>> ATS3-to-PY-inATS3.py. Then we don't need >>> Node for compiling ATS3 programs; we can use Python3 in place of Node. >>> >>> Cheers! >>> >>> --Hongwei >>> >>> On Friday, April 25, 2025 at 12:44:38 PM UTC-4 gmhwxi wrote: >>> >>>> It is released. >>>> >>>> The ATS3-to-JS-in-ATS3 compiler released >>>> was generated this morning. It is still warm :) >>>> Yes, you need to have access to 'node' or 'nodejs' >>>> (probably a fairly recent version) in order to run the >>>> compiler and the JS code generated by the compiler. >>>> >>>> I created a repository for those interested in trying ATS3: >>>> >>>> https://github.com/githwxi/XATSHOME >>>> >>>> Here is an example of computing a linear stream of prime numbers: >>>> >>>> >>>> https://github.com/githwxi/XATSHOME/blob/main/contrib/githwxi/pground/proj001%40250424/misc001/pstrm000.dats >>>> >>>> Will gradually write more and more documentation. It is an on-going >>>> process that has no ending in sight. >>>> >>>> Cheers! >>>> >>>> --Hongwei >>>> >>>> PS: Just checked my notes to learned that developing ATS3-to-JS-in-ATS3 >>>> has taken about 3 years so far. The whole ATS-Xanadu >>>> project started in April, 2018, since when 7 years has passed. >>>> On Thursday, April 24, 2025 at 2:52:10 PM UTC-4 gmhwxi wrote: >>>> >>>>> Hi, there, >>>>> >>>>> I will be releasing the first version of ATS3 shortly. >>>>> More will be said in a followup email. >>>>> >>>>> For those who are familiar with ATS2, I would like to emphasize >>>>> that ATS3 is very different from ATS2 at this point. Many advanced >>>>> features of ATS2 have yet to be incorporated into ATS3. >>>>> >>>>> As you can see, there are two words in 'program verification'. >>>>> Verification needs to be built on top of a productive approach >>>>> to program construction. >>>>> >>>>> While ATS2 focuses on program verification, ATS3 has shifted the >>>>> focus on program construction. The first priority of ATS3 is to provide >>>>> a means for programmers to construct programs in a higher productive >>>>> manner. The feature of templates in ATS3 is my attempt at it, and it is >>>>> likely my last attempt at it as well. One could only experiment for so >>>>> much >>>>> and so long in one's own limited capacity. >>>>> >>>>> Cheers! >>>>> >>>>> Hongwei Xi >>>>> Principal Designer and Implementer of ATS PL System >>>>> >>>>> >>>>> >>>>> -- 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 visit https://groups.google.com/d/msgid/ats-lang-users/34ef9690-72dc-44d3-bd25-05093d1981f7n%40googlegroups.com.
