Hi,
I am glad to announce the release of ATS2-0.2.3.
This is the 26th release of ATS2, the successor of the
ATS (currently referred to as ATS1) programming language. The
compiler for ATS2 is given the name ATS/Positats, ATS2/Postiats
or simply Postiats.
The official website for ATS is:
ATS-Postiats is hosted at github:
Major releases of ATS2 are available at:
Major releases of external packages for ATS2 are available at:
A google-group for discussing ATS and related issues is at:
https://groups.google.com/forum/?fromgroups#!forum/ats-lang-users
The following packages are included in this release:
ATS2-Postiats-0.2.3.tgz # requiring libgmp
ATS2-Postiats-0.2.3-intmin.tgz # require no libgmp
ATS2-Postiats-contrib-0.2.3.tgz # contributed packages
ATS2-Postiats-include-0.2.3.tgz # CATS-files w/ BSD-like license
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.2.2).
Cheers,
–Hongwei Xi
Computer Science Department
Boston University
111 Cummington Street
Boston, MA 02215
Email: hw…@cs.bu.edu
Url: http://www.cs.bu.edu/~hwxi
Tel: +1 617 358 2511 (office)
Fax: +1 617 353 6457 (department)
beg of CHANGE-ats2
- Enforcing that the definition of each declared function be
lam-abstract. For instanct, the following code results in an
error during compilation:
fun fact = fix f(n:int): int => if n > 0 then nf(n-1) else 1
Of course, one can always have:
val fact = fix f(n:int): int => if n > 0 then nf(n-1) else 1
(*
//
// HX-2015-09-15: This is re-implemented:
// - Supporting the use of locally defined templates:
local fun foo(): int = 0 in fun{} foo2() = foo() + 1 end
local fun{} foo(): int = 0 in fun{} foo2() = foo() + 1 end
*) - Changing some names:
_ATS_CCOMP_HEADER_NONE -> ATS_CCOMP_HEADER_NONE
_ATS_CCOMP_PRELUDE_NONE -> ATS_CCOMP_PRELUDE_NONE
_ATS_CCOMP_PRELUDE_USER -> ATS_CCOMP_PRELUDE_USER
_ATS_CCOMP_PRELUDE_USER2 -> ATS_CCOMP_PRELUDE_USER2
_ATS_CCOMP_RUNTIME_NONE -> ATS_CCOMP_RUNTIME_NONE
_ATS_CCOMP_EXCEPTION_NONE -> ATS_CCOMP_EXCEPTION_NONE
_ATS_CCOMP_RUNTIME_TRYWITH_NONE -> ATS_CCOMP_RUNTIME_TRYWITH_NONE - Moving libatsynmark to utils/libatsynmark
- Fixing an issue that causes crash due to compiling atstyvar_type.
See hitype_tyvar_test in [pats_ccomp_hitype] for more information. - Changing the keyword ‘require’ to ‘#require’ (for atspkgreloc)
- Adding into ATSPRE string/string_forall and string/string_iforall
- Reorganizing:
moving the fprint-functions in prelude into prelude/fprintf.cats - Fixing a bug in CATS-parsemit (that affects parsing #if(0) … #endif)
end of CHANGE-ats2
Monitor Your Dynamic Infrastructure at Any Scale With Datadog!
Get real-time metrics from all of your servers, apps and tools
in one place.
SourceForge users - Click here to start your Free Trial of Datadog now!
http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140
ats-lang-users mailing list
ats-lan...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ats-lang-users