aboutsummaryrefslogtreecommitdiff
path: root/tests/core.sh
Commit message (Collapse)AuthorAgeFilesLines
* Allow implicitly converting between integer-like-typesMustafa Quraish2022-02-031-1/+1
| | | | This design should also be useful for structs down the road.
* Type checking of expressions / functions!Mustafa Quraish2022-02-021-58/+58
| | | | | | | | | | | | | | | | | This is a bit of a chonky commit, but it adds in the basics of checking the types of expressions / function calls / return types. There's still a lot of work to be done, including: (1) Adding new core types, and casting between allowed types automatically (2) Picking the corrent output type based on input types (for instance float+int == float) (3) We need much better error reporting, the error messages are really vague and unhelpful as-is (4) We also need to work to ensure that a function with a return type actually returns (5) Possible re-factoring to make stuff less hacky when we have more types / structs / arrays / etc.
* Add basic `defer` implementation.Mustafa Quraish2022-02-011-0/+189
We don't have any closures yet, so it's essentially the same as just moving the statement after the `defer` keyword to the end of the block/ right before returning from the function.