Merge remote-tracking branch 'origin/v4' into v4
This commit is contained in:
commit
0e84dd8fab
3
content/.obsidian/appearance.json
vendored
3
content/.obsidian/appearance.json
vendored
@ -1,4 +1,5 @@
|
||||
{
|
||||
"accentColor": "",
|
||||
"cssTheme": ""
|
||||
"cssTheme": "",
|
||||
"translucency": true
|
||||
}
|
16
content/.obsidian/graph.json
vendored
16
content/.obsidian/graph.json
vendored
@ -1,22 +1,22 @@
|
||||
{
|
||||
"collapse-filter": false,
|
||||
"search": "",
|
||||
"showTags": false,
|
||||
"showTags": true,
|
||||
"showAttachments": false,
|
||||
"hideUnresolved": true,
|
||||
"hideUnresolved": false,
|
||||
"showOrphans": true,
|
||||
"collapse-color-groups": false,
|
||||
"colorGroups": [],
|
||||
"collapse-display": true,
|
||||
"showArrow": false,
|
||||
"showArrow": true,
|
||||
"textFadeMultiplier": 0,
|
||||
"nodeSizeMultiplier": 0.717683919270833,
|
||||
"nodeSizeMultiplier": 1.19899088541667,
|
||||
"lineSizeMultiplier": 1,
|
||||
"collapse-forces": false,
|
||||
"centerStrength": 0.677815755208333,
|
||||
"repelStrength": 16.8867003815101,
|
||||
"linkStrength": 1,
|
||||
"centerStrength": 0.468912760416667,
|
||||
"repelStrength": 11.1808268229167,
|
||||
"linkStrength": 0.893798828125,
|
||||
"linkDistance": 48,
|
||||
"scale": 1.0101881773459105,
|
||||
"scale": 1.1255374518234564,
|
||||
"close": true
|
||||
}
|
1
content/Ardour.md
Normal file
1
content/Ardour.md
Normal file
@ -0,0 +1 @@
|
||||
#daw #music #software #stab
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage #memo #logic
|
||||
#programming-language #memo #logic
|
||||
|
||||
[[Coq]]を用いた定理証明支援の基礎
|
||||
|
||||
|
1
content/Erg.md
Normal file
1
content/Erg.md
Normal file
@ -0,0 +1 @@
|
||||
#programming-language #stab
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage #sound
|
||||
#programming-language #sound
|
||||
|
||||
Andrew Sorensenが作ったLispライブプログラミング環境。
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
#software #programminglanguage #sound
|
||||
#software #programming-language #sound
|
||||
|
||||
https://faust.grame.fr
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage
|
||||
#programming-language
|
||||
|
||||
軽量で埋め込みやすいスクリプティング言語。音楽用ソフトでは[[Reaper]]とかでも使われている。
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
#programminglanguage #software #tools
|
||||
#programming-language #software #tools
|
||||
|
||||
[[多段階計算]]を実用できる数少ない処理系。
|
||||
|
||||
マニュアル
|
||||
|
||||
|
||||
<https://okmij.org/ftp/ML/MetaOCaml.html>
|
||||
|
||||
https://okmij.org/ftp/tagless-final/cookbook.html#simple-staging
|
1
content/Reaper.md
Normal file
1
content/Reaper.md
Normal file
@ -0,0 +1 @@
|
||||
#daw #music #software #stab
|
5
content/SATySFi.md
Normal file
5
content/SATySFi.md
Normal file
@ -0,0 +1,5 @@
|
||||
#programming-language #software #domain-specific-language #DTP
|
||||
|
||||
Better [[TeX]]を目指した組版システム。
|
||||
|
||||
[[多段階計算]]による型安全なマクロが導入されている
|
@ -1,4 +1,4 @@
|
||||
#paper #programminglanguage
|
||||
#paper #programming-language
|
||||
|
||||
https://dl.acm.org/doi/10.1145/3471872.3472970
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
#memo #mimium #programminglanguage
|
||||
#memo #mimium #programming-language
|
||||
|
||||
[[音楽プログラミング言語の形式化#mimium と 多段階計算]]
|
||||
|
||||
[[多段階計算]]を取り入れたい
|
||||
|
||||
とりあえず$W$ Calculusを自然に拡張してみる。
|
||||
とりあえず[[The w-calculus a synchronous framework for the verified modelling of digital signal processing algorithms|W Calculus]]を自然に拡張してみる。
|
||||
$W$ Calculusとmimiumの形式は似ているが、主に2つの違いがある。
|
||||
|
||||
1. $W$ Calculus はLinear-Time Invariant なシステムを想定しているため、基本演算は項の加算と、項と定数の乗算しか使えない。
|
||||
|
@ -1,9 +1,13 @@
|
||||
|
||||
#programminglanguage #sound
|
||||
#programming-language #sound
|
||||
|
||||
https://github.com/tomoyanonymous/otopoiesis
|
||||
|
||||
DAWをプログラマブルにする試み
|
||||
```
|
||||
#[param("hoge",0..8)]
|
||||
let p1 = 1.0;
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@ -166,3 +170,11 @@ fileplayerのui実装もgeneratorからregionに移そう
|
||||
|
||||
そうなるとaudio側の実装もそっちに合わせるのが自然だよな・・・
|
||||
|
||||
|
||||
完全にValueを64bitで静的型付けとして扱う時の、擬似的に動的型チェックする方法がないか
|
||||
|
||||
id_arenaのIDが128bitである限りちょっと厳しそう
|
||||
プロジェクト、トラック、リージョンが限られた数であることを前提にすればNaNBoxingもできなくはなさそうだが、、、
|
||||
|
||||
コンパイラのContextをアプリ中で引き回さなくちゃいけなくなるのがやだなー
|
||||
少なくともこれやるとマルチスレッドはめっちゃ難しくなるな
|
||||
|
@ -2,6 +2,9 @@
|
||||
|
||||
[[Node.jsで約100行で書くLISP風ラムダ計算]]
|
||||
|
||||
|
||||
[[計算機プログラムの構造と解釈]]
|
||||
|
||||
[[Language Server Protocol]]
|
||||
|
||||
[Write a JavaScript Parser in Rust](https://oxc-project.github.io/javascript-parser-in-rust/ja/docs/intro/)
|
||||
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage
|
||||
#programming-language
|
||||
|
||||
項でインデックス付された型
|
||||
|
||||
|
@ -1,9 +1,13 @@
|
||||
#programminglanguage
|
||||
#programming-language
|
||||
|
||||
メタプログラミングの技法の一種。[[MetaOCaml]]などが有名
|
||||
|
||||
https://www.pls-lab.org/en/multi-stage-programming
|
||||
|
||||
[[Scala]]のバージョン3にも導入されてるらしい
|
||||
|
||||
https://logmi.jp/tech/articles/324146
|
||||
|
||||
日本語での詳細な解説
|
||||
|
||||
MetaOCaml を使った自己反映言語のコンパイル 浅井 健一 (Black )
|
||||
@ -39,4 +43,11 @@ https://link.springer.com/chapter/10.1007/978-3-030-34175-6_4
|
||||
> Our goal is to define the function `vadd` of type $$Πn : Int.∀β.⊲β(Vector (\%_αn) → Vector (\%_αn) → Vector (\%_αn))$$
|
||||
> .It takes the length n and returns (β-closed) code of a function to add two vectors of length n. The generated code is run by applying it to ε to obtain a function of type $Vector\; n → Vector\; n → Vector\; n$ as expected.
|
||||
|
||||
この辺はなんかやりたいことに近そうな予感がする
|
||||
この辺はなんかやりたいことに近そうな予感がする
|
||||
|
||||
|
||||
## [[Rust]]でのプログラム合成
|
||||
|
||||
https://fitzgeraldnick.com/2018/11/15/program-synthesis-is-possible-in-rust.html
|
||||
|
||||
impl Return typeと組み合わせたらもっと派手なことできそう
|
@ -1,4 +1,4 @@
|
||||
#semiconductor
|
||||
#semiconductor #material
|
||||
|
||||
|
||||
##### Bioinspired macromolecular templates for crystallographic orientation control of ZnO thin films through zinc hydroxide carbonate
|
||||
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage #music
|
||||
#programming-language #music
|
||||
|
||||
再帰関数の実装のベンチマークなどでよく使われる竹内関数(たらい回し関数)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage
|
||||
#programming-language
|
||||
|
||||
Temporal Recursionとも。
|
||||
|
||||
|
14
content/計算機プログラムの構造と解釈.md
Normal file
14
content/計算機プログラムの構造と解釈.md
Normal file
@ -0,0 +1,14 @@
|
||||
#book #programming-language #compiler-design
|
||||
|
||||
IIJ研究所 HTML版
|
||||
|
||||
[計算機プログラムの構造と解釈](http://books.shoeisha.co.jp/book/b177731.html)
|
||||
|
||||
https://web.mit.edu/6.001/6.037/sicp.pdf
|
||||
|
||||
Javascript Edition
|
||||
|
||||
内容はほぼ同じっぽい(メタサーキュラー魔でやってる)
|
||||
|
||||
https://sourceacademy.org/sicpjs/index
|
||||
|
@ -1,4 +1,4 @@
|
||||
#research #programminglanguage #sound
|
||||
#research #programming-language #sound
|
||||
|
||||
やっているプロジェクト
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#programminglanguage #research
|
||||
#programming-language #research
|
||||
|
||||
|
||||
## 先行例
|
||||
@ -152,6 +152,28 @@ process = hmtx(16);
|
||||
|
||||
この辺は、多段階計算を使ったとしても生成したコードの型を変えるみたいなことは出来ないのでは?
|
||||
|
||||
```rust
|
||||
fn hmtx(n:int)-> <[float;n]->[float;n]>{
|
||||
assert!(n>=2 && n%2 == 0);
|
||||
if(n==2){
|
||||
`|list|{ [list[0]+list[1], list[0]-list[1]] }
|
||||
}else{
|
||||
`|list:[float]|{
|
||||
let mixer = interleave
|
||||
|> |(l1,l2)| {zipwith(l1,l2).map(|(a,b)| a + b)};
|
||||
|> ~hmtx(n/2);
|
||||
let upper = list |> mixer;
|
||||
let lower = list
|
||||
|> split(_,2)
|
||||
|>|(l1,l2)| {(l1,l2.map(|a| -a))}
|
||||
|> mixer;
|
||||
join(upper,lower)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
項でインデックスされた型=依存型な気がするのよな
|
||||
|
||||
[[多段階計算#依存型との組み合わせ]]
|
||||
|
@ -1,6 +1,6 @@
|
||||
@use "./syntax.scss";
|
||||
@use "./callouts.scss";
|
||||
|
||||
@use "./variables.scss" as *;
|
||||
html {
|
||||
scroll-behavior: smooth;
|
||||
-webkit-text-size-adjust: none;
|
||||
|
Loading…
Reference in New Issue
Block a user