# Compile Swift to Wasm WASI

Thanks to the great work of [Swift Wasm](https://swiftwasm.org/) we can now compile Swift to WebAssembly WASI.

Wasienv makes very easy to get started with Swift and WebAssembly.

```
wasienv install-swift
```

{% hint style="warning" %}
You will need the latest version of version of Wasienv installed.

If you don't have wasienv installed in your system, or want to upgrade it please [follow the instructions here](https://jubianchi.gitbook.io/wasmer-docs/fix-python-summary/ecosystem/wasienv/getting-started)
{% endhint %}

Once that's done, just create an example Swift file:

{% tabs %}
{% tab title="example.swift" %}

```swift
if CommandLine.arguments.count < 2 {
    print("Hello, WASI!");
} else {
    print("Hello, \(CommandLine.arguments[1])");
}
```

{% endtab %}

{% tab title="fizzbuzz.swift" %}

```swift
for i in 1...100
{
    if i % 3 == 0 && i % 5 == 0 {
        print("FizzBuzz")
    } else if i % 3 == 0 {
        print("Fizz")
    } else if i % 5 == 0 {
        print("Buzz")
    } else {
        print(i)
    }
}
```

{% endtab %}
{% endtabs %}

Now let's Compile it!

```
wasiswiftc example.swift -o example.wasm
```

Once the program finishes, you will have a new `example.wasm` file ready to be executed with your favorite WebAssembly runtime!

```bash
$ wasmer example.wasm
Hello, WASI!
```
