[obsidian] vault backup: 2025-11-08 11:12:18[
All checks were successful
Build / build (push) Successful in 9m25s

This commit is contained in:
2025-11-08 11:12:18 -05:00
parent 59bca8ffd9
commit c3dd8de0fd
5 changed files with 107 additions and 0 deletions

8
content/Meshtastic.md Normal file
View File

@@ -0,0 +1,8 @@
---
date: 2025-11-08 11:10
---
[Meshtastic](https://meshtastic.org/)
[[LoRa]]でのメッシュネットワーク構築用のオープンなシステム

8
content/NYCResistor.md Normal file
View File

@@ -0,0 +1,8 @@
---
date: 2025-11-08 11:11
---
#organization
[NYC Resistor We learn, share, and make things.](https://www.nycresistor.com/)

8
content/Signal Rising.md Normal file
View File

@@ -0,0 +1,8 @@
---
date: 2025-11-08 11:09
---
#organization
[SIGNALS RISING](https://signalsrising.org/)

View File

@@ -67,8 +67,67 @@ mimiumはコードを専用のVMバイトコードへコンパイルし実行す
### シンタックス ### シンタックス
図nにmimiumの内部表現Lambda-mmmに多段階計算の体系を加えた新しい内部表現 $\lambda_{Mmmm}$(Multi-stage version of $\lambda_{mmm}$)のシンタックスを定義する。
$$
$$
### シンタックスシュガー
mimiumでは、多段階計算の体系を直感的に扱えるように2つのシンタックスシュガーを導入している。
1つは、ステージ0でコード辺を返す関数`mymacro`を実行した結果をスプライスでステージ1に埋め込む操作、`$(mymacro(arg))`を、`mymacro!(arg)`と書けるようにするものである。
もう1つは、変数のスコープを維持したままだとスプライスとクオートの括弧がネストされてしまう問題を回避するために、グローバルスコープに限定し、#stage(macro)/#stage(main)と書くことで、スコープを維持したままその行以下は指定したステージになるというものである。
### 多段階計算によるメタ操作の実例
```rust
fn cascade(n,gen){
let g = gen()
if (n>0){
let c = cascade(n - 1.0 ,gen)
let multiplier = 1.0-(1.0/(n*2.0))
|rate| { rate + g(rate/2.0)* 0.5 * rate * multiplier |> c }
}else{
|rate| g(rate)
}
}
fn osc(){
...
}
let myosc = cascade(20, | | osc);
fn dsp(){
let f = 200
let r = f |> myosc
(r,r)
}
```
```rust
#stage(macro)
fn cascade(n,gen){
if (n>0.0){
let multiplier = 1.0-(1.0/(n*3)) |> lift_f
`{|rate| rate + ($gen)(rate/3)* 0.5 * rate* $multiplier
|> $cascade(n - 1.0 ,gen) }
}else{
`{|rate| ($gen)(rate)}
}
}
#stage(main)
fn osc(){
...
}
fn dsp(){
let f = 200
let r = f |> cascade!(20,`osc)
(r,r)
}
```
## コールツリーの解析 ## コールツリーの解析
- クロージャ - クロージャ