1. ideas

1.1. use branches for separate levels of expansion

  • or perhaps some other VC feature.. although I don't want any parallel to time, as if expansions occur in sequence. Thus things like tags don't feel quite right.

2. research

for libraries, always prefer defacto libs

2.1. screenshotbot-oss

  • monolithic repo, includes third-party dependencies
    • full quicklisp source
    • asdf, etc
  • addresses many of my concerns about running CL in prod
  • the repo is too heavy for my liking though
  • I do like the idea of having many systems though

2.2. DB

2.2.1. CLIENT

  1. mito

    ORM, sqlite, postgres, mysql support

  2. cl-dbi

    database independent interface

  3. sxql

    SQL generator

2.2.2. SERVICE

  1. sqlx
    • supports rustls, tokio
    • we should write the service queries using a common-lisp DSL!

      sqlx = { version = "0.7", features = [ "runtime-tokio", "tls-rustls", "any", "chrono" ] }
      

2.3. LOGGING

2.3.1. CLIENT

  1. log4cl

    supports slime well

2.3.2. SERVICE

  1. tracing
  2. tokio-console - monitoring tool

    works with tracing using the console-subscriber crate

2.4. UI