# ATS2-0.1.12 released

**URL:** <https://discourse.ats-lang.org/t/ats2-0-1-12-released/648>\
**Category:** Google Group\
**Created:** [May 16, 2015, 6:12pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648 "2015-05-16T18:12:05Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [May 16, 2015, 6:12pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/1 "2015-05-16T18:12:05Z")

</div>

Hi,

I am glad to announce the release of ATS2-0.1.12.

The official website for ATS is:

[http://www.ats-lang.org](http://www.ats-lang.org)

The following packages are included in this release:

ATS2-Postiats-0.1.12.tgz  
ATS2-Postiats-contrib-0.1.12.tgz  
ATS2-Postiats-include-0.1.12.tgz

I have included ATS2-Postiats-contrib (instead of  
releasing it separately) as it is truly by now an  
indispensible part of ATS2.

After installing ATS-Postiats-include, one can compile  
the C code generated from ATS source without installing  
the ATS compiler. So a convenient way to distribute software  
written in ATS is to simply release the C code generated  
from the ATS source.

See below for some major additions and changes since the  
last release (ATS2-0.1.11).

Cheers!

–Hongwei

This is the 21st release of ATS2, the successor of the ATS  
programming language. The compiler for ATS2 is given the name  
ATS/Positats, ATS2/Postiats or simply Postiats.

The official website for ATS is:

[http://www.ats-lang.org](http://www.ats-lang.org)

ATS-Postiats is hosted at github:

> **[githwxi/ATS-Postiats](https://github.com/githwxi/ATS-Postiats)**
>
> ATS2: Unleashing the Potentials of Types and Templates - githwxi/ATS-Postiats

Major releases of ATS2 are available at:

> **[ats2-lang](https://sourceforge.net/projects/ats2-lang/)**
>
> Download ats2-lang for free. ATS2: Unleashing the potentials of types and templates. ATS is a statically typed programming language that unifies implementation with formal specification. It is equipped with a highly expressive type system rooted in...

Major releases of external packages for ATS2 are available at:

> **[ats2-lang-contrib](https://sourceforge.net/projects/ats2-lang-contrib/)**
>
> Download ats2-lang-contrib for free. External Contributions to the ATS2 PL System. This project primarily consists of external contributions made to the ATS2 programming language system in the forms of library packages, tutorials, examples, and all...

Here is a list of major additions and changes since the last release:

1. Fixing a bug involving the sequentiality of pattern matching.  
Please see doc/BUGS/bug-2015-04-15.dats for more on this one.
2. Improving s2exp\_syneq2 by adding a couple of missing cases:  
S2Edatcontyp and S2Edatconptr
3. Adding patterns of the form: $tup(…) and $rec(…)
4. Renaming the option -CSignore as --constraint-ignore:  
patscc --constaint-ignore
5. Supporting the option to disable tail-call optimization:  
patscc --tlcalopt-disable  
patsopt --tlcalopt-disable
6. Supporting s2rt\_float and static floating-points
7. Supporting s2rt\_string and static string constants
8. If undefined, ATS\_EXTERN\_PREFIX is assumed to have the value:  
“ **ATS\_EXTERN\_PREFIX** ”.
9. no exporting of r(), w() and rw() from prelude/basics\_dyn.sats
10. Fixing bug-2015-05-13:  
Handling of staloaded template implementations was incorrect
11. Dot-symbol overloading is required to be of functional style.  
For instance,  
point.x changes to point.x()  
point.y changes to point.y()

One dashboard for servers and applications across Physical-Virtual-Cloud  
Widest out-of-the-box monitoring support with 50+ applications  
Performance metrics, stats and reports that give you Actionable Insights  
Deep dive visibility with transaction tracing using APM Insight.  
[http://ad.doubleclick.net/ddm/clk/290420510;117567292;y](http://ad.doubleclick.net/ddm/clk/290420510;117567292;y)  
ats-lang-users mailing list  
[ats-lan...@lists.sourceforge.net](mailto:ats-lan...@lists.sourceforge.net)  
[https://lists.sourceforge.net/lists/listinfo/ats-lang-users](https://lists.sourceforge.net/lists/listinfo/ats-lang-users)

---

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [May 19, 2015, 4:06am UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/2 "2015-05-19T04:06:06Z")

</div>

The reason behind this mystery is this:

To initiate a block of external code, ‘%{’ must be the first two leading  
characters of a line.  
Similarly, to close a block of external code, ‘%}’ must also be the first  
two leading characters  
of a line.

This design makes it easy to handle the case where the token ‘%{’ itself is  
part of the  
extern code being included.On Monday, May 18, 2015 at 11:44:30 PM UTC-4, Yannick Duchêne wrote:

> Le mardi 19 mai 2015 05:23:52 UTC+2, Yannick Duchêne a écrit :
> 
> > This may need to be confirmed by others, as this looks strange, I  
> > encounter inconsistencies with parsing.
> > 
> > (_JS_) %{ function something() { return null; } %}  
> > (_JS_) %{ function something() { return null; } %}  
> > I got an error about on line #1 column #8: “error(parsing): the token is  
> > discarded.”
> > 
> > If I change the first line:  
> > (_JS_)  
> > %{ function something() { return null; } %}  
> > (_JS_) %{ function something() { return null; } %}
> > 
> > Now there is no more error although the second block has the same layout  
> > as the one which could not be parsed on the first line in the first case.
> 
> Or may be this is just the syntax for blocks which is special.
> 
> This one seems OK for one-liners:  
> (_JS_)  
> %{ function something() { return null; }  
> %}

---

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [May 16, 2015, 8:16pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/3 "2015-05-16T20:16:10Z")

</div>

> > but in the library directory, the directory is named  
> > `ats2-postiats-0.1.11`

Where can I find this library directory?On Sat, May 16, 2015 at 4:06 PM, ‘Yannick Duchêne’ via ats-lang-users \< [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com)\> wrote:

> I updated using the ATS2-C9-install.sh script given in another thread, and  
> noticed something strange: `patsopt -version` says `version 0.1.12` but in  
> the library directory, the directory is named `ats2-postiats-0.1.11`. I  
> checked this was already the case before this update.
> 
> Le samedi 16 mai 2015 20:12:06 UTC+2, gmhwxi a écrit :
> 
> > ---------- Forwarded message ----------
> > 
> > Hi,
> > 
> > I am glad to announce the release of ATS2-0.1.12.
> > 
> > The official website for ATS is:
> > 
> > [http://www.ats-lang.org](http://www.ats-lang.org)
> > 
> > The following packages are included in this release:
> > 
> > ATS2-Postiats-0.1.12.tgz  
> > ATS2-Postiats-contrib-0.1.12.tgz  
> > ATS2-Postiats-include-0.1.12.tgz
> > 
> > I have included ATS2-Postiats-contrib (instead of  
> > releasing it separately) as it is truly by now an  
> > indispensible part of ATS2.
> > 
> > After installing ATS-Postiats-include, one can compile  
> > the C code generated from ATS source without installing  
> > the ATS compiler. So a convenient way to distribute software  
> > written in ATS is to simply release the C code generated  
> > from the ATS source.
> > 
> > See below for some major additions and changes since the  
> > last release (ATS2-0.1.11).
> > 
> > Cheers!
> > 
> > –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 [ats-lang-user...@googlegroups.com](mailto:ats-lang-user...@googlegroups.com).  
> To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> Visit this group at [http://groups.google.com/group/ats-lang-users](http://groups.google.com/group/ats-lang-users).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/ats-lang-users/e8b9d959-91d7-41be-b412-b16f99f3ed2b%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/e8b9d959-91d7-41be-b412-b16f99f3ed2b%40googlegroups.com)  
> [https://groups.google.com/d/msgid/ats-lang-users/e8b9d959-91d7-41be-b412-b16f99f3ed2b%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/e8b9d959-91d7-41be-b412-b16f99f3ed2b%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .

---

<div class="post-metadata">

**Author:** ![Yannick\_Duchene](https://avatars.discourse-cdn.com/v4/letter/y/b77776/32.png) [@Yannick\_Duchene](https://discourse.ats-lang.org/u/Yannick_Duchene)\
**Post date:** [May 16, 2015, 8:06pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/4 "2015-05-16T20:06:53Z")

</div>

I updated using the ATS2-C9-install.sh script given in another thread, and  
noticed something strange: `patsopt -version` says `version 0.1.12` but in  
the library directory, the directory is named `ats2-postiats-0.1.11`. I  
checked this was already the case before this update.Le samedi 16 mai 2015 20:12:06 UTC+2, gmhwxi a écrit :

> ---------- Forwarded message ----------
> 
> Hi,
> 
> I am glad to announce the release of ATS2-0.1.12.
> 
> The official website for ATS is:
> 
> [http://www.ats-lang.org](http://www.ats-lang.org)
> 
> The following packages are included in this release:
> 
> ATS2-Postiats-0.1.12.tgz  
> ATS2-Postiats-contrib-0.1.12.tgz  
> ATS2-Postiats-include-0.1.12.tgz
> 
> I have included ATS2-Postiats-contrib (instead of  
> releasing it separately) as it is truly by now an  
> indispensible part of ATS2.
> 
> After installing ATS-Postiats-include, one can compile  
> the C code generated from ATS source without installing  
> the ATS compiler. So a convenient way to distribute software  
> written in ATS is to simply release the C code generated  
> from the ATS source.
> 
> See below for some major additions and changes since the  
> last release (ATS2-0.1.11).
> 
> Cheers!
> 
> –Hongwei

---

<div class="post-metadata">

**Author:** ![Yannick\_Duchene](https://avatars.discourse-cdn.com/v4/letter/y/b77776/32.png) [@Yannick\_Duchene](https://discourse.ats-lang.org/u/Yannick_Duchene)\
**Post date:** [May 19, 2015, 3:23am UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/5 "2015-05-19T03:23:52Z")

</div>

> ---------- Forwarded message ----------
> 
> Hi,
> 
> I am glad to announce the release of ATS2-0.1.12.
> 
> The official website for ATS is:
> 
> [http://www.ats-lang.org](http://www.ats-lang.org)
> 
> The following packages are included in this release:
> 
> ATS2-Postiats-0.1.12.tgz  
> ATS2-Postiats-contrib-0.1.12.tgz  
> ATS2-Postiats-include-0.1.12.tgz
> 
> I have included ATS2-Postiats-contrib (instead of  
> releasing it separately) as it is truly by now an  
> indispensible part of ATS2.
> 
> After installing ATS-Postiats-include, one can compile  
> the C code generated from ATS source without installing  
> the ATS compiler. So a convenient way to distribute software  
> written in ATS is to simply release the C code generated  
> from the ATS source.
> 
> See below for some major additions and changes since the  
> last release (ATS2-0.1.11).
> 
> Cheers!
> 
> –Hongwei

This may need to be confirmed by others, as this looks strange, I encounter  
inconsistencies with parsing.

(_JS_) %{ function something() { return null; } %}  
(_JS_) %{ function something() { return null; } %}  
I got an error about on line #1 column #8: “error(parsing): the token is  
discarded.”

If I change the first line:  
(_JS_)  
%{ function something() { return null; } %}  
(_JS_) %{ function something() { return null; } %}

Now there is no more error although the second block has the same layout as  
the one which could not be parsed on the first line in the first case.

---

<div class="post-metadata">

**Author:** ![Yannick\_Duchene](https://avatars.discourse-cdn.com/v4/letter/y/b77776/32.png) [@Yannick\_Duchene](https://discourse.ats-lang.org/u/Yannick_Duchene)\
**Post date:** [May 18, 2015, 7:26pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/6 "2015-05-18T19:26:51Z")

</div>

> ---------- Forwarded message ----------
> 
> Hi,
> 
> I am glad to announce the release of ATS2-0.1.12.
> 
> The official website for ATS is:
> 
> [http://www.ats-lang.org](http://www.ats-lang.org)
> 
> The following packages are included in this release:
> 
> ATS2-Postiats-0.1.12.tgz  
> ATS2-Postiats-contrib-0.1.12.tgz  
> ATS2-Postiats-include-0.1.12.tgz
> 
> I have included ATS2-Postiats-contrib (instead of  
> releasing it separately) as it is truly by now an  
> indispensible part of ATS2.
> 
> After installing ATS-Postiats-include, one can compile  
> the C code generated from ATS source without installing  
> the ATS compiler. So a convenient way to distribute software  
> written in ATS is to simply release the C code generated  
> from the ATS source.
> 
> See below for some major additions and changes since the  
> last release (ATS2-0.1.11).
> 
> Cheers!
> 
> –Hongwei

Are the sources in `src` still ATS1 as they use to be (and may still be) or  
are they now ATS2?

---

<div class="post-metadata">

**Author:** ![Yannick\_Duchene](https://avatars.discourse-cdn.com/v4/letter/y/b77776/32.png) [@Yannick\_Duchene](https://discourse.ats-lang.org/u/Yannick_Duchene)\
**Post date:** [May 16, 2015, 8:31pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/7 "2015-05-16T20:31:41Z")

</div>

> > > but in the library directory, the directory is named  
> > > `ats2-postiats-0.1.11`
> 
> Where can I find this library directory?

This is the directory which contains the bin directory where the compiler  
binaries are installed. For me it’s:  
`/home/yannick/apps/ats/lib/ats2-postiats-0.1.11` (buiding after  
`./configure --prefix=/home/yannick/apps/ats`).

---

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [May 18, 2015, 7:28pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/8 "2015-05-18T19:28:57Z")

</div>

ATS2 is implemented in ATS1.

There is currently no plan to implement ATS2 in ATS2 itself.On Mon, May 18, 2015 at 3:26 PM, ‘Yannick Duchêne’ via ats-lang-users \< [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com)\> wrote:

> Le samedi 16 mai 2015 20:12:06 UTC+2, gmhwxi a écrit :
> 
> > ---------- Forwarded message ----------
> > 
> > Hi,
> > 
> > I am glad to announce the release of ATS2-0.1.12.
> > 
> > The official website for ATS is:
> > 
> > [http://www.ats-lang.org](http://www.ats-lang.org)
> > 
> > The following packages are included in this release:
> > 
> > ATS2-Postiats-0.1.12.tgz  
> > ATS2-Postiats-contrib-0.1.12.tgz  
> > ATS2-Postiats-include-0.1.12.tgz
> > 
> > I have included ATS2-Postiats-contrib (instead of  
> > releasing it separately) as it is truly by now an  
> > indispensible part of ATS2.
> > 
> > After installing ATS-Postiats-include, one can compile  
> > the C code generated from ATS source without installing  
> > the ATS compiler. So a convenient way to distribute software  
> > written in ATS is to simply release the C code generated  
> > from the ATS source.
> > 
> > See below for some major additions and changes since the  
> > last release (ATS2-0.1.11).
> > 
> > Cheers!
> > 
> > –Hongwei
> 
> Are the sources in `src` still ATS1 as they use to be (and may still be)  
> or are they now ATS2?
> 
> –  
> 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 [ats-lang-user...@googlegroups.com](mailto:ats-lang-user...@googlegroups.com).  
> To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> Visit this group at [http://groups.google.com/group/ats-lang-users](http://groups.google.com/group/ats-lang-users).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/ats-lang-users/301f32b6-d0c3-4147-a0f4-0535004bc0b9%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/301f32b6-d0c3-4147-a0f4-0535004bc0b9%40googlegroups.com)  
> [https://groups.google.com/d/msgid/ats-lang-users/301f32b6-d0c3-4147-a0f4-0535004bc0b9%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/301f32b6-d0c3-4147-a0f4-0535004bc0b9%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .

---

<div class="post-metadata">

**Author:** ![Yannick\_Duchene](https://avatars.discourse-cdn.com/v4/letter/y/b77776/32.png) [@Yannick\_Duchene](https://discourse.ats-lang.org/u/Yannick_Duchene)\
**Post date:** [May 16, 2015, 8:37pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/9 "2015-05-16T20:37:09Z")

</div>

> > > but in the library directory, the directory is named  
> > > `ats2-postiats-0.1.11`
> 
> Where can I find this library directory?

In the build directory named ATS2, is a file named `VERSION`, whose content  
is `0.1.11`. This must be the cause.

The clone command used is: `git clone git://git.code.sf.net/p/ats2-lang/code ATS2`

---

<div class="post-metadata">

**Author:** ![Yannick\_Duchene](https://avatars.discourse-cdn.com/v4/letter/y/b77776/32.png) [@Yannick\_Duchene](https://discourse.ats-lang.org/u/Yannick_Duchene)\
**Post date:** [May 19, 2015, 3:44am UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/10 "2015-05-19T03:44:30Z")

</div>

> This may need to be confirmed by others, as this looks strange, I  
> encounter inconsistencies with parsing.
> 
> (_JS_) %{ function something() { return null; } %}  
> (_JS_) %{ function something() { return null; } %}  
> I got an error about on line #1 column #8: “error(parsing): the token is  
> discarded.”
> 
> If I change the first line:  
> (_JS_)  
> %{ function something() { return null; } %}  
> (_JS_) %{ function something() { return null; } %}
> 
> Now there is no more error although the second block has the same layout  
> as the one which could not be parsed on the first line in the first case.

Or may be this is just the syntax for blocks which is special.

This one seems OK for one-liners:  
(_JS_)  
%{ function something() { return null; }  
%}

---

<div class="post-metadata">

**Author:** ![gmhwxi](https://avatars.discourse-cdn.com/v4/letter/g/67e7ee/32.png) [@gmhwxi](https://discourse.ats-lang.org/u/gmhwxi)\
**Post date:** [May 16, 2015, 9:03pm UTC](https://discourse.ats-lang.org/t/ats2-0-1-12-released/648/11 "2015-05-16T21:03:09Z")

</div>

Thanks for pointing it out.

It is versioning error. I have fixed it.

I think you would not encounter any issue even if you do not re-install,On Sat, May 16, 2015 at 4:37 PM, ‘Yannick Duchêne’ via ats-lang-users \< [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com)\> wrote:

> Le samedi 16 mai 2015 22:16:11 UTC+2, gmhwxi a écrit :
> 
> > > > but in the library directory, the directory is named  
> > > > `ats2-postiats-0.1.11`
> > 
> > Where can I find this library directory?
> 
> In the build directory named ATS2, is a file named `VERSION`, whose  
> content is `0.1.11`. This must be the cause.
> 
> The clone command used is: `git clone git:// git.code.sf.net/p/ats2-lang/code ATS2`
> 
> –  
> 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 [ats-lang-user...@googlegroups.com](mailto:ats-lang-user...@googlegroups.com).  
> To post to this group, send email to [ats-lan...@googlegroups.com](mailto:ats-lan...@googlegroups.com).  
> Visit this group at [http://groups.google.com/group/ats-lang-users](http://groups.google.com/group/ats-lang-users).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/ats-lang-users/71c1ff8c-bce4-4f14-a47b-b05102882a7a%40googlegroups.com](https://groups.google.com/d/msgid/ats-lang-users/71c1ff8c-bce4-4f14-a47b-b05102882a7a%40googlegroups.com)  
> [https://groups.google.com/d/msgid/ats-lang-users/71c1ff8c-bce4-4f14-a47b-b05102882a7a%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/ats-lang-users/71c1ff8c-bce4-4f14-a47b-b05102882a7a%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .
