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.

Reply via email to