[obsidian] vault backup: 2023-08-30 00:44:44
This commit is contained in:
parent
ee640c2e1f
commit
3d89c48027
@ -31,3 +31,12 @@ http://www.cs.tsukuba.ac.jp/~kam/lecture/gairon2-2012/gairon2.pdf
|
|||||||
## 依存型との組み合わせ
|
## 依存型との組み合わせ
|
||||||
|
|
||||||
[A Dependently Typed Multi-Stage Calculus](https://arxiv.org/abs/1908.02035)
|
[A Dependently Typed Multi-Stage Calculus](https://arxiv.org/abs/1908.02035)
|
||||||
|
|
||||||
|
https://link.springer.com/chapter/10.1007/978-3-030-34175-6_4
|
||||||
|
|
||||||
|
> Let’s consider an application, for example, in computer graphics, in which we have potentially many pairs of vectors of the fixed (but statically unknown) length and a function—such as vector addition—to be applied to them.
|
||||||
|
> This function should be fast because it is applied many times and be safe because just one runtime error may ruin the whole long-running calculation.
|
||||||
|
> 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.
|
||||||
|
|
||||||
|
この辺はなんかやりたいことに近そうな予感がする
|
Loading…
Reference in New Issue
Block a user