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 d809f0e50a
24 changed files with 101 additions and 27 deletions

View File

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

View File

@ -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
View File

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

View File

@ -1,4 +1,4 @@
#programminglanguage #memo #logic
#programming-language #memo #logic
[[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ライブプログラミング環境。

View File

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

View File

@ -1,4 +1,4 @@
#programminglanguage
#programming-language
軽量で埋め込みやすいスクリプティング言語。音楽用ソフトでは[[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/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

View File

@ -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 なシステムを想定しているため、基本演算は項の加算と、項と定数の乗算しか使えない。

View File

@ -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をアプリ中で引き回さなくちゃいけなくなるのがやだなー
少なくともこれやるとマルチスレッドはめっちゃ難しくなるな

View File

@ -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/)

View File

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

View File

@ -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と組み合わせたらもっと派手なことできそう

View File

@ -1,4 +1,4 @@
#semiconductor
#semiconductor #material
##### 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とも。

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 "./callouts.scss";
@use "./variables.scss" as *;
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: none;