summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2012-08-09 00:09:51 -0400
committerOri Bernstein <ori@eigenstate.org>2012-08-09 00:09:51 -0400
commit575cd5a2034d9bfe97fc2275df76631383fa0898 (patch)
treece555e3bf311cf07ebe88628ce448bd5c0e29677 /doc
parent9367a1cb099e0968ccec1e77907a07984cbdc424 (diff)
downloadmc-575cd5a2034d9bfe97fc2275df76631383fa0898.tar.gz
More docs.
Diffstat (limited to 'doc')
-rw-r--r--doc/lang.txt22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/lang.txt b/doc/lang.txt
index 7f7c59f..10be239 100644
--- a/doc/lang.txt
+++ b/doc/lang.txt
@@ -463,6 +463,9 @@ TABLE OF CONTENTS:
operator. 'e' will stand in for any expression. Unless marked
otherwise, expressions are left associative.
+ BUG: There are too many precedence levels.
+
+
Precedence 0: (*ok, not really operators)
(,,,) Tuple Construction
(e) Grouping
@@ -548,8 +551,27 @@ TABLE OF CONTENTS:
4. TYPE SYSTEM:
+ The myrddin type system is a system similar to the Hindley Milner
+ system, however, types are not implicitly generalized. Instead, type
+ schemes (type parameters, in Myrddin lingo) must be explicitly provided
+ in the declarations. For purposes of brevity, instead of specifying type
+ rules for every operator, we group operators which behave identically
+ from the type system perspective into a small set of classes
+
+ Binop:
+ + -
+
5. TOOLCHAIN:
+ The toolchain used is inspired by the Plan 9 toolchain in name. There
+ is currently one compiler for x64, called '6m'. This compiler outputs
+ standard elf .o files, and supports these options:
+
+ 6m [-h] [-o outfile] [-d[dbgopts]] inputs
+ -I path Add 'path' to use search path
+ -o Output to outfile
+
+
5. EXAMPLES:
6. STYLE GUIDE: