0
|
1
|
* virt |
|
2
|
** QEMU |
|
3
|
** KVM |
|
4
|
** Hyper-V |
|
5
|
** Firecracker |
|
6
|
** Docker |
|
7
|
** Vagrant |
|
8
|
** LXC |
|
9
|
** LXD |
|
10
|
** containerd |
|
11
|
** systemd-nspawn |
|
12
|
** VirtualBox |
|
13
|
|
|
14
|
* Concatenative |
|
15
|
** Factor :factor: |
|
16
|
- [2023-07-04 Tue] |
|
17
|
Factor is a cool concatenative lang but unfortunately the C interface |
|
18
|
(vm/master.h) no longer exists on the master branch. |
|
19
|
** Joy :joy: |
|
20
|
|
|
21
|
*** https://hypercubed.github.io/joy/html/j02maf.html |
|
22
|
|
|
23
|
*** [[https://builds.openlogicproject.org/content/incompleteness/arithmetization-syntax/arithmetization-syntax.pdf][arithmetization of syntax]] |
|
24
|
* Lisp :lisp: |
|
25
|
These notes pertain to Lisp. More specifically, ANSI Common Lisp in |
|
26
|
most places. |
|
27
|
|
|
28
|
- https://github.com/lispnik/iup/ - doesn't support MacOS yet, looks |
|
29
|
cool though |
|
30
|
- what we really need is wasm compiler.. TBD |
|
31
|
* Rust |
|
32
|
** Serde |
|
33
|
- [2023-07-05 Wed] \\ |
|
34
|
important part of the Rust ecosystem, another dtolnay |
|
35
|
contribution. If you want to program a /data/ format in the Rust |
|
36
|
ecosystem, this is how you do it. |
|
37
|
|
|
38
|
The way it works is that you define some special structs, a |
|
39
|
Serializer and a Deserializer which implement the Serialize and |
|
40
|
Deserialize traits provided by serde, respectively. |
|
41
|
|
|
42
|
You can use these structs to provide your public API. The |
|
43
|
conventional choice is public top-level functions like from-str |
|
44
|
and to-string. That's it, your serialization library can now read and |
|
45
|
write your data format as Rust data types. |
|
46
|
|
|
47
|
[[https://serde.rs/enum-representations.html][enum-representations]] |
|
48
|
- the default behavior is an externally tagged representation (verbose) |
|
49
|
|
|
50
|
The docs use strings as core IO when implementing a custom format, |
|
51
|
but the convention is to implement for T where T is bound by std::io |
|
52
|
Read or Write trait. Then you can provide a more robust public API |
|
53
|
(from_bytes, from_writer, etc). |
|
54
|
* C |
|
55
|
* CPP |
|
56
|
* Nu |
|
57
|
[[https://www.nushell.sh/][~]] |
|
58
|
[[https://www.nushell.sh/cookbook/][cookbook]] |
|
59
|
[[https://github.com/nushell/nu_scripts][nu_scripts]] |