summaryrefslogtreecommitdiff
path: root/spec/1 - language.md
diff options
context:
space:
mode:
authorKyle Gunger <kgunger12@gmail.com>2021-08-09 14:27:15 -0400
committerKyle Gunger <kgunger12@gmail.com>2021-08-09 14:27:15 -0400
commit11f9c56ae3861e32ac45785e9f30ed5f4c19ea32 (patch)
tree2fc86ead45b23ac83debbfc7c7972dd1629672e6 /spec/1 - language.md
parentc25fe2e5a6a2fcb4bbdef858b4d024fd6559cafa (diff)
Fill out some of chapter 2
Diffstat (limited to 'spec/1 - language.md')
-rw-r--r--spec/1 - language.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/spec/1 - language.md b/spec/1 - language.md
index cb03215..3e7aaa4 100644
--- a/spec/1 - language.md
+++ b/spec/1 - language.md
@@ -18,7 +18,7 @@ TNSL files contain the .tnsl extension and contain one or more of the following:
- Method and interface blocks
- Constant, variable, and type definitions
-TNSL files may only contain the following enclosed in function blocks:
+TNSL files may only contain the following enclosed in function or method blocks:
- Re-assignment of variables
- Control flow blocks
- Use of variables in definition of variables
@@ -113,6 +113,8 @@ TNSL functions may have their call stack modified by the `raw` and/or `inline` k
The use of the `raw` keyword has several effects: the function will have no generated assembly preamble, the function will allow `raw return` statements, the function will not be optimized, and the function will allow `asm` statements. Any function may be labeled `raw`, even `main` and anonymous functions.
+Functions *may* be overloaded (that is, two functions may share names but have differing input type lists). Overloaded functions *may not* share the same inputs and differing outputs, but *may* have both differing inputs and differing outputs.
+
Examples:
# simple function with no inputs or outputs named "my_function"