summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md8
-rw-r--r--libtnsl/src/alg/alg.tnsl20
-rw-r--r--libtnsl/src/alg/math/math.tnsl20
-rw-r--r--libtnsl/src/algorithm/alg.tnsl0
-rw-r--r--libtnsl/src/algorithm/math/math.tnsl0
-rw-r--r--libtnsl/src/bootstrap.tnsl31
-rw-r--r--libtnsl/src/box/box.tnsl34
-rw-r--r--libtnsl/src/box/iterator.tnsl40
-rw-r--r--libtnsl/src/box/map.tnsl20
-rw-r--r--libtnsl/src/box/string.tnsl20
-rw-r--r--libtnsl/src/box/tree.tnsl20
-rw-r--r--libtnsl/src/box/vector.tnsl20
-rw-r--r--libtnsl/src/io/block.tnsl20
-rw-r--r--libtnsl/src/io/io.tnsl33
-rw-r--r--libtnsl/src/libtnsl.tnsl31
-rw-r--r--libtnsl/src/reflect/reflect.tnsl27
-rw-r--r--libtnsl/src/time/time.tnsl27
-rw-r--r--spec/1 - language.md73
-rw-r--r--spec/2 - features.md17
-rw-r--r--spec/3 - abi.md17
-rw-r--r--spec/4 - fip.md17
-rw-r--r--spec/README.md59
-rw-r--r--spec/index.md1
23 files changed, 524 insertions, 31 deletions
diff --git a/README.md b/README.md
index fee206f..7c3bd30 100644
--- a/README.md
+++ b/README.md
@@ -26,11 +26,11 @@ The standard TNSL compiler suite. Contains a universal front end for producing
- arm64
- risc-v
-### Build status
+### Status
- Specification: fail
- libtnsl: fail
- tnslc: fail
+ Specification: incomplete
+ libtnsl: incomplete
+ tnslc: incomplete
### Credits
diff --git a/libtnsl/src/alg/alg.tnsl b/libtnsl/src/alg/alg.tnsl
new file mode 100644
index 0000000..2033d27
--- /dev/null
+++ b/libtnsl/src/alg/alg.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/alg/math/math.tnsl b/libtnsl/src/alg/math/math.tnsl
new file mode 100644
index 0000000..2033d27
--- /dev/null
+++ b/libtnsl/src/alg/math/math.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/algorithm/alg.tnsl b/libtnsl/src/algorithm/alg.tnsl
deleted file mode 100644
index e69de29..0000000
--- a/libtnsl/src/algorithm/alg.tnsl
+++ /dev/null
diff --git a/libtnsl/src/algorithm/math/math.tnsl b/libtnsl/src/algorithm/math/math.tnsl
deleted file mode 100644
index e69de29..0000000
--- a/libtnsl/src/algorithm/math/math.tnsl
+++ /dev/null
diff --git a/libtnsl/src/bootstrap.tnsl b/libtnsl/src/bootstrap.tnsl
index 01ebf56..d3b935e 100644
--- a/libtnsl/src/bootstrap.tnsl
+++ b/libtnsl/src/bootstrap.tnsl
@@ -1,17 +1,22 @@
/##
- Copyright 2020 Kyle Gunger
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
#/
/#
diff --git a/libtnsl/src/box/box.tnsl b/libtnsl/src/box/box.tnsl
index e69de29..8530a99 100644
--- a/libtnsl/src/box/box.tnsl
+++ b/libtnsl/src/box/box.tnsl
@@ -0,0 +1,34 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+/##
+ module tnsl.box
+ Containers and data management classes
+
+#; export module box
+ /: import
+ "iterator.tnsl"
+ "map.tnsl"
+ "string.tnsl"
+ "tree.tnsl"
+ "vector.tnsl"
+ :/
+;/ \ No newline at end of file
diff --git a/libtnsl/src/box/iterator.tnsl b/libtnsl/src/box/iterator.tnsl
new file mode 100644
index 0000000..9fb3d6d
--- /dev/null
+++ b/libtnsl/src/box/iterator.tnsl
@@ -0,0 +1,40 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+# Interface for moving through a list
+/; interface ForwardsIterator (type T)
+
+ # Advance to the next element in the list
+ /; next [bool]
+ ;/
+
+ # Get the current element in the list
+ /; current [T]
+ ;/
+;/
+
+# Interface for moving through a list forwards or backwards
+/; interface TwoWayIterator (type T) extends ForwardsIterator(T)
+
+ # Move to the previous element in the list
+ /; prev [bool]
+ ;/
+;/ \ No newline at end of file
diff --git a/libtnsl/src/box/map.tnsl b/libtnsl/src/box/map.tnsl
index e69de29..2033d27 100644
--- a/libtnsl/src/box/map.tnsl
+++ b/libtnsl/src/box/map.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/box/string.tnsl b/libtnsl/src/box/string.tnsl
index e69de29..2033d27 100644
--- a/libtnsl/src/box/string.tnsl
+++ b/libtnsl/src/box/string.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/box/tree.tnsl b/libtnsl/src/box/tree.tnsl
index e69de29..2033d27 100644
--- a/libtnsl/src/box/tree.tnsl
+++ b/libtnsl/src/box/tree.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/box/vector.tnsl b/libtnsl/src/box/vector.tnsl
index e69de29..2033d27 100644
--- a/libtnsl/src/box/vector.tnsl
+++ b/libtnsl/src/box/vector.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/io/block.tnsl b/libtnsl/src/io/block.tnsl
index e69de29..2033d27 100644
--- a/libtnsl/src/io/block.tnsl
+++ b/libtnsl/src/io/block.tnsl
@@ -0,0 +1,20 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/ \ No newline at end of file
diff --git a/libtnsl/src/io/io.tnsl b/libtnsl/src/io/io.tnsl
index e69de29..19d7b9f 100644
--- a/libtnsl/src/io/io.tnsl
+++ b/libtnsl/src/io/io.tnsl
@@ -0,0 +1,33 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+/##
+ module tnsl.io
+ Data management for input and output via blocks and streams, memory tools such as alloc and delete
+
+#; export module io
+ /: import
+ "block.tnsl"
+ "stream.tnsl"
+ "file.tnsl"
+ "std.tnsl"
+ :/
+;/ \ No newline at end of file
diff --git a/libtnsl/src/libtnsl.tnsl b/libtnsl/src/libtnsl.tnsl
index a684317..b6e9596 100644
--- a/libtnsl/src/libtnsl.tnsl
+++ b/libtnsl/src/libtnsl.tnsl
@@ -1,17 +1,22 @@
/##
- Copyright 2020 Kyle Gunger
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
#/
/;export module tnsl
diff --git a/libtnsl/src/reflect/reflect.tnsl b/libtnsl/src/reflect/reflect.tnsl
index e69de29..8037f05 100644
--- a/libtnsl/src/reflect/reflect.tnsl
+++ b/libtnsl/src/reflect/reflect.tnsl
@@ -0,0 +1,27 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+/##
+ module tnsl.reflect
+ Type and method resolution, reflection and other required methods such as is
+
+#; export module reflect
+;/ \ No newline at end of file
diff --git a/libtnsl/src/time/time.tnsl b/libtnsl/src/time/time.tnsl
index e69de29..4966131 100644
--- a/libtnsl/src/time/time.tnsl
+++ b/libtnsl/src/time/time.tnsl
@@ -0,0 +1,27 @@
+/##
+ Copyright 2021 Kyle Gunger
+
+ Dual licenced under the CDDL 1.0 and BSD 3-Clause licences.
+
+ This file may only be used in accordance with one of the two
+ licences. You should have recieved a copy of each licence with
+ the source code. In the event that you did not recieve a copy
+ of the licences, they may be found at the following URLs:
+
+ CDDL 1.0:
+ https://opensource.org/licenses/CDDL-1.0
+
+ BSD 3-Clause:
+ https://opensource.org/licenses/BSD-3-Clause
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED
+#/
+
+/##
+ module tnsl.time
+ Functionality for conversion, parsing, printing, and measuring of time
+
+#; export module time
+;/ \ No newline at end of file
diff --git a/spec/1 - language.md b/spec/1 - language.md
new file mode 100644
index 0000000..50ccf68
--- /dev/null
+++ b/spec/1 - language.md
@@ -0,0 +1,73 @@
+# The Language
+
+## Section 1 - Files
+
+### Folder Structure
+
+TNSL project structure has a root source folder with TNSL files contained within the folder and sub-folders. There is no strictly enforced system, but good practice is to place code sub-modules in sub-folders, and name the module entry point file the same name as its enclosing folder.
+
+The main file to compile is known as the root file, which generally resides in the root source folder. This file will contain either a main method, or the pre-processor statement `rootfile` to denote the root of a library. A main file may contain both.
+
+### TNSL Files
+
+
+
+## Section 2 - Blocks
+
+### TNSL Block Notation
+
+### Modules
+
+### Functions
+
+### Control Flow Blocks
+
+### Anonymous Blocks
+
+## Section 3 - Statements
+
+### TNSL Statement Notation
+
+### Variable Declaration
+
+### Assignment
+
+### Special Statements
+
+## Section 4 - Types
+
+### Built-in Types
+
+### The Void Type
+
+### Defining Types
+
+### Interfaces
+
+### Type Levels
+
+## Section 5 - Operators
+
+### Operator Presedence
+
+## Section 6 - `raw` and `asm`
+
+### The `raw` Keyword
+
+### The `asm` Keyword
+
+### Credits
+
+ Copyright 2021 Kyle Gunger
+
+ This file is licenced under the CDDL 1.0 (the Licence)
+ and may only be used in accordance with the Licence.
+ You should have recieved a copy of the Licence with this
+ software/source code. If you did not, a copy can be found
+ at the following URL:
+
+ https://opensource.org/licenses/CDDL-1.0
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/2 - features.md b/spec/2 - features.md
new file mode 100644
index 0000000..c5432de
--- /dev/null
+++ b/spec/2 - features.md
@@ -0,0 +1,17 @@
+# Related Features
+
+### Credits
+
+ Copyright 2021 Kyle Gunger
+
+ This file is licenced under the CDDL 1.0 (the Licence)
+ and may only be used in accordance with the Licence.
+ You should have recieved a copy of the Licence with this
+ software/source code. If you did not, a copy can be found
+ at the following URL:
+
+ https://opensource.org/licenses/CDDL-1.0
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/3 - abi.md b/spec/3 - abi.md
new file mode 100644
index 0000000..f586464
--- /dev/null
+++ b/spec/3 - abi.md
@@ -0,0 +1,17 @@
+# The TNSL Calling ABI
+
+### Credits
+
+ Copyright 2021 Kyle Gunger
+
+ This file is licenced under the CDDL 1.0 (the Licence)
+ and may only be used in accordance with the Licence.
+ You should have recieved a copy of the Licence with this
+ software/source code. If you did not, a copy can be found
+ at the following URL:
+
+ https://opensource.org/licenses/CDDL-1.0
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/4 - fip.md b/spec/4 - fip.md
new file mode 100644
index 0000000..c1e9954
--- /dev/null
+++ b/spec/4 - fip.md
@@ -0,0 +1,17 @@
+# Features in Place
+
+### Credits
+
+ Copyright 2021 Kyle Gunger
+
+ This file is licenced under the CDDL 1.0 (the Licence)
+ and may only be used in accordance with the Licence.
+ You should have recieved a copy of the Licence with this
+ software/source code. If you did not, a copy can be found
+ at the following URL:
+
+ https://opensource.org/licenses/CDDL-1.0
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/README.md b/spec/README.md
new file mode 100644
index 0000000..6b788cc
--- /dev/null
+++ b/spec/README.md
@@ -0,0 +1,59 @@
+Version 0.0.1
+# The TNSL Language Specification
+
+## Forward
+
+As of writing this forward, TNSL is not even a language yet. Right now, it's mostly just a stupid idea that I've devoted too much brain-space to, and I'm not confident will ever take off. The hard-core C folk probably will hate it, as well as the new-fangled rust/golangers with all their type safty.
+
+I'm trying not to think too hard about that.
+
+Right now, TNSL isn't a language. But it *could* be. And, really, I think it's a cool challenge to try to pack high-level features into a low-level environment. I hope you find it interesting as well.
+
+-Kyle
+
+## Chapter Index
+
+1. The Language
+
+ - Files
+ - Blocks
+ - Statements
+ - Types
+ - Operators
+ - `raw` and `asm`
+
+2. Related features
+
+ - Style guide
+ - Compiler Options
+ - The Pre-Processor
+ - Included Tools
+
+3. The TNSL Calling ABI
+
+ - Differences from C
+ - Link tables
+ - Exporting C-like Functions
+ - Types and Arrays in Memory
+
+4. Features in Position
+
+ - Bare Metal
+ - `libtnsl` as it relates to Types
+ - Cross Calling to C
+
+### Credits
+
+ Copyright 2021 Kyle Gunger
+
+ This file is licenced under the CDDL 1.0 (the Licence)
+ and may only be used in accordance with the Licence.
+ You should have recieved a copy of the Licence with this
+ software/source code. If you did not, a copy can be found
+ at the following URL:
+
+ https://opensource.org/licenses/CDDL-1.0
+
+ THIS SOFTWARE/SOURCE CODE IS PROVIDED "AS IS" WITH NO
+ WARRENTY, GUARANTEE, OR CLAIM OF FITNESS FOR ANY PURPOSE
+ EXPRESS OR IMPLIED \ No newline at end of file
diff --git a/spec/index.md b/spec/index.md
deleted file mode 100644
index b67bffc..0000000
--- a/spec/index.md
+++ /dev/null
@@ -1 +0,0 @@
-# tnsl-lang specification