#programming-language 

[[Rust]]っぽいシンタックスだが、[[Erlang]]の[[BEAM VM]]もしくは[[JavaScript]]をターゲットとして　コンパイルされるスクリプティング言語。


Use構文が面白い。ちょっと[[Computation Expression]]でSeqを使った時とか、[[Koka]]のWith構文と似た仕組みと見える
[Use - The Gleam Language Tour](https://tour.gleam.run/advanced-features/use/)

```rust
pub fn with_use() -> Result(String, Nil) {
  use username <- result.try(get_username())
  use password <- result.try(get_password())
  use greeting <- result.map(log_in(username, password))
  greeting <> ", " <> username
}

pub fn without_use() -> Result(String, Nil) {
  result.try(get_username(), fn(username) {
    result.try(get_password(), fn(password) {
      result.map(log_in(username, password), fn(greeting) {
        greeting <> ", " <> username
      })
    })
  })
}
```

 
