This is amazing, thank you for all the work you are doing!

If I'm understanding this right, it is going to be possible to make all 
sorts of language extensions
that hook into various point of the compilation process, allowing for a 
large variety of functionality.
I can already see the possibility of high level optimization 
transformations, inline cuda kernel generation,
actual metaprogramming code generation, and so much more. This is 
powerful...

I am excited. There is much to learn...
I'm still figuring out ATS2, I don't think I can be much help on ATS3 yet :)


On Monday, December 16, 2019 at 8:05:41 PM UTC-8, gmhwxi wrote:
>
>
> The full name for ATS3 is ATS/Xanadu.
>
> From this point on, I would use the name 'Xanadu' for ATS3 as this should 
> make it easier
> for people to locate information on ATS/Xanadu.
>
> I have so far implemented ATS0 (ATS/Proto),  ATS1 (ATS/Geizella and 
> ATS/Anairiats),
> and ATS2 (ATS/Postiats). ATS/Proto and ATS/Geizella were done in OCaml and 
> the others
> in ATS1. I now see all of these implementations as parts of a lengthy 
> programming language
> experiment spanning a period of about 15 years.
>
> But ATS3 is designed and implemented very differently. First and foremost, 
> I hope that ATS3
> can become a programming language suitable for use in production. For that 
> to have a chance to
> ever happen, we need to build an ecosystem for ATS3. ATS3 is structured in 
> a way that can
> greatly facilitate collaboration of contributors.
>
> While it is still a bit too early for a release of ATS3, I feel that some 
> people may be interested in
> playing with the syntax of ATS3 and learning a few tricks about 
> programming language implementation.
> With that thought on my mind, I have just implemented a (naive) 
> interpreter for ATS3. Please find the code
> for this interpreter in the following repository:
>
> https://github.com/xanadu-lang/xinterp
>
> The basic idea is to structure xinterp as a project external to ATS/Xanadu.
>
> After git-cloing xinterp, please also git-clone the following repo inside 
> the xinterp repo:
>
> https://github.com/xanadu-lang/xanadu
>
> Please do not modify the code in the xanadu repo; the code in this repo is 
> copied from elsewhere.
> You may ask me to do the modification, though.
>
> By studying xinterp (and possibly raising questions here), you can 
> implement all kinds of tools
> for processing the syntax of ATS3: syntax-highlighting, pretty-printing, 
> error-messgage-reporting, etc.
>
> Have fun!
>
> --Hongwei
>
> --Hongwei
>

-- 
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/44862b94-e0dd-4706-af5b-3937fe3091b7%40googlegroups.com.

Reply via email to