link directive

This commit is contained in:
Krzosa Karol
2022-10-09 14:00:41 +02:00
parent faec89beae
commit 0049b39e17
12 changed files with 42 additions and 14 deletions

View File

@@ -76,9 +76,7 @@ Dot :: (a: Vec3, b: Vec3): F32 ;; return a.x*b.x + a.y*b.y + a.z*b.z
- [x] Constant evaluation and constant folding - Folding and precomputing every expression that can be calculated at compile time. Which allows to check if a given constant expression is actually something that can be computed at compile time
- [x] Untyped types - Context dependent type assignment of constant expressions, this is a feature I really loved in Go, it makes constants work very well with a very strict type system and it makes errors like overflow of constants in C due to bad size specifier impossible
- [x] Infinite precision integers in constants
- [x] Resolution of all untyped types in the typechecking stage
- [x] Special case of booleans and their type propagation
- [x] Infinite precision integers in constants using big ints! No more overflows or underflows (at least at compile time).
- [x] Module system
- [x] Lazy evaluation of modules (unused code is not compiled or typechecked)
@@ -98,7 +96,11 @@ Dot :: (a: Vec3, b: Vec3): F32 ;; return a.x*b.x + a.y*b.y + a.z*b.z
- [ ] Casting might need a redesign not sure from '->' to 'cast'
- [x] Runtime reflection
- [x] Dumping info
- [x] Package of type and pointer which enables dynamic typing
- [x] Types are values holding type ids, this way we can do if TypeOf(value) == S64 ;; blah
- [x] Typesafe variadic arguments using []Any slice (no more var args!)
- [x] Any semantics that make it easy to use (automatic unpacking to pointer and type)
- [x] Optional type information dump
- [ ] Is the design of this correct? That's a lot of data.
- [ ] Builtin data structures
@@ -123,11 +125,14 @@ Dot :: (a: Vec3, b: Vec3): F32 ;; return a.x*b.x + a.y*b.y + a.z*b.z
- [x] Platforms
- [x] Conditional compilation
- [x] Windows
- [x] Fully working
- [x] Multimedia library
- [x] Linux (Only tested on ubuntu)
- [x] Paths
- [x] Reading files
- [x] Listing files
- [x] Virtual memory
- [ ] Multimedia library (maybe using SDL)
- [ ] Language constructs
- [x] Standard constructs like if, for loop etc.