Add more language highlights

This commit is contained in:
2020-08-30 22:10:39 +03:00
parent 872034807d
commit 45d4f40343

View File

@@ -768,6 +768,8 @@ Incapsulation at its finest!
### More Highlights ### More Highlights
Some more highlights of the language's features:
* SIMD vectors and matrices built-in with literals. * SIMD vectors and matrices built-in with literals.
It looks like this: It looks like this:
@@ -861,6 +863,39 @@ Incapsulation at its finest!
end end
``` ```
* `Any` real type implies a variant of all possible types.
In practice, it is often constrained by an imaginary type to reduce the number of contained options and define behaviour.
For example:
```text
trait Logger
decl log()
end
class Processor
# Stores a variant of all possible
# `Logger` implementations.
let logger : Any~Logger
def process()
# This is still any logger
logger : Any~Logger
# Thanks to its imaginary type,
# can call the declared method
logger.log()
end
end
struct MyLogger
derive Logger
impl log()
# Some implementation
end
end
end
```
---- ----
I could continue digging into Onyx features and examples, but for an introductory post, that should be enough. I could continue digging into Onyx features and examples, but for an introductory post, that should be enough.