Hongwei, other than the long list of fine-grained differences between 
ATS/Postiats and the emerging ATS/Xanadu, what do you think stops 
ATS/Postiats itself from being “a programming language suitable for use in 
production”?  For example, the C-source generation could fairly easily have 
begat an PostiatsAST-to-ClangAST tree-transduction to get an LLVM backend 
with relatively little effort (or PostiatsAST-to-gimpleAST 
tree-transduction à la GNAT to get a gcc backend).  I ask this from the 
perspective of what extensions to ATS/Xanadu would most likely be steps 
forward versus repeating an impediment-to-production-suitability that 
AST/Postiats already might have pursued.

On Monday, December 16, 2019 at 10:05:41 PM UTC-6, 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/655ff496-684b-4402-833c-d535c578542e%40googlegroups.com.

Reply via email to