-
Notifications
You must be signed in to change notification settings - Fork 6
Functions
Functions are one of the most fundamental parts of a program. Functions take in some values, and do something. Some functions can return a value too. In VSL functions are first-class objects meaning you can pass them around like any other variable. Lets take a look at the anatomy of a basic function in VSL:
func add(x: Int, to y: Int) -> Int {
return x + y
}
This function takes in two arguments x
(of type Int
) and y
(also of type Int
). Will run some code, and return their sum (in type Int
).
At the low-level, VSL is compatible with CCC (the C Calling Convention). This means that you can seamlessly use your C-functions with VSL functions using the external(...)
syntax described in the C interoperability section.
Functions can either return a value, or not. Functions that don't return values are called void functions. To declare the return type of a function you use the -> T
syntax. An example of a function returning an integer:
func returnFirstNumber() -> Int { return 1 }
Declaring a void function in VSL is nothing special however if you would like to explicitly indicate no value is returned:
func sayHi(to person: Person) -> Void {
print("Hello #{person.name}!")
}
- Introduction
- Installation
- VSL By Example
- Usage
- WASM (WebAssembly)
- The Basics
- Your First Program
- Syntax
- Concepts
- Modules
- Advanced Details
- Interop
- VSL Development
- Common Errors