summaryrefslogtreecommitdiffstats
path: root/docs/language-reference/01-introduction.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/language-reference/01-introduction.md')
-rw-r--r--docs/language-reference/01-introduction.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/docs/language-reference/01-introduction.md b/docs/language-reference/01-introduction.md
new file mode 100644
index 000000000..fe6063984
--- /dev/null
+++ b/docs/language-reference/01-introduction.md
@@ -0,0 +1,35 @@
+> Note: This document is a work in progress. It is both incomplete and, in many cases, inaccurate.
+
+Introduction
+============
+
+Slang is a programming language primarily designed for use in *shader programming*, by which we mean performance oriented GPU programming for real-time graphics.
+
+Overview
+--------
+
+This document aims to provide a detailed reference for the Slang language and its supported constructs.
+
+The Slang compiler *implementation* may deviate from the language as documented here, in a few key ways:
+
+* The implementation is necessarily imperfect, and can have bugs
+
+* The implementation may not fully support constructs documented here, or their capabilities may not be as complete as what is documented
+
+* The implementation may support certain constructs that are experimental, deprecated, or are otherwise intentionally undocumented
+
+Where possible, this document will call out known deviations between the language as defined here and the implementation in the compiler.
+
+Terminology
+-----------
+
+> Note: This section is not yet complete.
+>
+> This section should detail how the document uses terms like "may" and "must," if we intend for those to be used in a manner consistent with [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).
+
+Typographical Conventions
+-------------------------
+
+> Note: This section is not yet complete.
+>
+> This section should clarify how the document displays code fragments, grammar productions, etc.