changelog shortlog graph tags branches changeset file revisions annotate raw help

Mercurial > org / notes/20231024.org

revision 15: 27795b18326b
parent 4: d2774f9deb9d
     1.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2+++ b/notes/20231024.org	Fri Nov 24 22:39:07 2023 -0500
     1.3@@ -0,0 +1,59 @@
     1.4+* virt
     1.5+** QEMU
     1.6+** KVM
     1.7+** Hyper-V
     1.8+** Firecracker
     1.9+** Docker
    1.10+** Vagrant
    1.11+** LXC
    1.12+** LXD
    1.13+** containerd
    1.14+** systemd-nspawn
    1.15+** VirtualBox
    1.16+
    1.17+* Concatenative
    1.18+** Factor                                                           :factor:
    1.19+- [2023-07-04 Tue]
    1.20+  Factor is a cool concatenative lang but unfortunately the C interface
    1.21+  (vm/master.h) no longer exists on the master branch.
    1.22+** Joy                                                                 :joy:
    1.23+
    1.24+*** https://hypercubed.github.io/joy/html/j02maf.html
    1.25+
    1.26+*** [[https://builds.openlogicproject.org/content/incompleteness/arithmetization-syntax/arithmetization-syntax.pdf][arithmetization of syntax]]
    1.27+* Lisp                                                                 :lisp:
    1.28+These notes pertain to Lisp. More specifically, ANSI Common Lisp in
    1.29+most places.
    1.30+
    1.31+- https://github.com/lispnik/iup/ - doesn't support MacOS yet, looks
    1.32+  cool though
    1.33+  - what we really need is wasm compiler.. TBD
    1.34+* Rust
    1.35+** Serde
    1.36+- [2023-07-05 Wed] \\
    1.37+  important part of the Rust ecosystem, another dtolnay
    1.38+  contribution. If you want to program a /data/ format in the Rust
    1.39+  ecosystem, this is how you do it.
    1.40+
    1.41+  The way it works is that you define some special structs, a
    1.42+  Serializer and a Deserializer which implement the Serialize and
    1.43+  Deserialize traits provided by serde, respectively.
    1.44+
    1.45+  You can use these structs to provide your public API. The
    1.46+  conventional choice is public top-level functions like from-str
    1.47+  and to-string. That's it, your serialization library can now read and
    1.48+  write your data format as Rust data types.
    1.49+
    1.50+  [[https://serde.rs/enum-representations.html][enum-representations]]
    1.51+  - the default behavior is an externally tagged representation (verbose)
    1.52+
    1.53+  The docs use strings as core IO when implementing a custom format,
    1.54+  but the convention is to implement for T where T is bound by std::io
    1.55+  Read or Write trait. Then you can provide a more robust public API
    1.56+  (from_bytes, from_writer, etc).
    1.57+* C
    1.58+* CPP
    1.59+* Nu
    1.60+[[https://www.nushell.sh/][~]]
    1.61+[[https://www.nushell.sh/cookbook/][cookbook]]
    1.62+[[https://github.com/nushell/nu_scripts][nu_scripts]]