0.2.3

<pre>
ats-lang-anairiats-0.2.3:

As usual, this release contains a large number of fixes. There is
also a lot effort going into documentation. In particular, the grammar
of ATS (ats_grammar.yats) is cleaned considerably.

A (partial) list of the changes since the last release are given as
follows:

1. Adding READ: READ(string) is read-only!
2. Renaming prelude/?ATS/file.?ats to prelude/?ATS/filebas.?ats
3. Adding support -DATS flags: -DATSXYZ=12345 or -DATS XYZ=12345
4. Adding support for ATS/Anairiats to output #line pragma in the C code
   generated by atsopt.
5. Adding support for compiling fixed-point expressions (constructed via
   fix and @fix).
6. Introducing various macros in ccomp/runtime/ats_basics.h to give more
   structure to the C code generated by atsopt.
7. Introducing block expressions: { decseq_syn }
8. Supporting syndef-loaded external identifers
9. DO and WHILE are external ids: both while-loop and do-while-loop are
   supported.
10. print! and println! are now supported.
11. fprint! and fprintln! are now supported.
12. tupz! is now supported.
13. $ATSHOME/utils/atsgrammar is added for documenting the grammar of ATS.
14. Implementing the $ATSHOME/libats/fundeque_fingertree package.
15. "><" (GTLT) can now be used as a dynamic identifier.
16. Syntax like [val <pat> = <SomeProof>] is now ruled out: 'val' needs to be
    replaced with 'prval'.
17. Removing named types (S2Enamed), which is inadequate for its purpose
18. S2Eextype can now carry arguments
19. overhauling partial template implementation
20. ptrout -> vptrout and ptroutopt -> vptroutopt
21. ptropt_v -> optvar_v
22. [ptrself] is introduced as a named type of the name "ats_ptrself_type"
23. The '$fun' suffix is no longer in use. If a function is declared as a
    'val', then the function is now treated as an ordinary value.
</pre>

######

0.2.2
<pre>
ats-lang-anairiats-0.2.2:

As usual, this release contains a large number of fixes. Also, many new
coding examples are added. Compared to the previous version, the ATS
interface for libc functions is greatly extended, and there are now many
examples involving systems programming that are available in the following
directory:

$ATSHOME/doc/EXAMPLES/AUP/.

A (partial) list of the changes since the last release are given as
follows:

1. -D_ATS_TERMINATION_CHECK is changed to -D_ATS_PROOFCHECK; fixing a
   related bug in [d3explst_funarg_tr].
2. Fixing a bug involving type-checking variadic functions
3. Fixing a bug involving solving top-level constraints
4. $ATSHOME/libc/SATS/complex.sats and $ATSHOME/libc/DATS/complex.dats
   are compiled and then added to libats.a
5. Adding support for #undef
6. Thoroughly testing the support for ATS running on Cygwin
7. Implementing libats/vector (dynamically resizable vectors)
8. $ATSHOME may now contain the space character (' ').
9. Fixing a bug involving mishandling of proofs during proof erasure
   (ats_trans4)
10. Fixing a bug involving mishandling negative long integers
11. Adding rarray (reversed array) implementation
12. Adding libc/pwd, which correspond to pwd.h
13. Adding libc/grp, which correspond to grp.h
14. Adding libc/termios, which corresponds to termios.h
15. Adding libc/curses, which corresponds to curses.h
16. Adding libc/utime, which corresponds to utime.h
17. Adding libc/sys/statvfs, which corresponds to sys/statvfs.h
18. Adding libc/ctype, which corresponds to ctype
19. Adding libc/DATS/stdio.dats
20. Modifying the types for malloc_ngc and free_ngc
21. Clearing up libc/pthread and libc/pthread_uplock
22. Implementing lib/pthread_upbarr
23. Incorporating [parcomb] into $ATSHOME/contrib
24. Adding libc/sys/resource, which corresponds to sys/resource.h
25. Adding [assertloc] macdef
26: Adding libc/sys/socket_in and libc/sys/socket_un
27: Adding libc/netdb
28. Adding libc/sys/sockaddr and libc/sys/sockopt
29: Adding prelude/unsafe!!!
30: Adding libats/ptrarr (* for arrays ending with a null ptr *)
</pre>

######

0.2.1

<pre>
ats-lang-anairiats-0.2.1:

As usual, this release contains many bug fixes. Also, many
new coding examples are added.

1. The support for 'atsopt --depgen' is revamped.
2. The support for boolean patterns is made available.
3. Most string-generating functions now return linear strings
   (strptr). This is a change that can have pervasive impact.
4. Some support for GMP/MPQ and GMP/MPF functions are added. See
   libc/SATS/gmp.sat for details.
5. Overhauling the ATS building system.

The following packages are available in ATS/libats:

