prerelease version
parent
e0dfd472a7
commit
934571bb7b
|
@ -131,11 +131,6 @@ Variables, expressions and constants used as index must resolve to an **integral
|
||||||
|
|
||||||
The standard library and subsequent platform has to provide a function inside the `mem` module with the following declaration:
|
The standard library and subsequent platform has to provide a function inside the `mem` module with the following declaration:
|
||||||
|
|
||||||
:::danger
|
|
||||||
TODO: decide on implementation with either one:
|
|
||||||
- generic (implication: implement generic system)
|
|
||||||
- reference cast (implication: undefinied behavior on cast, runtime errors)
|
|
||||||
:::
|
|
||||||
|
|
||||||
```glsl
|
```glsl
|
||||||
alloc<T>(out ref T, in int: len)
|
alloc<T>(out ref T, in int: len)
|
||||||
|
@ -498,15 +493,15 @@ silent type box: foo {
|
||||||
|
|
||||||
## Comments
|
## Comments
|
||||||
|
|
||||||
comments or ignored characters starts with `#` and ends with a line break
|
comments or ignored characters starts with `#` and ends with a line break.
|
||||||
|
|
||||||
```scala
|
```scala
|
||||||
|
|
||||||
#comment
|
#comment
|
||||||
|
#########comment
|
||||||
|
|
||||||
int: foo #comment
|
int: foo #comment
|
||||||
|
|
||||||
#########comment
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -536,6 +531,10 @@ returns the current name of the function it is called in
|
||||||
returns the current line number the function is called in
|
returns the current line number the function is called in
|
||||||
`lineno(out unsigned long int)`
|
`lineno(out unsigned long int)`
|
||||||
|
|
||||||
|
### Check for language extension
|
||||||
|
returns one if the specified extension (UTF-8 encoded string) is supported by the current compiler and zero otherwise
|
||||||
|
`extsupport(in ref short short int, out unsigned short short int)`
|
||||||
|
|
||||||
# Language Extensions
|
# Language Extensions
|
||||||
|
|
||||||
A extension adds extra functionality to the base language.
|
A extension adds extra functionality to the base language.
|
||||||
|
@ -633,7 +632,7 @@ scheme Serialize = Stringify {
|
||||||
|
|
||||||
The number of type that can be inferred for a generic can be limited with schemes. A generic that is marked with a specific scheme will only accept type that implement that scheme.
|
The number of type that can be inferred for a generic can be limited with schemes. A generic that is marked with a specific scheme will only accept type that implement that scheme.
|
||||||
|
|
||||||
```
|
```scala
|
||||||
scheme Add {
|
scheme Add {
|
||||||
type gen: T
|
type gen: T
|
||||||
|
|
||||||
|
@ -654,7 +653,7 @@ fun do_math(type gen: T = Algebra)(in T, in T)
|
||||||
|
|
||||||
schemes can be silent for modules. Every function within it is silent when implemented. If a silent scheme is inheritated then the new scheme is implicid silent.
|
schemes can be silent for modules. Every function within it is silent when implemented. If a silent scheme is inheritated then the new scheme is implicid silent.
|
||||||
|
|
||||||
```
|
```scala
|
||||||
silent scheme Add {
|
silent scheme Add {
|
||||||
type gen: T
|
type gen: T
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue