Speaking of formalization of templates, I came upon this essay http://okmij.org/ftp/Computation/typeclass.html. Personally this is such a good read, and I finally understand how type classes are done. I feel like our templates is almost "local type class" in Oleg's words, except that ATS uses late-binding.
On Tuesday, February 13, 2018 at 2:52:29 PM UTC-5, Steinway Wu wrote: > > Hi Hongwei, just for the record, let me put down some offline discussions. > > 1. Programmers can decide how a literal is parsed, or even write some > plugins to parse some custom literals. For instance, 1 can be interpreted > as int, nat, and int(1) etc. Programmers should be able to either turn a > knob, or annotate the literal, to switch among interpretations. > 2. Some meta-programming supports via templates. E.g. `derive` of Haskell. > 3. Formalization of templates. > 4. Module systems. > 5. Session types :) > 6. Modular design of the whole tool chain. E.g. parsing, type equality, > constraints solving, template dispatch, type erasure, etc. > 7. Maybe database-based compilations? We can store compiled blocks as a > (hash, binary IR) pairs in some file-based databases, for easy reuse. Not > sure how feasible it is. > 8. Interpreter, REPL, language servers, documentation tools, standard > libraries, type inference, etc. > 9. More importantly, a process for open source contribution. > > Exciting! > > On Friday, February 9, 2018 at 1:15:22 PM UTC-5, gmhwxi wrote: >> >> For the moment, I just want to open a thread for ATS3. >> >> I decided to pick ATS/Xanadu for the full project name. I like the name >> Xanadu >> because it is poetic and brings a feel of exoticness. >> >> ATS3 is supposed to be compiled to ATS2. At least at the beginning. I >> will try to >> write more about what I have in mind regarding ATS3. >> >> I know that a lot of people have been complaining about the syntax of >> ATS2. So >> we can start the effort of designing some "nice" syntax for ATS3. Please >> feel free >> to post here if you would like share your opinions and ideas. >> >> I will be happy to take the lead but we definitely need to have some form >> of community >> effort on this project given its size and scope. >> >> Cheers! >> >> --Hongwei >> >> PS: I felt rushed every time up to now when implementing ATS. This time I >> am hoping >> to have the luxury of thinking about implementation a bit before actually >> doing it :) >> >> -- 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 post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/ats-lang-users. To view this discussion on the web visit https://groups.google.com/d/msgid/ats-lang-users/895549c8-51c7-4d06-92a1-a99bc1861cef%40googlegroups.com.
