ATS may need a keywords-indexed reference

I read all docs hardly and think “Effective ATS Programming through
Examples” is potentially the most effective way to learn ATS, but It’s
still hard to find the meaning of uncommon symbols or keywords in current
documents when examples skip some explainations. After a while, I found
that a quick overview like Wikipedia’s ATS
https://en.wikipedia.org/wiki/ATS_(programming_language)#Features
helps me rookies a lot. There’s many people says ATS is too hard to learn,
I think it’s because current doc don’t provides an organzed overview and
reference. Please consider this documenting approach for offical doc.

Hello,

For predefined sorts and others, you may also look in the source:

Line 242 to line 283

And:

Line 96 to line 147/

There are some at other places…Le dimanche 8 novembre 2015 10:32:49 UTC+1, He-chien Tsai a écrit :

I read all docs hardly and think “Effective ATS Programming through
Examples” is potentially the most effective way to learn ATS, but It’s
still hard to find the meaning of uncommon symbols or keywords in current
documents when examples skip some explainations. After a while, I found
that a quick overview like Wikipedia’s ATS
https://en.wikipedia.org/wiki/ATS_(programming_language)#Features
helps me rookies a lot. There’s many people says ATS is too hard to learn,
I think it’s because current doc don’t provides an organzed overview and
reference. Please consider this documenting approach for offical doc.

Additionally, and as I needed it anyway for some personal use, here are
lists of lexical units, keywords and other stuffs, taken from two sources.
There are duplicates.

