[obsidian] vault backup: 2025-08-23 00:07:56
All checks were successful
Build / build (push) Successful in 12m58s
All checks were successful
Build / build (push) Successful in 12m58s
This commit is contained in:
28
content/Gream.md
Normal file
28
content/Gream.md
Normal file
@@ -0,0 +1,28 @@
|
||||
#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
|
||||
})
|
||||
})
|
||||
})
|
||||
}
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user