Merge remote-tracking branch 'origin/v4' into v4

This commit is contained in:
Tomoya Matsuura(MacBookPro) 2023-12-14 00:36:32 +09:00
commit 0e84dd8fab
24 changed files with 101 additions and 27 deletions

View File

@ -1,4 +1,5 @@
{ {
"accentColor": "", "accentColor": "",
"cssTheme": "" "cssTheme": "",
"translucency": true
} }

View File

@ -1,22 +1,22 @@
{ {
"collapse-filter": false, "collapse-filter": false,
"search": "", "search": "",
"showTags": false, "showTags": true,
"showAttachments": false, "showAttachments": false,
"hideUnresolved": true, "hideUnresolved": false,
"showOrphans": true, "showOrphans": true,
"collapse-color-groups": false, "collapse-color-groups": false,
"colorGroups": [], "colorGroups": [],
"collapse-display": true, "collapse-display": true,
"showArrow": false, "showArrow": true,
"textFadeMultiplier": 0, "textFadeMultiplier": 0,
"nodeSizeMultiplier": 0.717683919270833, "nodeSizeMultiplier": 1.19899088541667,
"lineSizeMultiplier": 1, "lineSizeMultiplier": 1,
"collapse-forces": false, "collapse-forces": false,
"centerStrength": 0.677815755208333, "centerStrength": 0.468912760416667,
"repelStrength": 16.8867003815101, "repelStrength": 11.1808268229167,
"linkStrength": 1, "linkStrength": 0.893798828125,
"linkDistance": 48, "linkDistance": 48,
"scale": 1.0101881773459105, "scale": 1.1255374518234564,
"close": true "close": true
} }

1
content/Ardour.md Normal file
View File

@ -0,0 +1 @@
#daw #music #software #stab

View File

@ -1,4 +1,4 @@
#programminglanguage #memo #logic #programming-language #memo #logic
[[Coq]]を用いた定理証明支援の基礎 [[Coq]]を用いた定理証明支援の基礎

1
content/Erg.md Normal file
View File

@ -0,0 +1 @@
#programming-language #stab

View File

@ -1,4 +1,4 @@
#programminglanguage #sound #programming-language #sound
Andrew Sorensenが作ったLispライブプログラミング環境。 Andrew Sorensenが作ったLispライブプログラミング環境。

View File

@ -1,3 +1,3 @@
#software #programminglanguage #sound #software #programming-language #sound
https://faust.grame.fr https://faust.grame.fr

View File

@ -1,4 +1,4 @@
#programminglanguage #programming-language
軽量で埋め込みやすいスクリプティング言語。音楽用ソフトでは[[Reaper]]とかでも使われている。 軽量で埋め込みやすいスクリプティング言語。音楽用ソフトでは[[Reaper]]とかでも使われている。

View File

@ -1,7 +1,10 @@
#programminglanguage #software #tools #programming-language #software #tools
[[多段階計算]]を実用できる数少ない処理系。
マニュアル マニュアル
<https://okmij.org/ftp/ML/MetaOCaml.html> <https://okmij.org/ftp/ML/MetaOCaml.html>
https://okmij.org/ftp/tagless-final/cookbook.html#simple-staging https://okmij.org/ftp/tagless-final/cookbook.html#simple-staging

1
content/Reaper.md Normal file
View File

@ -0,0 +1 @@
#daw #music #software #stab

5
content/SATySFi.md Normal file
View File

@ -0,0 +1,5 @@
#programming-language #software #domain-specific-language #DTP
Better [[TeX]]を目指した組版システム。
[[多段階計算]]による型安全なマクロが導入されている

View File

@ -1,4 +1,4 @@
#paper #programminglanguage #paper #programming-language
https://dl.acm.org/doi/10.1145/3471872.3472970 https://dl.acm.org/doi/10.1145/3471872.3472970

View File

