UP | HOME

Tools of the trade

Libraries

We have to evolve our own libs. Ripping off is ok once you understand the abstractions.

Most of the time one can just make one’s own “stdlib” by copying the code of what you actually use.

It turns out that 90% of the low effort crappy abstractions could be stripped off and simplified to the mathematical essence.

If you don’t see how to de-bloat and simplify - reuse it by vendoring.

FFI highly specialized code.

Tools of the trade

Neovim + language servers

  • Quick in-place editing.
  • Evolved, consistent single-key commands is a miracle.
  • The “Lua revolution” is a good thing.

Configurations

They mostly copy from each other, but it evolves quickly into stable forms.

Modules

  • lsp-config
  • null-ls

Emacs + Org-mode (exports)

  • Long, slow editing
  • The timeless classic system.
  • Org-mode format (structured text) for everything.

Pandoc

  • Import/export/conversion between declarative formats.
cabal install pandoc

Haskell

An implementation of a system of logic.

Ocaml

Way better than Python general purpose language based on the right principles.

Scala 3

Everything done right by the giga chad Odersky.

Erlang

A masterpiece of software engineering. I wish I could.

Rust

Just like the Simple-typed lambda calculus restricts the original formalism, so does Rust (enforces at most one mutable reference at compile time).

This is the principal innovation (for crappy imperative languages) and it should be used.

Coq

opam install coq

Agda

cabal install Agda

(agda-stdlib to be installed separately)

Author: <schiptsov@gmail.com>

Email: lngnmn2@yahoo.com

Created: 2023-08-08 Tue 18:36

Emacs 29.1.50 (Org mode 9.7-pre)