1
0

Add some README

This commit is contained in:
Jeff 2024-11-29 19:30:08 -05:00
parent b976a37862
commit 9331ae1a40

View File

@ -3,22 +3,55 @@
Dust is a high-level interpreted programming language with static types that focuses on ease of use, Dust is a high-level interpreted programming language with static types that focuses on ease of use,
performance and correctness. performance and correctness.
## Features ## Feature Progress
- [X] Lexer
- [X] Compiler
- [X] VM
- [ ] Formatter
- CLI
- [X] Run source
- [X] Compile to chunk and show disassembly
- [ ] Tokenize using the lexer and show token list
- [ ] Format using the formatter and display the output
- [ ] Compile to and run from intermediate formats
- [ ] JSON
- [ ] Postcard
- Values - Values
- [x] no `null` or `undefined` - [X] No `null` or `undefined`
- [x] boolean - [X] Booleans
- [x] byte - [X] Bytes
- [x] character - [X] Characters
- [x] integer - [ ] Enums
- [x] float - [X] Integers
- [x] function - [X] Floats
- [x] list - [X] Functions
- [x] range - [X] Lists
- [x] string - [ ] Maps
- [X] Ranges
- [X] Strings
- [ ] Structs
- [ ] Tuples
- [ ] Runtime-efficient abstract values for lists and maps
- Types - Types
- [x] basic types: `bool`, `byte`, `char`, `int`, `float`, functions, lists, ranges, `str` - [X] Basic types for each kind of value
- [O] generalized types: `num`, `any` - [X] Generalized types: `num`, `any`
- [ ] `struct` types
- [ ] `enum` types
- [ ] Type arguments
- [ ] Type Checking
- [ ] Function returns
- [X] If/Else branches
- [ ] Instruction arguments
- Variables
- [X] Immutable by default
- [X] Block scope
- [X] Statically typed
- Functions
- [X] First-class value
- [X] Statically typed arguments and returns
- [X] Pure (does not "inherit" local variables - only arguments)
- [ ] Type arguments
## Implementation ## Implementation