It is my pleasure to introduce ATS-Temptory, which is planned to be the new 
face of ATS2.

Why Temptory? The name refers to TemplateFactory. Also the ending of the 
word aligns with
the ending of 'Category'. My very limited understanding of category theory 
played a significant
role (conceptually) in the making of Temptory.

############
 
Here is a little bit of history and motivation behind Temptory:

I have been working on ATS3 for about a year's time. Last month, I took a 
break. I was at point
where I would be starting the implementation of type inference for ATS3. 
Then it dawned on me
in a big way:

Many of the ideas I wanted to put to test in ATS3 can actually be tested in 
ATS2. Why not? Given
the large amount of work needed to implement ATS3, I feel it is only 
prudent to test these ideas in
ATS2 first before I proceed further with the implementation of ATS3.

############

ATS-Temptory can be seen as a repackaging of ATS-Postiats. Its library 
support is done from scratch
so as to (much) better support template-based programming. You can readily 
feel the power of templates
(kind of like macros in LISP and type classes in Haskell) in Temptory; this 
power also makes it easy for
you to sense the danger. I would say that the kind of template-based 
programming as is supported in Temptory
is of quite a disruptive nature. It is far from being clear at this point 
how this style of programming should be
practiced. But that is where the big fun often lies.

############

Here is the repo for Temptory:

https://github.com/githwxi/ATS-Temptory

We will be making a release very soon. You could also readily build it by 
cloning the above repo.
It is just like building ATS-Postiats. The only change is that you need to 
set TEMPTORY (instead of PATSHOME).
For more details, please read the .travis.yml in the repo.

For some examples:

https://github.com/githwxi/ATS-Temptory/docgen/CodeBook

############

More later.

Happy programming in Temptory!

--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 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/2e46e9ac-87b4-4397-982e-9c717dbf7254%40googlegroups.com.

Reply via email to