diff options
Diffstat (limited to 'docs/index.md')
| -rw-r--r-- | docs/index.md | 51 |
1 files changed, 4 insertions, 47 deletions
diff --git a/docs/index.md b/docs/index.md index 72a679c..fda9b2c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,50 +1,7 @@ -# Kevins Programming Language (KPL) Specification +# Kevins Programming Language (KPL) -### Version 0.0.0 +Typed Jitted Asynchronous ---- - -## Overview - -KPL is a statically typed and just in time compiled scripting language. The goal is to be something lower level then JavaScript/Python/Ruby/Lua but on a higher level then Go. - -This specification not only describes the language syntax but it's implementation because syntax reflects the implementation and vice versa. - -#### Language Design Goals - -* Single invocation, just run the code - -* No operator precedence - -* No default variables - -* Type inference +Language Specification Version 0.0.0 -* Automatically use threads - -* All code can be run asynchronously, no built in asynchronous callback functions - -```text -// Do Soemthing -readFile("filename", callback(data)) -// Continue while readFile is running -// --- langauge equivalent -// Do Soemthing -([name; callback] - `use "file" [open; read] - callback `sync String $ read `sync open `sync name -) `async ("filename"; callback) -// Continue while readFile is running -``` - -* C interoperability - -* Minimal dependencies, most X64 Linux distros shouldn't need to install anything to compile and run the source - -* Lightweight, can run a VPS with 1 CPU Core and 1 Gigabyte of RAM - -## Contents - -1. ##### [Language](./language/index.md) -2. ##### [Type System](./type_system/index.md) -3. ##### [Application](./application/index.md) +--- |
