ATS-Temptory

89 views
Skip to first unread message

gmhwxi

unread,
May 27, 2019, 1:41:15 PM5/27/19
to ats-lang-users

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:


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:


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

More later.

Happy programming in Temptory!

--Hongwei




Kiwamu Okabe

unread,
May 29, 2019, 2:14:57 AM5/29/19
to ats-lang-users
What's `val-tt`?
--
Kiwamu Okabe

Richard

unread,
May 29, 2019, 2:53:10 AM5/29/19
to ats-lang-users

Assert that the value is true.

For the definition of tt, see https://github.com/githwxi/ATS-Temptory/blob/master/libats/basics_pre.sats#L66

Kiwamu Okabe

unread,
May 29, 2019, 3:00:05 AM5/29/19
to ats-lang-users
On Wed, May 29, 2019 at 3:53 PM Richard <qpo...@gmail.com> wrote:
> Assert that the value is true.
>
> For the definition of tt, see https://github.com/githwxi/ATS-Temptory/blob/master/libats/basics_pre.sats#L66

Thanks. I think I should learn basic library to understand ATS-Temptory, again.
--
Kiwamu Okabe at METASEPI DESIGN
Reply all
Reply to author
Forward
0 new messages