And for a fix about these lists: the “(*” comment start if missing (the
lexer starts to read a single parenthesis, tha’s why), “abst”, “absvt”, “t”
and “vt”, are not keywords (the lexer uses these prefix, that’s why they
were there). Also, I feel some @ vs 0 synonymous are missing.

And this: Create new page · githwxi/ATS-Postiats Wiki · GitHub Sun, Nov 8, 2015 at 9:37 AM, Brandon Barker brandon...@gmail.com wrote:

This is by no means complete, but it is the most comprehensive I now
of: https://github.com/githwxi/ATS-Postiats/wiki/keywords

On Sun, Nov 8, 2015 at 4:32 AM, He-chien Tsai depo...@gmail.com wrote:

I read all docs hardly and think “Effective ATS Programming through
Examples” is potentially the most effective way to learn ATS, but It’s still
hard to find the meaning of uncommon symbols or keywords in current
documents when examples skip some explainations. After a while, I found that
a quick overview like Wikipedia’s ATS helps me rookies a lot. There’s many
people says ATS is too hard to learn, I think it’s because current doc don’t
provides an organzed overview and reference. Please consider this
documenting approach for offical doc.


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.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at 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/48b61642-6797-48ba-a947-4751c5aebcfd%40googlegroups.com.


Brandon Barker
brandon...@gmail.com

Brandon Barker
brandon...@gmail.com

Hello,

For predefined sorts and others, you may also look in the source:

https://github.com/Hibou57/ATS-Postiats/blob/master/src/pats_staexp2.sats#L242
Line 242 to line 283

And:

https://github.com/Hibou57/ATS-Postiats/blob/master/src/pats_symbol.sats#L96
Line 96 to line 147/

There are some at other places…

Additionally, and as I needed it anyway for some personal use, here are
lists of lexical units, keywords and other stuffs, taken from two sources.
There are duplicates.

From pats_lexing.dats

Comment starts:
/*
//
////

Keywords:
abst
abst@ype
absviewt
absviewt@ype
absvt
absvt@ype
addr
addr@
case
case+
case-
fix
fix@
fold
fold@
for
for*
free
free@
lam
lam@
llam
llam@
prop
prop+
prop-
ref
ref@
t
t0ype (= t@ype)
t0ype+
t0ype-
t@ype
t@ype (= t0ype)
type
type+
type-
val
val+
val-
view
view+
view-
view@
viewt
viewt0ype (= viewt@ype)
viewt0ype+
viewt0ype-
viewt@ype
viewt@ype (= viewt0ype)
viewtype
viewtype+
viewtype-
vt
vt0ype (= vt@ype)
vt0ype+
vt0ype-
vt@ype
vt@ype (= vt0ype)
vtype
vtype+
vtype-
while
while*

From pats_lexing.sats

Keywords:
absview
absviewt@ype
absviewtype
addr@
and
as
assume
begin
case
case+
case-
classdec
dataprop
datasort
datatype
dataview
dataviewtype
do
dynload
else
end
exception
extern
fix
fix@
fn
fnx
fold@
for
for*
free@
fun
if
implement
implmnt
import
in
infix
infixl
infixr
lam
lam@
let
llam
local
macdef
macrodef
nonfix
of
op
overload
postfix
prcase
prefix
prfn
prfun
primplmnt
propdef
prval
prvar
rec
ref@
scase
sif for static if
sortdef
stacst
stadef
staload
static
symelim
symintr
then
tkindef
try
type
type+
type-
typedef
val
val+
val-
var
view@
viewdef
viewtypedef
when
where
while
while*
with

Keywords from DML, now rarely used:
withtype
withprop
withview
withviewtype

Suspended keywords:
stavar

Function effects tags (not real keywords):
ntm
exn
ref
wrt
all

Preprocessor-like (not keywords and invalid as identifiers):
#assert
#codegen2
#codegen3
#define
#elif
#elifdef
#elifndef
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#print
#require
#then
#undef

Special functions/values (not keywords and invalid as identifiers):
$
$arrpsz
$arrptrsize
$break
$continue
$d2ctype
$delay
$effmask
$extern
$extkind
$ldelay
$literal
$lst
$lst_t
$lst_vt
$myfilename
$myfunction
$mylocation
$raise
$rec
$rec_t
$rec_vt
$showtype
$solver_assert
$solver_verify
$tempenver
$tup
$tup_t
$tup_vt
$vcopyenv_v
$vcopyenv_vt

Punctuation-like:
{
|
}
!
#[
%(
'(
'[
'{
(
)
,
,(
-<
-<>

.


.<
.<>.
:
:<
;
<
<>
=/=>
=/=>>
=<
=<>
=>
=>>
>
>.
@
@(
@[
@{
[

]
(

Special (a dot followed by a decimal integer):
.[0-9]+

Others (lexical):
alnum
symbol
A[…]
A<…>
$alnum
#alnum
character
float
cdata
string
line comment
block comment
rest-of-file comment
errors
end-of-file

For now, the two books on programming in ATS have one-chunk version:

http://ats-lang.sourceforge.net/DOCUMENT/ATS2TUTORIAL/HTML/ATS2TUTORIAL-BOOK-onechunk.html
http://ats-lang.sourceforge.net/DOCUMENT/INT2PROGINATS/HTML/INT2PROGINATS-BOOK-onechunk.html

which you can use to search for keywords.On Sunday, November 8, 2015 at 4:32:49 AM UTC-5, He-chien Tsai wrote:

I read all docs hardly and think “Effective ATS Programming through
Examples” is potentially the most effective way to learn ATS, but It’s
still hard to find the meaning of uncommon symbols or keywords in current
documents when examples skip some explainations. After a while, I found
that a quick overview like Wikipedia’s ATS
https://en.wikipedia.org/wiki/ATS_(programming_language)#Features
helps me rookies a lot. There’s many people says ATS is too hard to learn,
I think it’s because current doc don’t provides an organzed overview and
reference. Please consider this documenting approach for offical doc.

This is by no means complete, but it is the most comprehensive I now
of: Create new page · githwxi/ATS-Postiats Wiki · GitHub Sun, Nov 8, 2015 at 4:32 AM, He-chien Tsai depo...@gmail.com wrote:

I read all docs hardly and think “Effective ATS Programming through
Examples” is potentially the most effective way to learn ATS, but It’s still
hard to find the meaning of uncommon symbols or keywords in current
documents when examples skip some explainations. After a while, I found that
a quick overview like Wikipedia’s ATS helps me rookies a lot. There’s many
people says ATS is too hard to learn, I think it’s because current doc don’t
provides an organzed overview and reference. Please consider this
documenting approach for offical doc.


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.
To post to this group, send email to ats-lan...@googlegroups.com.
Visit this group at 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/48b61642-6797-48ba-a947-4751c5aebcfd%40googlegroups.com.

Brandon Barker
brandon...@gmail.com