We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
The following are items which are planned to be done for the 0.14 release:
Every any value should be reference counted to allow for more complex compile-time optimizations to be valid, such as pattern optimizations below.
any
This can eventually be opted-out of through Gradual typing.
Iterator
-O function-body=true
This allows scripts of rune to be run directly without having to wrap the entrypoint in an fn main() { <body> }.
fn main() { <body> }
If the compiler can prove that an irrefutable pattern like this is used:
let (b, a) = (a, b);
This will not generate any instructions, instead the assigned slots for the names a and b will simply be swapped.
a
b
Note that because of the new memory model in git, this will be supported through arbitrarily complex patterns.
let a = 42; let b = 84; let object = #{ a, b }; let (a, #{ a: b, b: c }) = (10, object);
This could essentially be translated to:
let a = 10; let b = 42; let c = 84; let object = #{ a: b, b: c };
The text was updated successfully, but these errors were encountered:
No branches or pull requests
The following are items which are planned to be done for the 0.14 release:
Change execution model
Every
any
value should be reference counted to allow for more complex compile-time optimizations to be valid, such as pattern optimizations below.This can eventually be opted-out of through Gradual typing.
Support traits
Iterator
into a trait implementation rather than the hack it is today. First iteration at implementing traits #774Direct arguments and
-O function-body=true
-O function-body=true
#777This allows scripts of rune to be run directly without having to wrap the entrypoint in an
fn main() { <body> }
.Implement basic pattern optimizations
If the compiler can prove that an irrefutable pattern like this is used:
This will not generate any instructions, instead the assigned slots for the names
a
andb
will simply be swapped.Note that because of the new memory model in git, this will be supported through arbitrarily complex patterns.
This could essentially be translated to:
Other
The text was updated successfully, but these errors were encountered: