Mark it as complete
This commit is contained in:
18
README.md
18
README.md
@@ -1,8 +1,18 @@
|
||||
# The Core Language
|
||||
|
||||
A statically typed systems programming language that **you shouldn't use**, I'm NOT joking.
|
||||
A statically typed systems programming language that **you shouldn't use**.
|
||||
I mark it as complete, it's pretty buggy but I had a lot of fun making it.
|
||||
Learned a lot about language design and implementation, very worthwhile experience.
|
||||
If you are intersted in programming languages, checkout bottom of the readme (there are useful resources there!).
|
||||
The language is usable,
|
||||
it lacks a macro system/generics for full convenience. It can be combined with C preprocessor
|
||||
or python but where is fun in that?
|
||||
Generics seem easy but I wanted something more powerful with compile time tree rewriting capabilities
|
||||
but thats complicated, I dont have good design for that. :(
|
||||
|
||||
|
||||
The basic premise of the language is simplicity and debuggability,
|
||||
reinforcing already useful ideas from C,C++,Go,Odin,Jai and shaving off round edges. In the future it might become a single/two file, easily embeddable library language with optional fixed-size allocation scheme and stb libraries style design.
|
||||
reinforcing already useful ideas from C,C++,Go,Odin,Jai and shaving off round edges.
|
||||
|
||||
## Simple drawing to window example
|
||||
|
||||
@@ -24,11 +34,11 @@ main :: (): int
|
||||
|
||||
* **Debuggers**(Visual Studio, Remedybg) **fully work** with the language, you can step through the program
|
||||
* **No external dependencies**, you just setup clang and call build.bat
|
||||
* **No heap allocation** during lifetime of the compiler
|
||||
* Compiles to C code, in the future it will also compile to bytecode and hopefully a raw x64 executable
|
||||
* Very strict Go like type system with untyped literals
|
||||
* **Order independent declarations**
|
||||
* Module system, user namespaces the library, only the used library code gets compiled
|
||||
* Module system
|
||||
* Tree shaking (unused code is not compiled)
|
||||
* **Windows and Linux**(only tested on Ubuntu) support
|
||||
* Conditional compilation
|
||||
* Runtime type reflection
|
||||
|
||||
Reference in New Issue
Block a user