-
Notifications
You must be signed in to change notification settings - Fork 54
/
README
61 lines (54 loc) · 2.33 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
######
#
# Project Title: ATS/Postiats
#
######
#
# The official website for ATS is:
#
# http://www.ats-lang.org
#
# ATS-Postiats is hosted at github:
#
# https://github.com/githwxi/ATS-Postiats
#
######
#
# Project Description:
#
######
ATS/Postiats (or ATS2/Postiats) is the name for the current compiler
of ATS2, the successor of ATS (or ATS1).
The actual implementation of ATS/Postiats started in the March of
2011, and it took about two and one-half years to reach the first
release of ATS2 at the beginning of September, 2013. As of now, the
code base for the compiler of ATS2 consists of 180,000+ lines of code
(LOC), which are nearly all written in ATS1.
When compared to ATS1, the single most important new feature is the
template system of ATS2. This is a feature that could potentially change
the way a programmer writes his or her code. One can certainly feel that
this is a very powerful feature (a bit like feeling that OOP is a very
powerful feature). However, how this feature should be properly and
effectively used in practice needs a lot more investigation.
Another thing about ATS2 is that it is a lot leaner than ATS. One can make
good use of ATS2 without any need for compiled library (libatslib.a). Also,
GC support in ATS1 is now removed; if needed, third-party GC (e.g., Bohem-GC)
can be readily employed.
######
#
# Licenses for ATS/Postiats
#
######
* The Compiler (ATS/Postiats):
[GPLv3](https://github.com/githwxi/ATS-Postiats/blob/master/COPYING-gpl-3.0.txt)
* The ATS source for the Libraries (ATSLIB/{prelude,libats}):
[LGPLv3](https://github.com/githwxi/ATS-Postiats/blob/master/COPYING-lgpl-3.0.txt).
* As a special exception, any C code generated by the Compiler based on the Libraries
source is not considered by default to be licensed under GPLv3/LGPLv3. If you use such
C code together with other code to create an executable, then the C code by itself does
not cause the executable to be covered by GPLv3/LGPLv3. However, there may be reasons
unrelated to using ATS that can result in the executable being covered by GPLv3/LGPLv3.
* The contributed portion (ATS/Postiats/contrib) is released under the MIT license.
* There is also a release under the MIT license for the C header files of the Libraries,
which one can, for instance, freely insert into C code generated from ATS source code.
###### end of [README] ######