fmatrix.sats
freelst.sats
funralist_nested.sats
genarrays.sats
hashtable_chain.sats
hashtable_linprb.sats
intinf.sats
iterint.sats
linbitvec.sats (newly added)
linmap_avltree.sats
linqueue_arr.sats
linqueue_lst.sats
linstack_arr.sats
parworkshop.sats
regexp.sats

The following libraries are available in ATS/contrib:

glib
cairo
pango
X11
GTK
GL (OpenGL, GLU and GLUT)
SDL
cURL (only a few functions are available)
Clutter (this one is mostly for experiment)
cblas (joint work with Shivkumar Chandrasekaran)
clapack (joint work with Shivkumar Chandrasekaran)

</pre>

ATS-0.2.1 bootstrapping times:
machine: wildwest@bu.edu
model name: Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
ats-geizella:  106.902u 21.036s 3:18.53 64.4% 0+0k 42568+441192io 0pf+0w
ats-anairiats: 109.940u 29.698s 3:39.33 63.6% 0+0k 57656+568048io 0pf+0w

######

0.2.0

<pre>
ats-lang-anairiats-0.2.0:

This is a milestone release. The original plan for OOP support in ATS has
been scratched completely, resulting in about 1500 lines of code being
removed. Instead, some support is added to interface ATS with external code
written in OOP-style.

The following libraries are now available for use:

contrib/glib
contrib/cairo
contrib/pango
contrib/X11
contrib/GTK
contrib/GL (OpenGL, GLU and GLUT)
contrib/SDL

Much more effort is needed to expand the APIs for these libraries. So far,
only the API for cairo is close to completion.
</pre>

######

0.1.9

<pre>
ats-lang-aniriats-0.1.9:

As usual, this release contains many bug fixes. The most notable
addition is a package named 'parworkshop' in $ATSHOME/libats, which
provides some rudimentary support for multicore programming (SMP).
Please see $ATSHOME/doc/EXAMPLE/MULTICORE for some examples.

(*
// this feature is retracted as it is difficult to support
1. overloaded symbols in a macro definition is re-loaded when the macro
   definition is expanded. This change can greatly facilitate the use of
   macros defined in $ATSHOME/prelude/macrodef.sats

2. macro expansion is now handled by [d1exp_tr] in [ats_trans2_dyn1.dats]
   (instead of being done by [d2exp_tr] in [ats_trans3_dyn2.dats])
*)

3. The semantics for symbol overloading is greatly simplified.
4. Adding libc/sched based on /usr/include/sched.x
5. Adding libats/parworkshop to support multicore programming.
6. The examples in doc/EXAMPLE/MULTICORE are modified to run again.
7. Adding support for lliunt and ullint.

......

</pre>

######

0.1.8

<pre>
ats-lang-aniriats-0.1.8:

As usual, this release contains many bug fixes.

Also, the following external package is added into ATS for supporting
programming with Xlib:

$ATSHOME/contrib/X11

Moreover, the following external packages in ATS have been significantly
extended:

$ATSHOME/contrib/GL
$ATSHOME/contrib/cairo
$ATSHOME/contrib/SDL
</pre>

######

0.1.7

<pre>
ats-lang-aniriats-0.1.7:

As usual, this release contains a large number of bug fixes. Also,
the following external packages have been made available for doing
graphics in ATS:

$ATSHOME/contrib/GL
$ATSHOME/contrib/cairo
$ATSHOME/contrib/SDL
</pre>

######

0.1.6

<pre>
ats-lang-aniriats-0.1.6:

As usual, this release contains a large number of bug fixes. Some of the
significant changes are listed as follows:

1. Support for OOP is under development. So far, typechecking is done.
2. Type error message reporting is made more informative. This is ongoing.
3. Adding $ATSHOME/ccomp/lib64 for storing libfiles for 64-bit machines.
4. The Makefile in $ATSHOME is re-designed by Likai Liu. It now allows
   ATS to be installed in a selected directory. Just issue the following
   command before calling 'make':

./configure --prefix=&lt;DESTDIR&gt;

   where &lt;DESTDIR&gt; is the directory for final installation. After 'make'
   is done, please call 'make install'.

</pre>

######

0.1.6-unstable
0.1.5
0.1.5-unstable
0.1.4
0.1.4-unstable
0.1.3
0.1.3-unstable
0.1.2
0.1.2-unstable
0.1.1
0.1.1-unstable
0.1.0
0.1.0-unstable
0.0.2
0.0.2-unstable
0.0.1
beta
alpha

###### version number usage #####

x.y.z -> x.y.z' : (z' = z + 1)
  mostly bug fixes; full backward compatibilities are expected.

x.y.z -> x.y'.0 : (y' = y + 1)
  mostly minor changes; backward compatibilities are expected in general.

x.y.z -> x'.0.0 : (x' = x + 1)
  a major change; some backward incompatibilities may appear.

###### end of [VERSION.txt] ######
