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.
