Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.
Sign upAdded optional type system - complain if proven wrong #150
Conversation
bvssvni
added some commits
May 11, 2016
This comment has been minimized.
This comment has been minimized.
|
This is just very basic type checking, but merging because it seem to work reasonably well and the more advanced stuff needs tweaking over longer time. |
bvssvni
merged commit 9516884
into
PistonDevelopers:master
May 12, 2016
bvssvni
deleted the
bvssvni:types
branch
May 12, 2016
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
bvssvni commentedMay 11, 2016
•
edited
See #80
This PR adds an optional type system using a similar, but different syntax than Rust.
bool(boolean)f64(number)vec4(4D vector)[]/[T](array){}(object)opt[T](option)res[T](result)any(any type, exceptvoid)void(no value type)Example
Any
An
anytype works with any other type exceptvoid.Non-guarantee of argument type inside function body
Consider a simple example like this:
It is not guaranteed that
ahas the typeboolinside the function body. This is because the function can be called with an argument that is inferred toanyat type checking.Performance
The runtime performance should not be affected significantly, but the loading will take a little extra time.