@ -1,10 +1,10 @@
#memo #mimium #programminglanguage #memo #mimium #programming-language
[[音楽プログラミング言語の形式化#mimium と 多段階計算]] [[音楽プログラミング言語の形式化#mimium と 多段階計算]]
[[多段階計算]]を取り入れたい [[多段階計算]]を取り入れたい
とりあえず$W$ Calculusを自然に拡張してみる。 とりあえず[[The w-calculus a synchronous framework for the verified modelling of digital signal processing algorithms|W Calculus]]を自然に拡張してみる。
$W$ Calculusとmimiumの形式は似ているが、主に2つの違いがある。 $W$ Calculusとmimiumの形式は似ているが、主に2つの違いがある。
1. $W$ Calculus はLinear-Time Invariant なシステムを想定しているため、基本演算は項の加算と、項と定数の乗算しか使えない。 1. $W$ Calculus はLinear-Time Invariant なシステムを想定しているため、基本演算は項の加算と、項と定数の乗算しか使えない。

View File

@ -1,9 +1,13 @@
#programminglanguage #sound #programming-language #sound
https://github.com/tomoyanonymous/otopoiesis https://github.com/tomoyanonymous/otopoiesis
DAWをプログラマブルにする試み DAWをプログラマブルにする試み
```
#[param("hoge",0..8)]
let p1 = 1.0;
```
--- ---
@ -166,3 +170,11 @@ fileplayerのui実装もgeneratorからregionに移そう
そうなるとaudio側の実装もそっちに合わせるのが自然だよな・・・ そうなるとaudio側の実装もそっちに合わせるのが自然だよな・・・
完全にValueを64bitで静的型付けとして扱う時の、擬似的に動的型チェックする方法がないか
id_arenaのIDが128bitである限りちょっと厳しそう
プロジェクト、トラック、リージョンが限られた数であることを前提にすればNaNBoxingもできなくはなさそうだが、、、
コンパイラのContextをアプリ中で引き回さなくちゃいけなくなるのがやだなー
少なくともこれやるとマルチスレッドはめっちゃ難しくなるな

View File

@ -2,6 +2,9 @@
[[Node.jsで約100行で書くLISP風ラムダ計算]] [[Node.jsで約100行で書くLISP風ラムダ計算]]
[[計算機プログラムの構造と解釈]]
[[Language Server Protocol]] [[Language Server Protocol]]
[Write a JavaScript Parser in Rust](https://oxc-project.github.io/javascript-parser-in-rust/ja/docs/intro/) [Write a JavaScript Parser in Rust](https://oxc-project.github.io/javascript-parser-in-rust/ja/docs/intro/)

View File

@ -1,4 +1,4 @@
#programminglanguage #programming-language
項でインデックス付された型 項でインデックス付された型

View File

@ -1,9 +1,13 @@
#programminglanguage #programming-language
メタプログラミングの技法の一種。[[MetaOCaml]]などが有名 メタプログラミングの技法の一種。[[MetaOCaml]]などが有名
https://www.pls-lab.org/en/multi-stage-programming https://www.pls-lab.org/en/multi-stage-programming
[[Scala]]のバージョン3にも導入されてるらしい
https://logmi.jp/tech/articles/324146
日本語での詳細な解説 日本語での詳細な解説
MetaOCaml を使った自己反映言語のコンパイル 浅井 健一 (Black ) MetaOCaml を使った自己反映言語のコンパイル 浅井 健一 (Black )
@ -40,3 +44,10 @@ https://link.springer.com/chapter/10.1007/978-3-030-34175-6_4
> .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. > .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と組み合わせたらもっと派手なことできそう

View File

@ -1,4 +1,4 @@
#semiconductor #semiconductor #material
##### Bioinspired macromolecular templates for crystallographic orientation control of ZnO thin films through zinc hydroxide carbonate ##### Bioinspired macromolecular templates for crystallographic orientation control of ZnO thin films through zinc hydroxide carbonate

View File

@ -1,4 +1,4 @@
#programminglanguage #music #programming-language #music
再帰関数の実装のベンチマークなどでよく使われる竹内関数(たらい回し関数) 再帰関数の実装のベンチマークなどでよく使われる竹内関数(たらい回し関数)

View File

@ -1,4 +1,4 @@
#programminglanguage #programming-language
Temporal Recursionとも。 Temporal Recursionとも。

View 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

View File

@ -1,4 +1,4 @@
#research #programminglanguage #sound #research #programming-language #sound
やっているプロジェクト やっているプロジェクト

View File

@ -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)
}
}
}
```
項でインデックスされた型=依存型な気がするのよな 項でインデックスされた型=依存型な気がするのよな
[[多段階計算#依存型との組み合わせ]]  [[多段階計算#依存型との組み合わせ]] 

View File

@ -1,6 +1,6 @@
@use "./syntax.scss"; @use "./syntax.scss";
@use "./callouts.scss"; @use "./callouts.scss";
@use "./variables.scss" as *;
html { html {
scroll-behavior: smooth; scroll-behavior: smooth;
-webkit-text-size-adjust: none; -webkit-text-size-adjust: none;