Updated README
This commit is contained in:
parent
f1875736e3
commit
c4dc8dc3a2
50
README.md
50
README.md
|
@ -62,36 +62,32 @@ like an import system, exception handling, a package manager, etc.
|
|||
### TODO List
|
||||
|
||||
In no particular order, here's a list of stuff that's done/to do (might be incomplete/out of date):
|
||||
|
||||
Toolchain:
|
||||
|
||||
- Tokenizer (with dynamic symbol table) ✅
|
||||
- Parser (with support for custom operators, even builtins) ✅
|
||||
- Compiler ✅
|
||||
- VM ✅
|
||||
- Bytecode (de-)serializer ✅
|
||||
- Static code debugger ✅
|
||||
- Runtime debugger/inspection tool ✅
|
||||
|
||||
Type system:
|
||||
|
||||
- Custom types
|
||||
- User-defined types
|
||||
- Function calls ✅
|
||||
- Control flow (if-then-else, switch) ✅
|
||||
- Looping (while) ✅
|
||||
- Iteration (foreach)
|
||||
- Type conversions
|
||||
- Type casting
|
||||
- Intrinsics ✅
|
||||
- Type unions ✅
|
||||
- Generics ✅
|
||||
- Functions ✅
|
||||
- Closures ✅
|
||||
|
||||
Misc:
|
||||
|
||||
- Closures
|
||||
- Managed references
|
||||
- Unmanaged references
|
||||
- Named scopes/blocks ✅
|
||||
- Inheritance
|
||||
- Interfaces
|
||||
- Indexing operator
|
||||
- Generics ✅
|
||||
- Automatic types ✅
|
||||
- Iterators/Generators
|
||||
- Coroutines
|
||||
- Pragmas ✅
|
||||
- Attribute resolution ✅
|
||||
- UFCS (Universal Function Call Syntax)
|
||||
- Import system (with namespaces and visibility control) ✅
|
||||
|
||||
|
||||
__Note__: Since peon isn't complete yet, the toolchain (lexer, parser, compiler and VM) may change, but since they
|
||||
currently work and run, they're marked as "complete" even if technically speaking they aren't. They're functional, though
|
||||
- Attribute resolution ✅
|
||||
- Universal Function Call Syntax
|
||||
- Import system ✅
|
||||
- Exceptions
|
||||
|
||||
|
||||
## Feature wishlist
|
||||
|
@ -103,8 +99,6 @@ have been implemented alredady):
|
|||
- C/C++ backend
|
||||
- Nim backend
|
||||
- Structured concurrency (must-have!)
|
||||
- Capability-based programming (i.e. functions are passed objects to act on the real world. This is just a maybe)
|
||||
- Parametric Polymorphism ✅
|
||||
- Simple OOP (with multiple dispatch!)
|
||||
- RTTI, with methods that dispatch at runtime based on the true type of a value
|
||||
- Limited compile-time evaluation (embed the Peon VM in the C/C++/Nim backend and use that to execute peon code at compile time)
|
||||
|
|
Loading…
Reference in New Issue