changelog shortlog graph tags branches files raw help

Mercurial > org > docs / changeset: core documentation and stats

changeset 48: 9f2e9e647333
parent 47: ac162428d5e3
child 49: 1661d499c262
author: Richard Westhaver <ellis@rwest.io>
date: Sat, 07 Sep 2024 22:34:47 -0400
files: core/api.org core/app/homer.org core/app/krypt.org core/app/mailman.org core/app/organ.org core/app/packy.org core/app/rdb.org core/app/readme.org core/app/skel.org core/bin/homer.org core/bin/krypt.org core/bin/mailman.org core/bin/organ.org core/bin/packy.org core/bin/rdb.org core/bin/readme.org core/bin/skel.org core/ffi.org core/install.org core/lib/cli.org core/lib/ffi.org core/lib/readme.org core/man.org core/readme.org core/ref.org core/stats.org core/tests.org demo/stats.org otom8/readme.org
description: core documentation and stats
     1.1--- a/core/api.org	Wed Sep 04 17:00:36 2024 -0400
     1.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3@@ -1,17 +0,0 @@
     1.4-#+title: Core API
     1.5-#+author: Richard Westhaver
     1.6-#+options: ^:nil toc:nil num:nil html-postamble:nil
     1.7-#+setupfile: ../../clean.theme
     1.8-#+OPTIONS: num:nil
     1.9-#+infojs_opt: toc:nil home:https://compiler.company up:./ view:content
    1.10-This documentation is automatically generated based on the default
    1.11-branch of the [[https://vc.compiler.company/core][core]].
    1.12-
    1.13-#+begin_src lisp :results silent
    1.14-(ql:quickload :user)
    1.15-#+end_src
    1.16-
    1.17-#+begin_src lisp :results output replace
    1.18-#+end_src
    1.19-
    1.20-#+RESULTS:
     2.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2+++ b/core/app/homer.org	Sat Sep 07 22:34:47 2024 -0400
     2.3@@ -0,0 +1,32 @@
     2.4+#+title: homer
     2.5+#+author: Richard Westhaver
     2.6+#+setupfile: ../../../clean.theme
     2.7+#+OPTIONS: num:nil
     2.8+
     2.9+* help
    2.10+:PROPERTIES:
    2.11+:ID:       c7d8f1e6-cbcf-4736-b48b-d76f70c3a745
    2.12+:END:
    2.13+#+begin_src shell :results pp replace :exports both
    2.14+homer -h
    2.15+#+end_src
    2.16+
    2.17+#+RESULTS:
    2.18+#+begin_example
    2.19+homer v0.1.0 --- user home manager
    2.20+
    2.21+  usage: homer [global] <command> [<arg>]
    2.22+
    2.23+options:
    2.24+  -l/--level* :  set the log level
    2.25+  -h/--help* :  print help
    2.26+  -v/--version* :  print version
    2.27+  -f/--force* :  use force
    2.28+
    2.29+commands:
    2.30+  show 
    2.31+  check 
    2.32+  push 
    2.33+  pull 
    2.34+  install 
    2.35+#+end_example
     3.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2+++ b/core/app/krypt.org	Sat Sep 07 22:34:47 2024 -0400
     3.3@@ -0,0 +1,32 @@
     3.4+#+title: krypt
     3.5+#+author: Richard Westhaver
     3.6+#+setupfile: ../../../clean.theme
     3.7+#+OPTIONS: num:nil
     3.8+
     3.9+* help
    3.10+:PROPERTIES:
    3.11+:ID:       cefd6977-2f05-4541-a04e-3d8e20d82b02
    3.12+:END:
    3.13+#+begin_src shell :results pp replace :exports both
    3.14+krypt -h
    3.15+#+end_src
    3.16+
    3.17+#+RESULTS:
    3.18+#+begin_example
    3.19+Krypt CLI
    3.20+
    3.21+Usage: krypt [OPTIONS] [COMMAND]
    3.22+
    3.23+Commands:
    3.24+  check   check service providers and config
    3.25+  show    Show Krypt info
    3.26+  search  Query the Krypt
    3.27+  help    Print this message or the help of the given subcommand(s)
    3.28+
    3.29+Options:
    3.30+  -c, --cfg <CFG>    Set the default config file [env: KRYPT_CONFIG_FILE=]
    3.31+  -u, --user <USER>  Set a user for this command [env: USER=ellis]
    3.32+  -l, --level...     Set log level
    3.33+  -h, --help         Print help
    3.34+  -V, --version      Print version
    3.35+#+end_example
     4.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2+++ b/core/app/mailman.org	Sat Sep 07 22:34:47 2024 -0400
     4.3@@ -0,0 +1,33 @@
     4.4+#+title: mailman
     4.5+#+author: Richard Westhaver
     4.6+#+setupfile: ../../../clean.theme
     4.7+#+OPTIONS: num:nil
     4.8+
     4.9+* help
    4.10+:PROPERTIES:
    4.11+:ID:       2f0abc41-8748-4946-acec-cf3ee30a1bf4
    4.12+:END:
    4.13+#+begin_src shell :results pp replace :exports both
    4.14+mailman -h
    4.15+#+end_src
    4.16+
    4.17+#+RESULTS:
    4.18+#+begin_example
    4.19+Mail client util
    4.20+
    4.21+Usage: mailman [OPTIONS] [COMMAND]
    4.22+
    4.23+Commands:
    4.24+  ping    Ping the server
    4.25+  search  Search for items
    4.26+  import  Import an account
    4.27+  export  Export an account
    4.28+  help    Print this message or the help of the given subcommand(s)
    4.29+
    4.30+Options:
    4.31+  -c, --cfg <CFG>    Set the default config file [env: MAILMAN_CONFIG_FILE=]
    4.32+  -u, --user <USER>  Set a user for this command [env: USER=ellis]
    4.33+  -l, --level...     Set log level
    4.34+  -h, --help         Print help
    4.35+  -V, --version      Print version
    4.36+#+end_example
     5.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2+++ b/core/app/organ.org	Sat Sep 07 22:34:47 2024 -0400
     5.3@@ -0,0 +1,51 @@
     5.4+#+title: organ
     5.5+#+author: Richard Westhaver
     5.6+#+setupfile: ../../../clean.theme
     5.7+#+OPTIONS: num:nil
     5.8+
     5.9+The =organ= CLI tool is used to manipulate [[https://orgmode.org/][Org Mode]] files.
    5.10+
    5.11+* Overview
    5.12+:PROPERTIES:
    5.13+:ID:       ff9147a1-da33-46b1-b398-b87049e6c197
    5.14+:END:
    5.15+=Org-mode= the application depends on Emacs (it's written in Emacs
    5.16+Lisp) but that doesn't mean we need to. To solve the issue of
    5.17+interoperability between different systems, we are developing a tool
    5.18+called [[https://lab.rwest.io/comp/core/-/tree/branch/default/lisp/lib/organ][organ]]. The purpose of =organ= is to provide an external API for
    5.19+Org documents that doesn't depend on GNU Emacs.
    5.20+
    5.21+If we were designing a /personal/ note-taking system, I would argue
    5.22+that we don't need this tool. The problem is it's /not/ personal - we
    5.23+have a much wider intended audience and need to present information in
    5.24+many different ways. This means thinking about hundreds to thousands
    5.25+of documents instead of tens, about processing those documents into a
    5.26+full-text search database, and reducing cost along the way.
    5.27+
    5.28+Emacs can do all of these things, but do you really want it to?
    5.29+
    5.30+* help
    5.31+:PROPERTIES:
    5.32+:ID:       36603658-8f85-435c-b6b3-f8da47237f5c
    5.33+:END:
    5.34+#+begin_src shell :results pp replace :exports both
    5.35+organ -h
    5.36+#+end_src
    5.37+
    5.38+#+RESULTS:
    5.39+#+begin_example
    5.40+organ v0.0.1 --- org-mode toolbox
    5.41+
    5.42+  usage: organ [global] <command> [<arg>]
    5.43+
    5.44+options:
    5.45+  -l/--level* :  set the log level
    5.46+  -h/--help* :  print help
    5.47+  -v/--version* :  print version
    5.48+
    5.49+commands:
    5.50+  inspect : inspect an org file
    5.51+  show : display local org info
    5.52+  describe : describe local org info
    5.53+  parse 
    5.54+#+end_example
     6.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2+++ b/core/app/packy.org	Sat Sep 07 22:34:47 2024 -0400
     6.3@@ -0,0 +1,33 @@
     6.4+#+title: packy
     6.5+#+author: Richard Westhaver
     6.6+#+setupfile: ../../../clean.theme
     6.7+#+OPTIONS: num:nil
     6.8+
     6.9+Packy is a universal package manager. The packy CLI tool is used to
    6.10+query and download resources from local or remote stores.
    6.11+* help
    6.12+:PROPERTIES:
    6.13+:ID:       167ef450-85d0-449d-8ef1-4a8699678610
    6.14+:END:
    6.15+#+begin_src shell :results pp replace
    6.16+packy -h
    6.17+#+end_src
    6.18+
    6.19+#+RESULTS:
    6.20+#+begin_example
    6.21+packy v0.1.0 --- Universal Package Manager
    6.22+
    6.23+  usage: packy [global] <command> [<arg>]
    6.24+
    6.25+options:
    6.26+  -l/--level* :  set the log level
    6.27+  -h/--help* :  print help
    6.28+  -v/--version* :  print version
    6.29+
    6.30+commands:
    6.31+  show 
    6.32+    -n/--name* 
    6.33+    -t/--target 
    6.34+    -t/--thunk* 
    6.35+    -p/--pk-target* 
    6.36+#+end_example
     7.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2+++ b/core/app/rdb.org	Sat Sep 07 22:34:47 2024 -0400
     7.3@@ -0,0 +1,6 @@
     7.4+#+title: rdb
     7.5+#+author: Richard Westhaver
     7.6+#+setupfile: ../../../clean.theme
     7.7+#+OPTIONS: num:nil
     7.8+
     7.9+The =rdb= cli tool is a simple RocksDB management utility.
     8.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2+++ b/core/app/readme.org	Sat Sep 07 22:34:47 2024 -0400
     8.3@@ -0,0 +1,36 @@
     8.4+#+title: Applications
     8.5+#+author: Richard Westhaver
     8.6+#+description: Core Program Docs
     8.7+#+options: ^:nil toc:nil num:nil html-postamble:nil
     8.8+#+export_file_name: index
     8.9+#+setupfile: ../../../clean.theme
    8.10+#+OPTIONS: num:nil
    8.11+
    8.12+* [[file:skel.org][skel]]                                                                 :lisp:
    8.13+:PROPERTIES:
    8.14+:ID:       8950ca5b-b546-444e-ac8f-75a35b895a0f
    8.15+:END:
    8.16+* [[file:organ.org][organ]]                                                                :lisp:
    8.17+:PROPERTIES:
    8.18+:ID:       ba0a3a00-fee2-41e8-9a94-d798317b6540
    8.19+:END:
    8.20+* [[file:packy.org][packy]]                                                                :lisp:
    8.21+:PROPERTIES:
    8.22+:ID:       d21d2652-b5d4-45bd-b312-bab85d6c28a7
    8.23+:END:
    8.24+* [[file:homer.org][homer]]                                                                :lisp:
    8.25+:PROPERTIES:
    8.26+:ID:       6170e3b4-5e87-40f0-88a5-e18096db5199
    8.27+:END:
    8.28+* [[file:rdb.org][rdb]]                                                                  :lisp:
    8.29+:PROPERTIES:
    8.30+:ID:       bdc834cc-d38b-471c-96c2-43126e98ce6e
    8.31+:END:
    8.32+* [[file:mailman.org][mailman]]                                                              :rust:
    8.33+:PROPERTIES:
    8.34+:ID:       51f950dc-cef2-43ce-ab62-b8def98c26bb
    8.35+:END:
    8.36+* [[file:krypt.org][krypt]]                                                           :rust:lisp:
    8.37+:PROPERTIES:
    8.38+:ID:       837d12da-c732-4b1a-aff0-bbe992b48c98
    8.39+:END:
     9.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2+++ b/core/app/skel.org	Sat Sep 07 22:34:47 2024 -0400
     9.3@@ -0,0 +1,236 @@
     9.4+#+title: skel
     9.5+#+author: Richard Westhaver
     9.6+#+setupfile: ../../../clean.theme
     9.7+#+OPTIONS: num:nil
     9.8+
     9.9+=skel= is the primary build tool for contributors and serves a
    9.10+similar role to language-agnostic build tools like [[https://www.gnu.org/software/make/][GNU Make]], but with
    9.11+the features and ease-of-use of language-specific build tools like
    9.12+Rust's [[https://github.com/rust-lang/cargo][Cargo]].
    9.13+
    9.14+* features
    9.15+:PROPERTIES:
    9.16+:ID:       90d78420-e6d9-4f18-8222-89c4670633b4
    9.17+:END:
    9.18+** configuration
    9.19+:PROPERTIES:
    9.20+:ID:       2658a3d1-cfa5-436e-b2b0-9cf42a6f66c6
    9.21+:END:
    9.22+The ~skel~ tool can be configured at runtime using the CLI flags, or
    9.23+via local configuration files. The configuration files are in the
    9.24+~skelfile~ format and are assigned the following locations by default:
    9.25+- ~*default-user-skelrc*~ :: =$HOME/.skelrc=
    9.26+- ~*default-system-skelrc*~ :: =/etc/skel/skelrc=
    9.27+
    9.28+Both files are optional and the user skelrc takes precedence over
    9.29+system.
    9.30+
    9.31+Example =~/.skelrc=:
    9.32+#+begin_src shell :results output
    9.33+cat ~/.skelrc
    9.34+#+end_src
    9.35+
    9.36+#+RESULTS:
    9.37+#+begin_example
    9.38+;;; .skelrc @ 2023-10-12.02:58:08 -*- mode: skel; -*-
    9.39+:name "Richard Westhaver"
    9.40+:email "richard.westhaver@gmail.com"
    9.41+:user "ellis"
    9.42+:version "0.1.0"
    9.43+:tags ("auto")
    9.44+:fmt :pretty
    9.45+:vc :hg
    9.46+:auto-insert t
    9.47+:license :mpl2
    9.48+:log-level :info
    9.49+:stash ".stash"
    9.50+;; :scratch ".stash/scratch"
    9.51+:cache ".stash/cache"
    9.52+:registry ".data/skel/registry"
    9.53+:scripts ("/usr/local/share/stash/scripts" "~/stash/scripts")
    9.54+#+end_example
    9.55+
    9.56+** projects
    9.57+:PROPERTIES:
    9.58+:ID:       359441da-1b61-4d73-8563-605ea7262b58
    9.59+:END:
    9.60+Projects are the highest-level objects int the ~skel~ system. A project
    9.61+consists of a list of slots which are populated automatically or by
    9.62+the user. Once a project is initialized the slots can be accessed and
    9.63+a set of high-level operations can be performed.
    9.64+
    9.65+The easiest way to initialize a project is with a ~skelfile~. These
    9.66+files are parsed as a simplified Lisp dialect and generate
    9.67+~sk-project~ objects based on their contents.
    9.68+
    9.69+The simplest project looks like this:
    9.70+
    9.71+#+begin_src skel :noeval t
    9.72+:name hello-world
    9.73+#+end_src
    9.74+
    9.75+Don't worry, this is still lisp - the parentheses are implied. All we
    9.76+actually need is a name to generate an object, and we can fill in the
    9.77+blanks later as the project develops.
    9.78+
    9.79+Here is a more verbose example, still with only metadata:
    9.80+
    9.81+#+begin_src skel :noeval t
    9.82+;;; skelfile --- core skelfile -*- mode: skel; -*-
    9.83+:name "core"
    9.84+:author "Richard Westhaver <ellis@rwest.io>"
    9.85+:version "0.1.0"
    9.86+:license "MPL"
    9.87+:description "The Compiler Company Core"
    9.88+:vc :hg
    9.89+:tags ("core")
    9.90+:docs ((:org "readme") (:org "install") (:org "tests") (:org "todo"))
    9.91+:import ("lisp/lisp.sk" "rust/rust.sk")
    9.92+#+end_src
    9.93+
    9.94+Another example with rules and components:
    9.95+
    9.96+#+begin_src skel :noeval t
    9.97+;;; skelfile @ 2023-10-08.02:37:25 -*- mode: skel; -*-
    9.98+:name skel
    9.99+:author "ellis"
   9.100+:version "0.1.0"
   9.101+:description "a hacker's project compiler"
   9.102+:license "MPL"
   9.103+:vc :hg
   9.104+:tags ("lisp")
   9.105+:rules ((build () (print (asdf:make :skel/cli)))
   9.106+        (clean () #$rm -rf */*.fasl$#))
   9.107+:docs ((:org "readme"))
   9.108+:components
   9.109+((:elisp "sk"))
   9.110+:stash "~/dev/comp/stash"
   9.111+#+end_src
   9.112+** version control
   9.113+:PROPERTIES:
   9.114+:ID:       c15f58b5-d55e-425b-acf5-7001ef4591e4
   9.115+:END:
   9.116+=skel= integrates closely with our Version Control System which
   9.117+is built on [[https://www.mercurial-scm.org/][Mercurial]], but we also interact with and host many [[https://git-scm.com/][Git]]
   9.118+repositories.
   9.119+
   9.120+The =skel= tool helps us abstract away the differences between git/hg
   9.121+and make maximum use of their utility. When you run a =skel vc=
   9.122+command the currently active ~sk-project~ and configuration are used
   9.123+to determine the appropriate VC backend to call. New backends can of
   9.124+course be added as extensions.
   9.125+
   9.126+** TODO compilers
   9.127+:PROPERTIES:
   9.128+:ID:       5ec3ae9d-8846-4374-a42b-5701606ad119
   9.129+:END:
   9.130+- State "TODO"       from              [2023-12-09 Sat 19:28]
   9.131+One of the most unusual features of =skel= is the compiler set. With
   9.132+the =skel= CLI you can compile the following types of files for your
   9.133+project directly from a ~skelfile~:
   9.134+- Makefile (.mk)
   9.135+- Lisp system defs (.asd)
   9.136+- Cargo.toml
   9.137+- Containerfile
   9.138+- .hgignore/.gitignore
   9.139+
   9.140+We treat skelfiles as the mother of all build formats and consolidate
   9.141+different formats into our own project DSL. This helps reduce
   9.142+complexity while increasing capability and portability.
   9.143+
   9.144+Project compilation occurs on demand with the =sk compile= command.
   9.145+
   9.146+** TODO virtualization
   9.147+:PROPERTIES:
   9.148+:ID:       fea87861-30c2-4739-b964-1ecb87d3ddff
   9.149+:END:
   9.150+- State "TODO"       from              [2023-12-09 Sat 18:55]
   9.151+
   9.152+  =skel= offers a mechanism for generating and running Virtual
   9.153+  Machines (VMs) and Containers. Under the hood we depend on [[https://podman.io/][podman]]
   9.154+  for our container runtime as well as [[https://www.qemu.org/][QEMU]] for some functionality.
   9.155+
   9.156+** TODO emacs integration
   9.157+:PROPERTIES:
   9.158+:ID:       3df22a04-3f6b-4738-bd5f-3eb91977d3af
   9.159+:END:
   9.160+- State "TODO"       from              [2023-12-09 Sat 19:30]
   9.161+=sk.el= is the Emacs support package for skel. It contains a
   9.162+=skel-mode= for working with skelfiles and will soon contain
   9.163+additional built-in integrations for =project.el=, =vc.el=, and more.
   9.164+** TODO deployment
   9.165+:PROPERTIES:
   9.166+:ID:       7e66bdf6-304e-423e-8db4-783e7f6ccfd7
   9.167+:END:
   9.168+- State "TODO"       from              [2023-12-09 Sat 19:37]
   9.169+** TODO visualization
   9.170+:PROPERTIES:
   9.171+:ID:       efa22675-70d6-453f-b377-8e76875e5f1f
   9.172+:END:
   9.173+- State "TODO"       from              [2023-12-09 Sat 19:37]
   9.174+* help
   9.175+:PROPERTIES:
   9.176+:ID:       f8e9fab4-67dc-4e7f-b172-7e0fc21047ad
   9.177+:END:
   9.178+#+begin_src shell :results pp replace :exports both
   9.179+skel -h
   9.180+#+end_src
   9.181+
   9.182+#+RESULTS:
   9.183+#+begin_example
   9.184+skel v0.1.1:97dd03beda03+ --- A hacker's project compiler.
   9.185+
   9.186+  usage: skel [global] <command> [<arg>]
   9.187+
   9.188+options:
   9.189+  -h/--help* :  print this message
   9.190+  -v/--version* :  print version
   9.191+  -l/--level* :  set log level (warn,info,debug,trace)
   9.192+  -c/--config* :  set a custom skel user config
   9.193+  -i/--input* :  input source
   9.194+  -o/--output* :  output target
   9.195+
   9.196+commands:
   9.197+  init : initialize a skelfile in the current directory
   9.198+    -n/--name* 
   9.199+    -n/--name 
   9.200+    -d/--description* 
   9.201+    -p/--project name 
   9.202+    -k/--kind* 
   9.203+    -s/--string* 
   9.204+  new : make a new skel project
   9.205+    -n/--name :  project name
   9.206+  describe : describe a skelfile
   9.207+  show : show project slots
   9.208+    -f/--file :  path to skelfile
   9.209+    -u/--user :  print user configuration
   9.210+    -s/--system :  print system configuration
   9.211+  vc : version control
   9.212+    -r/--root :  repository path
   9.213+  id : print the project id
   9.214+  inspect : inspect the project skelfile
   9.215+    -f/--file :  path to skelfile
   9.216+  make : build project targets
   9.217+    -t/--target :  target to build
   9.218+  run : run a script or command
   9.219+  compile : compile source code
   9.220+  build : build programs and libraries
   9.221+  dist : distribute build artifacts
   9.222+  install : install stuff
   9.223+  pack : pack stuff
   9.224+  unpack : unpack stuff
   9.225+  bundle : bundle source code
   9.226+  unbundle : unbundle source code
   9.227+  clean : clean up the project
   9.228+  test : run tests
   9.229+  bench : run benchmark
   9.230+  status : print the vc status
   9.231+  push : push the current project upstream
   9.232+  pull : pull the current project from remote
   9.233+  clone : clone a remote project
   9.234+  commit : commit changes to the project vc
   9.235+  edit : edit a project file in emacs.
   9.236+  shell : open the sk-shell interpreter
   9.237+
   9.238+#+end_example
   9.239+
    10.1--- a/core/bin/homer.org	Wed Sep 04 17:00:36 2024 -0400
    10.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3@@ -1,33 +0,0 @@
    10.4-#+title: homer
    10.5-#+author: Richard Westhaver
    10.6-#+setupfile: ../../../clean.theme
    10.7-#+OPTIONS: num:nil
    10.8-#+INFOJS_OPT: toc:nil view:showall
    10.9-
   10.10-* help
   10.11-:PROPERTIES:
   10.12-:ID:       c7d8f1e6-cbcf-4736-b48b-d76f70c3a745
   10.13-:END:
   10.14-#+begin_src shell :results pp replace :exports both
   10.15-homer -h
   10.16-#+end_src
   10.17-
   10.18-#+RESULTS:
   10.19-#+begin_example
   10.20-homer v0.1.0 --- user home manager
   10.21-
   10.22-  usage: homer [global] <command> [<arg>]
   10.23-
   10.24-options:
   10.25-  -l/--level* :  set the log level
   10.26-  -h/--help* :  print help
   10.27-  -v/--version* :  print version
   10.28-  -f/--force* :  use force
   10.29-
   10.30-commands:
   10.31-  show 
   10.32-  check 
   10.33-  push 
   10.34-  pull 
   10.35-  install 
   10.36-#+end_example
    11.1--- a/core/bin/krypt.org	Wed Sep 04 17:00:36 2024 -0400
    11.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3@@ -1,33 +0,0 @@
    11.4-#+title: krypt
    11.5-#+author: Richard Westhaver
    11.6-#+setupfile: ../../../clean.theme
    11.7-#+OPTIONS: num:nil
    11.8-#+INFOJS_OPT: toc:nil view:showal
    11.9-
   11.10-* help
   11.11-:PROPERTIES:
   11.12-:ID:       cefd6977-2f05-4541-a04e-3d8e20d82b02
   11.13-:END:
   11.14-#+begin_src shell :results pp replace :exports both
   11.15-krypt -h
   11.16-#+end_src
   11.17-
   11.18-#+RESULTS:
   11.19-#+begin_example
   11.20-Krypt CLI
   11.21-
   11.22-Usage: krypt [OPTIONS] [COMMAND]
   11.23-
   11.24-Commands:
   11.25-  check   check service providers and config
   11.26-  show    Show Krypt info
   11.27-  search  Query the Krypt
   11.28-  help    Print this message or the help of the given subcommand(s)
   11.29-
   11.30-Options:
   11.31-  -c, --cfg <CFG>    Set the default config file [env: KRYPT_CONFIG_FILE=]
   11.32-  -u, --user <USER>  Set a user for this command [env: USER=ellis]
   11.33-  -l, --level...     Set log level
   11.34-  -h, --help         Print help
   11.35-  -V, --version      Print version
   11.36-#+end_example
    12.1--- a/core/bin/mailman.org	Wed Sep 04 17:00:36 2024 -0400
    12.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3@@ -1,34 +0,0 @@
    12.4-#+title: mailman
    12.5-#+author: Richard Westhaver
    12.6-#+setupfile: ../../../clean.theme
    12.7-#+OPTIONS: num:nil
    12.8-#+INFOJS_OPT: toc:nil view:showall
    12.9-
   12.10-* help
   12.11-:PROPERTIES:
   12.12-:ID:       2f0abc41-8748-4946-acec-cf3ee30a1bf4
   12.13-:END:
   12.14-#+begin_src shell :results pp replace :exports both
   12.15-mailman -h
   12.16-#+end_src
   12.17-
   12.18-#+RESULTS:
   12.19-#+begin_example
   12.20-Mail client util
   12.21-
   12.22-Usage: mailman [OPTIONS] [COMMAND]
   12.23-
   12.24-Commands:
   12.25-  ping    Ping the server
   12.26-  search  Search for items
   12.27-  import  Import an account
   12.28-  export  Export an account
   12.29-  help    Print this message or the help of the given subcommand(s)
   12.30-
   12.31-Options:
   12.32-  -c, --cfg <CFG>    Set the default config file [env: MAILMAN_CONFIG_FILE=]
   12.33-  -u, --user <USER>  Set a user for this command [env: USER=ellis]
   12.34-  -l, --level...     Set log level
   12.35-  -h, --help         Print help
   12.36-  -V, --version      Print version
   12.37-#+end_example
    13.1--- a/core/bin/organ.org	Wed Sep 04 17:00:36 2024 -0400
    13.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3@@ -1,52 +0,0 @@
    13.4-#+title: organ
    13.5-#+author: Richard Westhaver
    13.6-#+setupfile: ../../../clean.theme
    13.7-#+OPTIONS: num:nil
    13.8-#+INFOJS_OPT: toc:nil view:showall
    13.9-
   13.10-The =organ= CLI tool is used to manipulate [[https://orgmode.org/][Org Mode]] files.
   13.11-
   13.12-* Overview
   13.13-:PROPERTIES:
   13.14-:ID:       ff9147a1-da33-46b1-b398-b87049e6c197
   13.15-:END:
   13.16-=Org-mode= the application depends on Emacs (it's written in Emacs
   13.17-Lisp) but that doesn't mean we need to. To solve the issue of
   13.18-interoperability between different systems, we are developing a tool
   13.19-called [[https://lab.rwest.io/comp/core/-/tree/branch/default/lisp/lib/organ][organ]]. The purpose of =organ= is to provide an external API for
   13.20-Org documents that doesn't depend on GNU Emacs.
   13.21-
   13.22-If we were designing a /personal/ note-taking system, I would argue
   13.23-that we don't need this tool. The problem is it's /not/ personal - we
   13.24-have a much wider intended audience and need to present information in
   13.25-many different ways. This means thinking about hundreds to thousands
   13.26-of documents instead of tens, about processing those documents into a
   13.27-full-text search database, and reducing cost along the way.
   13.28-
   13.29-Emacs can do all of these things, but do you really want it to?
   13.30-
   13.31-* help
   13.32-:PROPERTIES:
   13.33-:ID:       36603658-8f85-435c-b6b3-f8da47237f5c
   13.34-:END:
   13.35-#+begin_src shell :results pp replace :exports both
   13.36-organ -h
   13.37-#+end_src
   13.38-
   13.39-#+RESULTS:
   13.40-#+begin_example
   13.41-organ v0.0.1 --- org-mode toolbox
   13.42-
   13.43-  usage: organ [global] <command> [<arg>]
   13.44-
   13.45-options:
   13.46-  -l/--level* :  set the log level
   13.47-  -h/--help* :  print help
   13.48-  -v/--version* :  print version
   13.49-
   13.50-commands:
   13.51-  inspect : inspect an org file
   13.52-  show : display local org info
   13.53-  describe : describe local org info
   13.54-  parse 
   13.55-#+end_example
    14.1--- a/core/bin/packy.org	Wed Sep 04 17:00:36 2024 -0400
    14.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3@@ -1,37 +0,0 @@
    14.4-#+title: packy
    14.5-#+author: Richard Westhaver
    14.6-#+setupfile: ../../../clean.theme
    14.7-#+OPTIONS: num:nil
    14.8-#+INFOJS_OPT: toc:nil view:showall
    14.9-
   14.10-Packy is a universal package manager. The packy CLI tool is used to
   14.11-query and download resources from local or remote stores.
   14.12-* help
   14.13-:PROPERTIES:
   14.14-:ID:       167ef450-85d0-449d-8ef1-4a8699678610
   14.15-:END:
   14.16-#+begin_src shell :results pp replace
   14.17-packy -h
   14.18-#+end_src
   14.19-
   14.20-#+RESULTS:
   14.21-#+begin_example
   14.22-#:debug 0.190001; (#S(CLI-NODE
   14.23-                      :KIND OPT
   14.24-                      :FORM #<CLI-OPT help :global T :val T>))
   14.25-packy v0.1.0 --- Universal Package Manager
   14.26-
   14.27-  usage: packy [global] <command> [<arg>]
   14.28-
   14.29-options:
   14.30-  -l/--level* :  set the log level
   14.31-  -h/--help* :  print help
   14.32-  -v/--version* :  print version
   14.33-
   14.34-commands:
   14.35-  show 
   14.36-#:debug 0.193334; /home/ellis/comp/org/docs/core/bin
   14.37-; #(#<CLI-OPT help :global T :val NIL>)
   14.38-; NIL
   14.39-; #()
   14.40-#+end_example
    15.1--- a/core/bin/rdb.org	Wed Sep 04 17:00:36 2024 -0400
    15.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3@@ -1,36 +0,0 @@
    15.4-#+title: rdb
    15.5-#+author: Richard Westhaver
    15.6-#+setupfile: ../../../clean.theme
    15.7-#+OPTIONS: num:nil
    15.8-#+INFOJS_OPT: toc:nil view:showall
    15.9-
   15.10-The =rdb= cli tool is a simple RocksDB management utility.
   15.11-
   15.12-* help
   15.13-:PROPERTIES:
   15.14-:ID:       d66cd17e-10a8-401e-aaf8-85ff6df3ee63
   15.15-:END:
   15.16-#+begin_src shell :results pp replace :exports both
   15.17-rdb -h
   15.18-#+end_src
   15.19-
   15.20-#+RESULTS:
   15.21-#+begin_example
   15.22-rdb v0.1.0 --- A simple helper for RocksDB.
   15.23-
   15.24-  usage: rdb [global] <command> [<arg>]
   15.25-
   15.26-options:
   15.27-  -l/--level* :  set the log level
   15.28-  -h/--help* :  print help
   15.29-  -v/--version* :  print version
   15.30-  -d/--db* :  target db
   15.31-
   15.32-commands:
   15.33-  new 
   15.34-  show 
   15.35-  set 
   15.36-  get 
   15.37-  fuzz 
   15.38-  destroy 
   15.39-#+end_example
    16.1--- a/core/bin/readme.org	Wed Sep 04 17:00:36 2024 -0400
    16.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3@@ -1,37 +0,0 @@
    16.4-#+title: Core Program Binaries
    16.5-#+author: Richard Westhaver
    16.6-#+description: Core Program Docs
    16.7-#+options: ^:nil toc:nil num:nil html-postamble:nil
    16.8-#+export_file_name: index
    16.9-#+setupfile: ../../../clean.theme
   16.10-#+OPTIONS: num:nil
   16.11-#+INFOJS_OPT: toc:nil view:content
   16.12-
   16.13-* [[file:skel.org][skel]]                                                                 :lisp:
   16.14-:PROPERTIES:
   16.15-:ID:       8950ca5b-b546-444e-ac8f-75a35b895a0f
   16.16-:END:
   16.17-* [[file:organ.org][organ]]                                                                :lisp:
   16.18-:PROPERTIES:
   16.19-:ID:       ba0a3a00-fee2-41e8-9a94-d798317b6540
   16.20-:END:
   16.21-* [[file:packy.org][packy]]                                                                :lisp:
   16.22-:PROPERTIES:
   16.23-:ID:       d21d2652-b5d4-45bd-b312-bab85d6c28a7
   16.24-:END:
   16.25-* [[file:homer.org][homer]]                                                                :lisp:
   16.26-:PROPERTIES:
   16.27-:ID:       6170e3b4-5e87-40f0-88a5-e18096db5199
   16.28-:END:
   16.29-* [[file:rdb.org][rdb]]                                                                  :lisp:
   16.30-:PROPERTIES:
   16.31-:ID:       bdc834cc-d38b-471c-96c2-43126e98ce6e
   16.32-:END:
   16.33-* [[file:mailman.org][mailman]]                                                              :rust:
   16.34-:PROPERTIES:
   16.35-:ID:       51f950dc-cef2-43ce-ab62-b8def98c26bb
   16.36-:END:
   16.37-* [[file:krypt.org][krypt]]                                                           :rust:lisp:
   16.38-:PROPERTIES:
   16.39-:ID:       837d12da-c732-4b1a-aff0-bbe992b48c98
   16.40-:END:
    17.1--- a/core/bin/skel.org	Wed Sep 04 17:00:36 2024 -0400
    17.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3@@ -1,222 +0,0 @@
    17.4-#+title: skel
    17.5-#+author: Richard Westhaver
    17.6-#+setupfile: ../../../clean.theme
    17.7-#+OPTIONS: num:nil
    17.8-#+INFOJS_OPT: toc:nil view:content
    17.9-
   17.10-The =skel= CLI is the primary build tool for contributors and serves a
   17.11-similar role to language-agnostic build tools like [[https://www.gnu.org/software/make/][GNU Make]], but with
   17.12-the features and ease-of-use of language-specific build tools like
   17.13-Rust's [[https://github.com/rust-lang/cargo][Cargo]].
   17.14-
   17.15-* features
   17.16-:PROPERTIES:
   17.17-:ID:       90d78420-e6d9-4f18-8222-89c4670633b4
   17.18-:END:
   17.19-** configuration
   17.20-:PROPERTIES:
   17.21-:ID:       2658a3d1-cfa5-436e-b2b0-9cf42a6f66c6
   17.22-:END:
   17.23-The ~skel~ tool can be configured at runtime using the CLI flags, or
   17.24-via local configuration files. The configuration files are in the
   17.25-~skelfile~ format and are assigned the following locations by default:
   17.26-- ~*default-user-skelrc*~ :: =$HOME/.skelrc=
   17.27-- ~*default-system-skelrc*~ :: =/etc/skel/skelrc=
   17.28-
   17.29-Both files are optional and the user skelrc takes precedence over
   17.30-system.
   17.31-
   17.32-Example =~/.skelrc=:
   17.33-#+begin_src shell :results output
   17.34-cat ~/.skelrc
   17.35-#+end_src
   17.36-
   17.37-#+RESULTS:
   17.38-#+begin_example
   17.39-;;; .skelrc @ 2023-10-12.02:58:08 -*- mode: skel; -*-
   17.40-:name "Richard Westhaver"
   17.41-:email "richard.westhaver@gmail.com"
   17.42-:user "ellis"
   17.43-:version "0.1.0"
   17.44-:tags ("auto")
   17.45-:fmt :pretty
   17.46-:vc :hg
   17.47-:auto-insert t
   17.48-:license :mpl2
   17.49-:log-level :info
   17.50-:stash ".stash"
   17.51-;; :scratch ".stash/scratch"
   17.52-:cache ".stash/cache"
   17.53-:registry ".data/skel/registry"
   17.54-:scripts ("/usr/local/share/stash/scripts" "~/stash/scripts")
   17.55-#+end_example
   17.56-
   17.57-** projects
   17.58-:PROPERTIES:
   17.59-:ID:       359441da-1b61-4d73-8563-605ea7262b58
   17.60-:END:
   17.61-Projects are the highest-level objects int the ~skel~ system. A project
   17.62-consists of a list of slots which are populated automatically or by
   17.63-the user. Once a project is initialized the slots can be accessed and
   17.64-a set of high-level operations can be performed.
   17.65-
   17.66-The easiest way to initialize a project is with a ~skelfile~. These
   17.67-files are parsed as a simplified Lisp dialect and generate
   17.68-~sk-project~ objects based on their contents.
   17.69-
   17.70-The simplest project looks like this:
   17.71-
   17.72-#+begin_src skel :noeval t
   17.73-:name hello-world
   17.74-#+end_src
   17.75-
   17.76-Don't worry, this is still lisp - the parentheses are implied. All we
   17.77-actually need is a name to generate an object, and we can fill in the
   17.78-blanks later as the project develops.
   17.79-
   17.80-Here is a more verbose example, still with only metadata:
   17.81-
   17.82-#+begin_src skel :noeval t
   17.83-;;; skelfile --- core skelfile -*- mode: skel; -*-
   17.84-:name "core"
   17.85-:author "Richard Westhaver <ellis@rwest.io>"
   17.86-:version "0.1.0"
   17.87-:license "MPL"
   17.88-:description "The Compiler Company Core"
   17.89-:vc :hg
   17.90-:tags ("core")
   17.91-:docs ((:org "readme") (:org "install") (:org "tests") (:org "todo"))
   17.92-:import ("lisp/lisp.sk" "rust/rust.sk")
   17.93-#+end_src
   17.94-
   17.95-Another example with rules and components:
   17.96-
   17.97-#+begin_src skel :noeval t
   17.98-;;; skelfile @ 2023-10-08.02:37:25 -*- mode: skel; -*-
   17.99-:name skel
  17.100-:author "ellis"
  17.101-:version "0.1.0"
  17.102-:description "a hacker's project compiler"
  17.103-:license "MPL"
  17.104-:vc :hg
  17.105-:tags ("lisp")
  17.106-:rules ((build () (print (asdf:make :skel/cli)))
  17.107-        (clean () #$rm -rf */*.fasl$#))
  17.108-:docs ((:org "readme"))
  17.109-:components
  17.110-((:elisp "sk"))
  17.111-:stash "~/dev/comp/stash"
  17.112-#+end_src
  17.113-** version control
  17.114-:PROPERTIES:
  17.115-:ID:       c15f58b5-d55e-425b-acf5-7001ef4591e4
  17.116-:END:
  17.117-=skel= integrates closely with our Version Control System (VCS) which
  17.118-is built on [[https://www.mercurial-scm.org/][Mercurial]], but we also interact with and host many [[https://git-scm.com/][Git]]
  17.119-repositories.
  17.120-
  17.121-The =skel= tool helps us abstract away the differences between git/hg
  17.122-and make maximum use of their utility. When you run a =skel vc=
  17.123-command the currently active ~sk-project~ and configuration are used
  17.124-to determine the appropriate VC backend to call. New backends can of
  17.125-course be added as extensions.
  17.126-
  17.127-** TODO compilers
  17.128-:PROPERTIES:
  17.129-:ID:       5ec3ae9d-8846-4374-a42b-5701606ad119
  17.130-:END:
  17.131-- State "TODO"       from              [2023-12-09 Sat 19:28]
  17.132-One of the most unusual features of =skel= is the compiler set. With
  17.133-the =skel= CLI you can compile the following types of files for your
  17.134-project directly from a ~skelfile~:
  17.135-- Makefile (.mk)
  17.136-- Lisp system defs (.asd)
  17.137-- Cargo.toml
  17.138-- Containerfile
  17.139-- .hgignore/.gitignore
  17.140-
  17.141-We treat skelfiles as the mother of all build formats and consolidate
  17.142-different formats into our own project DSL. This helps reduce
  17.143-complexity while increasing capability and portability.
  17.144-
  17.145-Project compilation occurs on demand with the =sk compile= command.
  17.146-
  17.147-** TODO virtualization
  17.148-:PROPERTIES:
  17.149-:ID:       fea87861-30c2-4739-b964-1ecb87d3ddff
  17.150-:END:
  17.151-- State "TODO"       from              [2023-12-09 Sat 18:55]
  17.152-
  17.153-  =skel= offers a mechanism for generating and running Virtual
  17.154-  Machines (VMs) and Containers. Under the hood we depend on [[https://podman.io/][podman]]
  17.155-  for our container runtime as well as [[https://www.qemu.org/][QEMU]] for some
  17.156-  functionality.
  17.157-
  17.158-** TODO emacs integration
  17.159-:PROPERTIES:
  17.160-:ID:       3df22a04-3f6b-4738-bd5f-3eb91977d3af
  17.161-:END:
  17.162-- State "TODO"       from              [2023-12-09 Sat 19:30]
  17.163-=sk.el= is the Emacs support package for skel. It contains a
  17.164-=skel-mode= for working with skelfiles and will soon contain
  17.165-additional built-in integrations for =project.el=, =vc.el=, and more.
  17.166-** TODO deployment
  17.167-:PROPERTIES:
  17.168-:ID:       7e66bdf6-304e-423e-8db4-783e7f6ccfd7
  17.169-:END:
  17.170-- State "TODO"       from              [2023-12-09 Sat 19:37]
  17.171-** TODO visualization
  17.172-:PROPERTIES:
  17.173-:ID:       efa22675-70d6-453f-b377-8e76875e5f1f
  17.174-:END:
  17.175-- State "TODO"       from              [2023-12-09 Sat 19:37]
  17.176-* help
  17.177-:PROPERTIES:
  17.178-:ID:       f8e9fab4-67dc-4e7f-b172-7e0fc21047ad
  17.179-:END:
  17.180-#+begin_src shell :results pp replace :exports both
  17.181-skel -h
  17.182-#+end_src
  17.183-
  17.184-#+RESULTS:
  17.185-#+begin_example
  17.186-skel v0.1.1 --- A hacker's project compiler.
  17.187-
  17.188-  usage: skel [global] <command> [<arg>]
  17.189-
  17.190-options:
  17.191-  -h/--help* :  print this message
  17.192-  -v/--version* :  print version
  17.193-  -l/--level* :  set log level (warn,info,debug,trace)
  17.194-  -c/--config* :  set a custom skel user config
  17.195-  -i/--input* :  input source
  17.196-  -o/--output* :  output target
  17.197-
  17.198-commands:
  17.199-  init : initialize a skelfile in the current directory
  17.200-    -n/--name :  project name
  17.201-  new : make a new skel project
  17.202-    -n/--name :  project name
  17.203-  describe : describe a skelfile
  17.204-  show : show project slots
  17.205-    -f/--file :  path to skelfile
  17.206-    -u/--user :  print user configuration
  17.207-    -s/--system :  print system configuration
  17.208-  vc : version control
  17.209-    -r/--root :  repository path
  17.210-  id : print the project id
  17.211-  rev : print the current vc revision id
  17.212-  inspect : inspect the project skelfile
  17.213-    -f/--file :  path to skelfile
  17.214-  make : build project targets
  17.215-    -t/--target :  target to build
  17.216-  run : run a script or command
  17.217-  status : print the vc status
  17.218-  push : push the current project upstream
  17.219-  pull : pull the current project from remote
  17.220-  clone : clone a remote project
  17.221-  commit : commit changes to the project vc
  17.222-  edit : edit a project file in emacs.
  17.223-  shell : open the sk-shell interpreter
  17.224-#+end_example
  17.225-
    18.1--- a/core/ffi.org	Wed Sep 04 17:00:36 2024 -0400
    18.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3@@ -1,97 +0,0 @@
    18.4-#+title: ffi
    18.5-#+author: Richard Westhaver
    18.6-#+setupfile: ../../clean.theme
    18.7-#+OPTIONS: num:nil
    18.8-#+infojs_opt: toc:nil home:https://compiler.company up:./ view:content
    18.9-This doc is about the [[https://en.wikipedia.org/wiki/Foreign_function_interface][Foreign Function Interface]] (FFI) features of the
   18.10-=core=. 
   18.11-
   18.12-Besides accessing system, OS, and external libraries via binding code
   18.13-(dynamically in Lisp, statically in Rust), we also expose parts of the
   18.14-core in a C-compatible fashion. In Lisp, we use the SB-ALIEN interface
   18.15-to load (with dlopen) and call foreign symbols. In Rust we mostly use
   18.16-rust-bindgen and the built-in rustc features.
   18.17-
   18.18-* Libraries
   18.19-:PROPERTIES:
   18.20-:ID:       1eb797dc-d617-46cc-89e8-7b6103e526d2
   18.21-:END:
   18.22-The following binding libraries are provided with supporting
   18.23-code. There is some cross-over between the Lisp and Rust bindings
   18.24-depending on what library features we need and where. Some of the
   18.25-bindings are very minimal or for experimental-use only only.
   18.26-** xkb
   18.27-:PROPERTIES:
   18.28-:ID:       79b3a686-efe9-411e-9d1e-358113622949
   18.29-:END:
   18.30-These bindings are actually directed at libxkbcommon instead of
   18.31-x11/xkb directly.
   18.32-*** xkbcommon
   18.33-:PROPERTIES:
   18.34-:ID:       9b9be592-1314-4926-940a-908ff4844e29
   18.35-:END:
   18.36-https://xkbcommon.org/doc/current/md_doc_2quick-guide.html
   18.37-** rocksdb
   18.38-:PROPERTIES:
   18.39-:ID:       5a1fd665-b72a-4d62-af4c-4967825f69c6
   18.40-:END:
   18.41-[[https://github.com/facebook/rocksdb/wiki][RocksDB Wiki]]
   18.42-** btrfs
   18.43-:PROPERTIES:
   18.44-:ID:       6b3dc423-0e1c-458d-9f8e-bf7456f9a048
   18.45-:END:
   18.46-The kernel headers btrfs and btrfs_tree will be wrapped at some point
   18.47-in addition to the userspace library (btrfsutil) documented below.
   18.48-*** btrfsutil
   18.49-:PROPERTIES:
   18.50-:ID:       7296995d-2b67-45ec-94d9-8fe23126a602
   18.51-:END:
   18.52-https://github.com/kdave/btrfs-progs
   18.53-** uring
   18.54-:PROPERTIES:
   18.55-:ID:       c0750228-7ba8-445a-8790-ca0310cf0a7d
   18.56-:END:
   18.57-https://man.archlinux.org/man/io_uring.7.en
   18.58-** zstd
   18.59-:PROPERTIES:
   18.60-:ID:       6dbfed55-0d07-4090-bc3b-ea9317d9bfe5
   18.61-:END:
   18.62-zstd compression bindings: https://github.com/facebook/zstd
   18.63-** tree-sitter
   18.64-:PROPERTIES:
   18.65-:ID:       8527c382-ae65-4ad9-8f70-9ff5c6b152f0
   18.66-:END:
   18.67-bindings to tree-sitter parser generator and language libraries: https://github.com/tree-sitter/tree-sitter
   18.68-** COMMENT blake3
   18.69-:PROPERTIES:
   18.70-:ID:       a1807b79-9811-49f0-9524-cbf5e88c1a66
   18.71-:END:
   18.72-temporary package for CL implementation of Blake3 SHA. Wraps C
   18.73-implementation (libblake3).
   18.74-** COMMENT alpm
   18.75-:PROPERTIES:
   18.76-:ID:       cdd1682c-39b0-450e-a979-a5637cd15f43
   18.77-:END:
   18.78-https://man.archlinux.org/man/core/pacman/libalpm.3.en
   18.79-https://github.com/archlinux/alpm.rs/tree/382af70cdbff8e1f65c0bf8df79693786f44429c/alpm/examples
   18.80-
   18.81-** COMMENT bqn
   18.82-:PROPERTIES:
   18.83-:ID:       5014f979-5b3a-4dfc-89e3-5a5a23462a29
   18.84-:END:
   18.85-These bindings are for libcbqn which can be build from CBQN:
   18.86-https://github.com/dzaima/CBQN
   18.87-** COMMENT k
   18.88-:PROPERTIES:
   18.89-:ID:       47a60640-e387-4ac7-ab45-4f7a763e9611
   18.90-:END:
   18.91-https://codeberg.org/ngn/k
   18.92-bindings for ngn/k (libk).
   18.93-** COMMENT nuklear
   18.94-:PROPERTIES:
   18.95-:ID:       e1e942b2-ebe0-48e9-bdd3-f4e27b7fed7c
   18.96-:END:
   18.97-** COMMENT ssh2
   18.98-:PROPERTIES:
   18.99-:ID:       3c9e02d8-2c59-4ef5-8232-8422fd9e8ed3
  18.100-:END:
    19.1--- a/core/install.org	Wed Sep 04 17:00:36 2024 -0400
    19.2+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3@@ -1,34 +0,0 @@
    19.4-#+title: install
    19.5-#+author: Richard Westhaver
    19.6-#+email: ellis@rwest.io
    19.7-#+property: header-args :dir /home/ellis/comp/core/
    19.8-#+setupfile: ../../clean.theme
    19.9-#+OPTIONS: num:nil
   19.10-#+infojs_opt: toc:nil home:https://compiler.company up:./ view:showall
   19.11-The core is distributed via our public package registry:
   19.12-[[https://packy.compiler.company][packy.compiler.company]]. You can install any part of the core - from a
   19.13-complete Linux system to individual packages. Refer to the packy
   19.14-documentation for details.
   19.15-
   19.16-#+end_example
   19.17-* TODO Packages
   19.18-:PROPERTIES:
   19.19-:ID:       6152ea24-3ff8-4d63-b67b-a0dc27554088
   19.20-:END:
   19.21-- State "TODO"       from              [2023-11-25 Sat 18:28]
   19.22-** Crates                                                              :rust:
   19.23-:PROPERTIES:
   19.24-:ID:       f75312a3-128e-4f1e-b7b9-aeada4aed456
   19.25-:END:
   19.26-** ELPA                                                               :emacs:
   19.27-:PROPERTIES:
   19.28-:ID:       21e904b6-d85d-4028-a30e-2abca9f3ee74
   19.29-:END:
   19.30-** Quicklisp Dist                                                      :lisp:
   19.31-:PROPERTIES:
   19.32-:ID:       7d04b352-ac48-4198-9e60-920fa2d5ff33
   19.33-:END:
   19.34-** PKGBUILDs                                                         :pacman:
   19.35-:PROPERTIES:
   19.36-:ID:       2bcf0ab3-ff04-459c-a34a-c1095c950179
   19.37-:END:
    20.1--- a/core/lib/cli.org	Wed Sep 04 17:00:36 2024 -0400
    20.2+++ b/core/lib/cli.org	Sat Sep 07 22:34:47 2024 -0400
    20.3@@ -1,24 +1,16 @@
    20.4-#+title: CLI
    20.5+#+title: cli
    20.6 #+author: Richard Westhaver
    20.7 #+description: Command-line Interface Library
    20.8 #+setupfile: ../../../clean.theme
    20.9 #+filetags: lisp cli
   20.10 #+property: header-args :dir ~/comp/core/ :exports both
   20.11 #+setupfile: ../../../clean.theme
   20.12-#+INFOJS_OPT: toc:nil
   20.13-
   20.14 * Overview
   20.15 :PROPERTIES:
   20.16 :ID:       fb7c1b49-e293-41b7-863c-f38eaa361080
   20.17 :END:
   20.18-The =cli= library is a fully-featured toolkit for building [[https://en.wikipedia.org/wiki/Command-line_interface][CLI]]
   20.19-programs.
   20.20-
   20.21-
   20.22-* stats
   20.23-:PROPERTIES:
   20.24-:ID:       36ae93c8-83f4-4a03-a348-8eee8554c59a
   20.25-:END:
   20.26+The =cli= library is a fully-featured toolkit for working with and
   20.27+building [[https://en.wikipedia.org/wiki/Command-line_interface][CLI]] programs.
   20.28 ** dependencies
   20.29 :PROPERTIES:
   20.30 :ID:       5d0f369d-5de0-41b1-8288-2633a84c3a42
   20.31@@ -33,6 +25,7 @@
   20.32 - std
   20.33 - log
   20.34 - dat
   20.35+- obj
   20.36 
   20.37 ** dependents
   20.38 :PROPERTIES:
   20.39@@ -46,12 +39,15 @@
   20.40 
   20.41 #+RESULTS:
   20.42 - user
   20.43+- prelude
   20.44 - packy
   20.45+- box
   20.46 - pod
   20.47+- net
   20.48 - vc
   20.49 - skel
   20.50-- prelude
   20.51 - cli/tests
   20.52+- core/lib
   20.53 
   20.54 ** files
   20.55 :PROPERTIES:
   20.56@@ -79,6 +75,7 @@
   20.57 - tools/pacman.lisp
   20.58 - tools/cc.lisp
   20.59 - tools/systemd.lisp
   20.60+- tools/wg.lisp
   20.61 - tools/cargo.lisp
   20.62 - tools/sbcl.lisp
   20.63 - clap/pkg.lisp
   20.64@@ -102,32 +99,33 @@
   20.65 #+end_src
   20.66 
   20.67 #+RESULTS:
   20.68-- CLI/TOOLS/SBCL
   20.69-- CLI/CLAP/OBJ
   20.70-- CLI/CLAP/SIMPLE
   20.71-- CLI/SHELL
   20.72-- CLI/TOOLS/TERM
   20.73-- CLI/ANSI
   20.74-- CLI/CLAP/PROTO
   20.75-- CLI/CLAP/AST
   20.76-- CLI/ED
   20.77-- CLI/TOOLS/PACMAN
   20.78-- CLI/TOOLS/CARGO
   20.79-- CLI/CLAP
   20.80-- CLI
   20.81-- CLI/TOOLS/CC
   20.82-- CLI/CLAP/VARS
   20.83-- CLI/TESTS
   20.84-- CLI/TOOLS/TMUX
   20.85 - CLI/REPL
   20.86 - CLI/CLAP/UTIL
   20.87+- CLI/CLAP/PROTO
   20.88+- CLI/TOOLS/PACMAN
   20.89+- CLI/CLAP/OBJ
   20.90 - CLI/ENV
   20.91-- CLI/PROGRESS
   20.92+- CLI/CLAP/MACS
   20.93+- CLI/TOOLS/SBCL
   20.94+- CLI/TOOLS/WG
   20.95+- CLI/TOOLS/SYSTEMD
   20.96 - CLI/PROMPT
   20.97 - CLI-USER
   20.98+- CLI/PROGRESS
   20.99+- CLI/CLAP
  20.100+- CLI/TOOLS/TMUX
  20.101+- CLI/TESTS
  20.102+- CLI/ANSI
  20.103 - CLI/SPARK
  20.104-- CLI/CLAP/MACS
  20.105-- CLI/TOOLS/SYSTEMD
  20.106+- CLI/TOOLS/TERM
  20.107+- CLI/CLAP/AST
  20.108+- CLI/CLAP/VARS
  20.109+- CLI/ED
  20.110+- CLI/TOOLS/CARGO
  20.111+- CLI/CLAP/SIMPLE
  20.112+- CLI/TOOLS/CC
  20.113+- CLI
  20.114+- CLI/SHELL
  20.115 
  20.116 ** tests
  20.117 :PROPERTIES:
  20.118@@ -135,11 +133,12 @@
  20.119 :END:
  20.120 #+begin_src lisp :output replace
  20.121   (ql:quickload :cli/tests)
  20.122+  (rt:in-suite :cli)
  20.123   (print rt:*test-suite* nil)
  20.124 #+end_src
  20.125 
  20.126 #+RESULTS:
  20.127-: #<RT:TEST-SUITE CLI [11:11:0:0] {101709DC53}>
  20.128+: #<RT:TEST-SUITE CLI [11:11:0:0] {1003038B23}>
  20.129 
  20.130 #+begin_src lisp :output replace
  20.131   (rt:tests rt:*test-suite*)
  20.132@@ -147,15 +146,30 @@
  20.133 
  20.134 #+RESULTS:
  20.135 #+begin_example
  20.136-(#<RT:TEST SBCL-TOOLS :fn SBCL-TOOLS-TEST749 {10170B9CF3}>
  20.137- #<RT:TEST MAIN-OUTPUT :fn MAIN-OUTPUT-TEST748 {10170B9C03}>
  20.138- #<RT:TEST CLAP-AST :fn CLAP-AST-TEST747 {10170B9B13}>
  20.139- #<RT:TEST ENV :fn ENV-TEST746 {10170B9A23}>
  20.140- #<RT:TEST REPL :fn REPL-TEST745 {10170B9933}>
  20.141- #<RT:TEST SPARK :fn SPARK-TEST744 {10170B9843}>
  20.142- #<RT:TEST PROGRESS :fn PROGRESS-TEST743 {10170B9753}>
  20.143- #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST742 {10170B9663}>
  20.144- #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST741 {10170B9543}>
  20.145- #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST740 {101709EFF3}>
  20.146- #<RT:TEST ANSI :fn ANSI-TEST739 {101709DE63}>)
  20.147+(#<RT:TEST SBCL-TOOLS :fn SBCL-TOOLS-TEST787 {100303C973}>
  20.148+ #<RT:TEST CLAP-MAIN :fn CLAP-MAIN-TEST786 {100303C8E3}>
  20.149+ #<RT:TEST CLI-AST :fn CLI-AST-TEST785 {100303C823}>
  20.150+ #<RT:TEST ENV :fn ENV-TEST784 {100303C793}>
  20.151+ #<RT:TEST REPL :fn REPL-TEST783 {100303C703}>
  20.152+ #<RT:TEST SPARK :fn SPARK-TEST782 {100303C673}>
  20.153+ #<RT:TEST PROGRESS :fn PROGRESS-TEST781 {100303C5E3}>
  20.154+ #<RT:TEST CLAP-OPTS :fn CLAP-OPTS-TEST780 {100303C553}>
  20.155+ #<RT:TEST CLAP-BASIC :fn CLAP-BASIC-TEST779 {100303C493}>
  20.156+ #<RT:TEST CLI-PROMPT :fn CLI-PROMPT-TEST778 {1003038F83}>
  20.157+ #<RT:TEST ANSI :fn ANSI-TEST777 {1003038D33}>)
  20.158 #+end_example
  20.159+* Packages
  20.160+** cli/clap
  20.161+- nicknames :: clap
  20.162+
  20.163+=clap= is a name borrowed from the [[https://github.com/clap-rs/clap][clap.rs]] Command Line Argument
  20.164+Parser. What can I say, it's a good acronym.
  20.165+
  20.166+Besides the system tests, you can find this package used in our lisp
  20.167+applications (=lisp/bin=).
  20.168+
  20.169+=clap= provides an object protocol and classes which parse input into
  20.170+a simple AST and execute the appropriate option and command handlers.
  20.171+
  20.172+Several macros form the public API used to build a CLI including
  20.173+=defcommand=, =defopt=, =define-cli=, and =defmain=.
    21.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2+++ b/core/lib/ffi.org	Sat Sep 07 22:34:47 2024 -0400
    21.3@@ -0,0 +1,96 @@
    21.4+#+title: ffi
    21.5+#+author: Richard Westhaver
    21.6+#+setupfile: ../../clean.theme
    21.7+#+OPTIONS: num:nil
    21.8+This doc is about the [[https://en.wikipedia.org/wiki/Foreign_function_interface][Foreign Function Interface]] (FFI) features of the
    21.9+=core=. 
   21.10+
   21.11+Besides accessing system, OS, and external libraries via binding code
   21.12+(dynamically in Lisp, statically in Rust), we also expose parts of the
   21.13+core in a C-compatible fashion. In Lisp, we use the SB-ALIEN interface
   21.14+to load (with dlopen) and call foreign symbols. In Rust we mostly use
   21.15+rust-bindgen and the built-in rustc features.
   21.16+
   21.17+* Libraries
   21.18+:PROPERTIES:
   21.19+:ID:       1eb797dc-d617-46cc-89e8-7b6103e526d2
   21.20+:END:
   21.21+The following binding libraries are provided with supporting
   21.22+code. There is some cross-over between the Lisp and Rust bindings
   21.23+depending on what library features we need and where. Some of the
   21.24+bindings are very minimal or for experimental-use only only.
   21.25+** xkb
   21.26+:PROPERTIES:
   21.27+:ID:       79b3a686-efe9-411e-9d1e-358113622949
   21.28+:END:
   21.29+These bindings are actually directed at libxkbcommon instead of
   21.30+x11/xkb directly.
   21.31+*** xkbcommon
   21.32+:PROPERTIES:
   21.33+:ID:       9b9be592-1314-4926-940a-908ff4844e29
   21.34+:END:
   21.35+https://xkbcommon.org/doc/current/md_doc_2quick-guide.html
   21.36+** rocksdb
   21.37+:PROPERTIES:
   21.38+:ID:       5a1fd665-b72a-4d62-af4c-4967825f69c6
   21.39+:END:
   21.40+[[https://github.com/facebook/rocksdb/wiki][RocksDB Wiki]]
   21.41+** btrfs
   21.42+:PROPERTIES:
   21.43+:ID:       6b3dc423-0e1c-458d-9f8e-bf7456f9a048
   21.44+:END:
   21.45+The kernel headers btrfs and btrfs_tree will be wrapped at some point
   21.46+in addition to the userspace library (btrfsutil) documented below.
   21.47+*** btrfsutil
   21.48+:PROPERTIES:
   21.49+:ID:       7296995d-2b67-45ec-94d9-8fe23126a602
   21.50+:END:
   21.51+https://github.com/kdave/btrfs-progs
   21.52+** uring
   21.53+:PROPERTIES:
   21.54+:ID:       c0750228-7ba8-445a-8790-ca0310cf0a7d
   21.55+:END:
   21.56+https://man.archlinux.org/man/io_uring.7.en
   21.57+** zstd
   21.58+:PROPERTIES:
   21.59+:ID:       6dbfed55-0d07-4090-bc3b-ea9317d9bfe5
   21.60+:END:
   21.61+zstd compression bindings: https://github.com/facebook/zstd
   21.62+** tree-sitter
   21.63+:PROPERTIES:
   21.64+:ID:       8527c382-ae65-4ad9-8f70-9ff5c6b152f0
   21.65+:END:
   21.66+bindings to tree-sitter parser generator and language libraries: https://github.com/tree-sitter/tree-sitter
   21.67+** COMMENT blake3
   21.68+:PROPERTIES:
   21.69+:ID:       a1807b79-9811-49f0-9524-cbf5e88c1a66
   21.70+:END:
   21.71+temporary package for CL implementation of Blake3 SHA. Wraps C
   21.72+implementation (libblake3).
   21.73+** COMMENT alpm
   21.74+:PROPERTIES:
   21.75+:ID:       cdd1682c-39b0-450e-a979-a5637cd15f43
   21.76+:END:
   21.77+https://man.archlinux.org/man/core/pacman/libalpm.3.en
   21.78+https://github.com/archlinux/alpm.rs/tree/382af70cdbff8e1f65c0bf8df79693786f44429c/alpm/examples
   21.79+
   21.80+** COMMENT bqn
   21.81+:PROPERTIES:
   21.82+:ID:       5014f979-5b3a-4dfc-89e3-5a5a23462a29
   21.83+:END:
   21.84+These bindings are for libcbqn which can be build from CBQN:
   21.85+https://github.com/dzaima/CBQN
   21.86+** COMMENT k
   21.87+:PROPERTIES:
   21.88+:ID:       47a60640-e387-4ac7-ab45-4f7a763e9611
   21.89+:END:
   21.90+https://codeberg.org/ngn/k
   21.91+bindings for ngn/k (libk).
   21.92+** COMMENT nuklear
   21.93+:PROPERTIES:
   21.94+:ID:       e1e942b2-ebe0-48e9-bdd3-f4e27b7fed7c
   21.95+:END:
   21.96+** COMMENT ssh2
   21.97+:PROPERTIES:
   21.98+:ID:       3c9e02d8-2c59-4ef5-8232-8422fd9e8ed3
   21.99+:END:
    22.1--- a/core/lib/readme.org	Wed Sep 04 17:00:36 2024 -0400
    22.2+++ b/core/lib/readme.org	Sat Sep 07 22:34:47 2024 -0400
    22.3@@ -4,8 +4,6 @@
    22.4 #+EXPORT_FILE_NAME: index
    22.5 #+SETUPFILE: ../../../clean.theme
    22.6 #+OPTIONS: num:nil
    22.7-#+INFOJS_OPT: toc:nil view:content
    22.8-
    22.9 * [[file:skel.org][skel]]                                                                 :lisp:
   22.10 :PROPERTIES:
   22.11 :ID:       83b68f7e-441e-441b-a3ed-b7bedf315826
   22.12@@ -26,11 +24,11 @@
   22.13 :PROPERTIES:
   22.14 :ID:       09fccaf4-3146-480a-850c-c504e6ed202b
   22.15 :END:
   22.16-* [[file:aud.org][aud]]                                                                :lisp:
   22.17+* [[file:aud.org][aud]]                                                                  :lisp:
   22.18 :PROPERTIES:
   22.19 :ID:       3dab36fa-f36d-4573-ac93-74a0d7322e78
   22.20 :END:
   22.21-* [[file:krypt.org][krypt]]                                                                :rust:lisp:
   22.22+* [[file:krypt.org][krypt]]                                                                :lisp:
   22.23 :PROPERTIES:
   22.24 :ID:       cf8ceb4c-fef3-45f0-9e5b-dd9fb910c52c
   22.25 :END:
   22.26@@ -46,7 +44,7 @@
   22.27 :PROPERTIES:
   22.28 :ID:       2217d09a-4be9-4259-bc66-58042bd7c8f1
   22.29 :END:
   22.30-* [[file:io.org][io]]                                                                  :lisp:
   22.31+* [[file:io.org][io]]                                                                   :lisp:
   22.32 :PROPERTIES:
   22.33 :ID:       df1dcb54-4e5e-4420-89fa-1e5aa91f31c0
   22.34 :END:
    23.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2+++ b/core/man.org	Sat Sep 07 22:34:47 2024 -0400
    23.3@@ -0,0 +1,48 @@
    23.4+#+title: Core User Manual
    23.5+#+author: Richard Westhaver
    23.6+#+email: ellis@rwest.io
    23.7+#+property: header-args :dir ~/comp/core/
    23.8+#+setupfile: ../../clean.theme
    23.9+#+texinfo_filename: core.info
   23.10+#+texinfo_dir_category: Software development
   23.11+#+texinfo_dir_title: Core: (core)
   23.12+#+texinfo_dir_desc: CC Software Development Ecosystem
   23.13+This manual documents the [[comp:][CC]] [[vc:core][core]] software. The core is a
   23.14+multi-language library and framework used to build advanced
   23.15+applications. It is composed of language-specific collections of
   23.16+interconnected libraries providing an exceptionally powerful
   23.17+development ecosystem.
   23.18+
   23.19+* Introduction
   23.20+:PROPERTIES:
   23.21+:ID:       156ffb70-9e00-4532-be47-b921c1825a91
   23.22+:END:
   23.23+Welcome to the core, the software development ecosystem of [[comp:][CC]].
   23.24+
   23.25+The idea of a =core= is probably one that you are quite familiar with
   23.26+as a developer of software. It implies something that is fundamental;
   23.27+the 'machine behind the machine', whatever the machine may be.
   23.28+
   23.29+The =core= is often the most important part of your application - the
   23.30+one you want to get right. Where things get tricky is when you have
   23.31+many different applications, all which have a =core=, which you
   23.32+need to get right to avoid embarassment.
   23.33+
   23.34+The natural evolution is to start abstracting away the commonalities
   23.35+between your application core, refactoring them into a new project. As
   23.36+your applications grow, you keep searching for common patterns and
   23.37+refactoring. The circle of life goes on.
   23.38+
   23.39+This is *not* how the CC core is developed. Our core does not inherit
   23.40+from applications. It is not a 'top-down' system. Instead, it is built
   23.41+'bottom-up' from scratch and kept insulated (but not completely
   23.42+isolated) from applications.
   23.43+
   23.44+This design decision is rooted in a philosophy which favors the
   23.45+developer, or more specifically the /hacker/ over all other
   23.46+stake-holders in our systems.
   23.47+
   23.48+* Overview
   23.49+:PROPERTIES:
   23.50+:ID:       ceb67759-c656-411d-a0c0-df19b18732e5
   23.51+:END:
    24.1--- a/core/readme.org	Wed Sep 04 17:00:36 2024 -0400
    24.2+++ b/core/readme.org	Sat Sep 07 22:34:47 2024 -0400
    24.3@@ -4,37 +4,31 @@
    24.4 #+options: num:nil toc:nil
    24.5 #+EXPORT_FILE_NAME: index
    24.6 #+setupfile: ../../clean.theme
    24.7-- [[file:install.org][Install]] :: Install Guide
    24.8 - [[file:tests.org][Tests]] :: Testing Guide
    24.9 - [[file:stats.org][Stats]] :: Project Statistics
   24.10 - [[comp:plan/tasks/core.html][Tasks]] :: Project Tasks
   24.11-* [[file:api.org][API]] 
   24.12+* [[file:ref.org][REF]]
   24.13 :PROPERTIES:
   24.14-:ID:       7a7f4c1c-91d3-44f5-a4c8-ecbe8af8ccf7
   24.15+:ID:       e758fcdb-eb07-4549-81cb-103e52eb2023
   24.16 :END:
   24.17-API Docs
   24.18-* [[file:app][APP]] 
   24.19-:PROPERTIES:
   24.20-:ID:       65f9b0db-5d7f-4b3e-a6ad-0f18abba83a2
   24.21-:END:
   24.22-App Docs
   24.23-* [[file:lib][LIB]] 
   24.24+API Reference
   24.25+** [[file:lib][LIB]] 
   24.26 :PROPERTIES:
   24.27 :ID:       c22675d3-4563-447a-a4a6-7bad2aa5ba04
   24.28 :END:
   24.29-Library Docs
   24.30-* [[file:ffi.org][FFI]] 
   24.31+Library APIs
   24.32+*** [[file:ffi.org][FFI]] 
   24.33 :PROPERTIES:
   24.34 :ID:       a19243db-8b05-4e43-963e-e82bc5a1793c
   24.35 :END:
   24.36-FFI Docs
   24.37-* [[file:ref][REF]]
   24.38-:PROPERTIES:
   24.39-:ID:       e758fcdb-eb07-4549-81cb-103e52eb2023
   24.40-:END:
   24.41-Reference Manual
   24.42-* [[file:man][MAN]]
   24.43+FFI Bindings
   24.44+* [[file:man.org][MAN]]
   24.45 :PROPERTIES:
   24.46 :ID:       94b7c326-421d-4fa2-9673-52466c846aab
   24.47 :END:
   24.48 User Manual
   24.49+** [[file:app][APP]] 
   24.50+:PROPERTIES:
   24.51+:ID:       65f9b0db-5d7f-4b3e-a6ad-0f18abba83a2
   24.52+:END:
   24.53+Application Manuals
    25.1--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2+++ b/core/ref.org	Sat Sep 07 22:34:47 2024 -0400
    25.3@@ -0,0 +1,14 @@
    25.4+#+title: Core API
    25.5+#+author: Richard Westhaver
    25.6+#+options: ^:nil toc:nil num:nil html-postamble:nil
    25.7+#+setupfile: ../../clean.theme
    25.8+#+OPTIONS: num:nil
    25.9+This documentation is automatically generated based on the default
   25.10+branch of the [[https://vc.compiler.company/core][core]].
   25.11+
   25.12+#+call: user-slime()
   25.13+
   25.14+#+begin_src lisp :results output replace
   25.15+#+end_src
   25.16+
   25.17+#+RESULTS:
    26.1--- a/core/stats.org	Wed Sep 04 17:00:36 2024 -0400
    26.2+++ b/core/stats.org	Sat Sep 07 22:34:47 2024 -0400
    26.3@@ -1,18 +1,37 @@
    26.4-# -*- org-export-babel-evaluate: nil -*-
    26.5 #+title: stats
    26.6 #+author: Richard Westhaver
    26.7-#+property: header-args :dir /home/ellis/comp/core/
    26.8+#+OPTIONS: num:nil
    26.9+#+property: header-args :dir ~/comp/core/ :exports results
   26.10+#+location: ~/comp/core
   26.11 #+setupfile: ../../clean.theme
   26.12-#+OPTIONS: num:nil
   26.13-#+infojs_opt: toc:nil home:https://compiler.company up:./ view:content
   26.14-#+property: header-args :dir /home/ellis/comp/core/ :eval no-export
   26.15-* vc
   26.16-:PROPERTIES:
   26.17-:ID:       c5078cb0-d8bf-4281-a320-a49d258585bc
   26.18-:END:
   26.19-#+begin_src shell :results pp :exports results
   26.20-  hg churn -f "%Y-%m" -s
   26.21-#+end_src
   26.22+#+BEGIN: project-info
   26.23+#+CALL: project-details() :dir ~/comp/core/
   26.24+
   26.25+#+RESULTS:
   26.26+|-------------+-------------------------------------------------------------------------|
   26.27+| name        | core                                                                    |
   26.28+| version     | 0.1.0                                                                   |
   26.29+| description | The Compiler Company Core                                               |
   26.30+| id          | 15bc-b763-ec92-1cf5                                                     |
   26.31+| root        | ~/comp/core/                                                            |
   26.32+| vc          | :hg [[https://vc.compiler.company/core][vc.compiler.company/core]] :rev [[https://vc.compiler.company/core/rev/b88bf15f60d0][b88bf15f60d0]] :id 637+                 |
   26.33+| tags        | (core lisp rust emacs c)                                                |
   26.34+| updated     | 3 days ago                                                              |
   26.35+| langs       | (c cheader elisp html javascript json lisp makefile org rust text toml) |
   26.36+| lines       | 95432 :λ 73671 :# 10159 :_ 11602                                        |
   26.37+|-------------+-------------------------------------------------------------------------|
   26.38+
   26.39+#+CALL: hg-status() :dir ~/comp/core/
   26.40+
   26.41+#+RESULTS:
   26.42+| M | emacs/default.el     |
   26.43+| M | emacs/lib/graph.el   |
   26.44+| M | emacs/lib/inbox.el   |
   26.45+| M | emacs/lib/publish.el |
   26.46+| M | emacs/lib/scrum.el   |
   26.47+| M | emacs/lib/ulang.el   |
   26.48+
   26.49+#+CALL: hg-churn() :dir ~/comp/core/
   26.50 
   26.51 #+RESULTS:
   26.52 #+begin_example
   26.53@@ -26,36 +45,26 @@
   26.54 2024-05  24141 ***********************
   26.55 2024-06  17608 *****************
   26.56 2024-07   9757 *********
   26.57-2024-08  13993 *************
   26.58+2024-08  16177 ****************
   26.59+2024-09   2430 **
   26.60 #+end_example
   26.61 
   26.62-* files
   26.63-:PROPERTIES:
   26.64-:ID:       5fc970df-a6d1-4670-9673-e53ce70354bb
   26.65-:END:
   26.66-#+begin_src shell :results pp :exports results
   26.67-  cd rust && cargo clean && cd ..
   26.68-  tokei -t='rust','lisp','c','c header','makefile','shell'
   26.69-#+end_src
   26.70+#+CALL: files() :dir ~/comp/core/
   26.71 
   26.72 #+RESULTS:
   26.73-#+begin_example
   26.74-===============================================================================
   26.75- Language            Files        Lines         Code     Comments       Blanks
   26.76-===============================================================================
   26.77- C                       1           65           35           11           19
   26.78- C Header                2         1194          318          721          155
   26.79- Lisp                  507        74118        56975         7867         9276
   26.80- Makefile                1            6            6            0            0
   26.81--------------------------------------------------------------------------------
   26.82- Rust                  145        12142        10477          468         1197
   26.83- |- Markdown           103          801            0          706           95
   26.84- (Total)                          12943        10477         1174         1292
   26.85-===============================================================================
   26.86- Total                 656        87525        67811         9067        10647
   26.87-===============================================================================
   26.88-#+end_example
   26.89+| file       | size |          updated |
   26.90+|------------+------+------------------|
   26.91+| emacs      |  110 | 2024-09-07-19:30 |
   26.92+| emacs.sk   |  100 | 2024-07-26-21:46 |
   26.93+| lisp       |  182 | 2024-09-02-17:12 |
   26.94+| lisp.sk    |  240 | 2024-08-15-21:56 |
   26.95+| readme.org |  13K | 2024-09-04-20:22 |
   26.96+| rust       |   86 | 2024-08-25-20:40 |
   26.97+| rust.sk    |  194 | 2024-06-25-19:51 |
   26.98+| skelfile   | 6.0K | 2024-09-03-17:01 |
   26.99+| x.lisp     |  11K | 2024-08-23-18:40 |
  26.100 
  26.101+#+END:
  26.102 * lisp
  26.103 :PROPERTIES:
  26.104 :ID:       7293eb8c-a5e7-414f-b1eb-33239adf7873
  26.105@@ -183,6 +192,265 @@
  26.106                                     (doc:doc-files s))))))
  26.107 #+end_src
  26.108 
  26.109+#+RESULTS:
  26.110+| lisp/std/defpkg.lisp                               |
  26.111+| lisp/std/pkg.lisp                                  |
  26.112+| lisp/std/condition.lisp                            |
  26.113+| lisp/std/sym.lisp                                  |
  26.114+| lisp/std/list.lisp                                 |
  26.115+| lisp/std/type.lisp                                 |
  26.116+| lisp/std/num/float.lisp                            |
  26.117+| lisp/std/num/parse.lisp                            |
  26.118+| lisp/std/num/leb128.lisp                           |
  26.119+| lisp/std/stream.lisp                               |
  26.120+| lisp/std/fu/curry.lisp                             |
  26.121+| lisp/std/array.lisp                                |
  26.122+| lisp/std/hash-table.lisp                           |
  26.123+| lisp/std/alien.lisp                                |
  26.124+| lisp/std/mop.lisp                                  |
  26.125+| lisp/std/readtable.lisp                            |
  26.126+| lisp/std/macs/ana.lisp                             |
  26.127+| lisp/std/macs/pan.lisp                             |
  26.128+| lisp/std/macs/const.lisp                           |
  26.129+| lisp/std/macs/collecting.lisp                      |
  26.130+| lisp/std/macs/loop.lisp                            |
  26.131+| lisp/std/macs/control.lisp                         |
  26.132+| lisp/std/bit.lisp                                  |
  26.133+| lisp/std/thread.lisp                               |
  26.134+| lisp/std/task.lisp                                 |
  26.135+| lisp/std/fmt.lisp                                  |
  26.136+| lisp/std/path.lisp                                 |
  26.137+| lisp/std/os.lisp                                   |
  26.138+| lisp/std/file.lisp                                 |
  26.139+| lisp/std/string.lisp                               |
  26.140+| lisp/std/seq.lisp                                  |
  26.141+| lisp/std/sys.lisp                                  |
  26.142+| lisp/lib/cli/pkg.lisp                              |
  26.143+| lisp/lib/cli/ansi.lisp                             |
  26.144+| lisp/lib/cli/env.lisp                              |
  26.145+| lisp/lib/cli/progress.lisp                         |
  26.146+| lisp/lib/cli/spark.lisp                            |
  26.147+| lisp/lib/cli/repl.lisp                             |
  26.148+| lisp/lib/cli/shell.lisp                            |
  26.149+| lisp/lib/cli/prompt.lisp                           |
  26.150+| lisp/lib/cli/ed.lisp                               |
  26.151+| lisp/lib/cli/tools/pkg.lisp                        |
  26.152+| lisp/lib/cli/tools/term.lisp                       |
  26.153+| lisp/lib/cli/tools/tmux.lisp                       |
  26.154+| lisp/lib/cli/tools/pacman.lisp                     |
  26.155+| lisp/lib/cli/tools/cc.lisp                         |
  26.156+| lisp/lib/cli/tools/systemd.lisp                    |
  26.157+| lisp/lib/cli/tools/wg.lisp                         |
  26.158+| lisp/lib/cli/tools/cargo.lisp                      |
  26.159+| lisp/lib/cli/tools/sbcl.lisp                       |
  26.160+| lisp/lib/cli/clap/pkg.lisp                         |
  26.161+| lisp/lib/cli/clap/ast.lisp                         |
  26.162+| lisp/lib/cli/clap/vars.lisp                        |
  26.163+| lisp/lib/cli/clap/util.lisp                        |
  26.164+| lisp/lib/cli/clap/macs.lisp                        |
  26.165+| lisp/lib/cli/clap/proto.lisp                       |
  26.166+| lisp/lib/cli/clap/opt.lisp                         |
  26.167+| lisp/lib/cli/clap/cmd.lisp                         |
  26.168+| lisp/lib/cli/clap/cli.lisp                         |
  26.169+| lisp/lib/cli/cli.lisp                              |
  26.170+| lisp/lib/log/pkg.lisp                              |
  26.171+| lisp/lib/log/err.lisp                              |
  26.172+| lisp/lib/log/log.lisp                              |
  26.173+| lisp/lib/log/stream.lisp                           |
  26.174+| lisp/lib/dat/pkg.lisp                              |
  26.175+| lisp/lib/dat/proto.lisp                            |
  26.176+| lisp/lib/dat/sxp.lisp                              |
  26.177+| lisp/lib/dat/dot.lisp                              |
  26.178+| lisp/lib/dat/csv.lisp                              |
  26.179+| lisp/lib/dat/json.lisp                             |
  26.180+| lisp/lib/dat/parquet/gen.lisp                      |
  26.181+| lisp/lib/dat/parquet/pkg.lisp                      |
  26.182+| lisp/lib/dat/parquet/obj.lisp                      |
  26.183+| lisp/lib/dat/parquet/thrift.lisp                   |
  26.184+| lisp/lib/dat/parquet/tcompact.lisp                 |
  26.185+| lisp/lib/dat/parquet/io.lisp                       |
  26.186+| lisp/lib/dat/parquet/rle.lisp                      |
  26.187+| lisp/lib/dat/parquet/proto.lisp                    |
  26.188+| lisp/lib/dat/xml/xml.lisp                          |
  26.189+| lisp/lib/dat/xml/pkg.lisp                          |
  26.190+| lisp/lib/dat/xml/svg.lisp                          |
  26.191+| lisp/lib/dat/xml/fixml.lisp                        |
  26.192+| lisp/lib/dat/html/const.lisp                       |
  26.193+| lisp/lib/dat/html/entity.lisp                      |
  26.194+| lisp/lib/dat/html/html.lisp                        |
  26.195+| lisp/lib/dat/handlebars.lisp                       |
  26.196+| lisp/lib/dat/mime.lisp                             |
  26.197+| lisp/lib/dat/toml.lisp                             |
  26.198+| lisp/lib/dat/arff.lisp                             |
  26.199+| lisp/lib/dat/midi.lisp                             |
  26.200+| lisp/lib/dat/base64.lisp                           |
  26.201+| lisp/ffi/rocksdb/pkg.lisp                          |
  26.202+| lisp/ffi/rocksdb/prim.lisp                         |
  26.203+| lisp/ffi/rocksdb/types.lisp                        |
  26.204+| lisp/ffi/rocksdb/opts.lisp                         |
  26.205+| lisp/ffi/rocksdb/sst.lisp                          |
  26.206+| lisp/ffi/rocksdb/db.lisp                           |
  26.207+| lisp/ffi/rocksdb/checkpoint.lisp                   |
  26.208+| lisp/ffi/rocksdb/metadata.lisp                     |
  26.209+| lisp/ffi/rocksdb/merge.lisp                        |
  26.210+| lisp/ffi/rocksdb/compaction.lisp                   |
  26.211+| lisp/ffi/rocksdb/comparator.lisp                   |
  26.212+| lisp/ffi/rocksdb/slicetransform.lisp               |
  26.213+| lisp/ffi/rocksdb/writebatch.lisp                   |
  26.214+| lisp/ffi/rocksdb/logger.lisp                       |
  26.215+| lisp/ffi/rocksdb/stats.lisp                        |
  26.216+| lisp/ffi/rocksdb/vars.lisp                         |
  26.217+| lisp/ffi/rocksdb/macs.lisp                         |
  26.218+| lisp/ffi/btrfs/pkg.lisp                            |
  26.219+| lisp/ffi/btrfs/constants.lisp                      |
  26.220+| lisp/ffi/btrfs/util.lisp                           |
  26.221+| lisp/lib/doc/pkg.lisp                              |
  26.222+| lisp/lib/doc/proto.lisp                            |
  26.223+| lisp/lib/doc/err.lisp                              |
  26.224+| lisp/lib/doc/symbol.lisp                           |
  26.225+| lisp/lib/doc/file.lisp                             |
  26.226+| lisp/lib/doc/package.lisp                          |
  26.227+| lisp/lib/doc/system.lisp                           |
  26.228+| lisp/lib/doc/dist.lisp                             |
  26.229+| lisp/lib/doc/reprex.lisp                           |
  26.230+| lisp/lib/doc/explain.lisp                          |
  26.231+| lisp/lib/doc/image.lisp                            |
  26.232+| lisp/ffi/alsa/pkg.lisp                             |
  26.233+| lisp/ffi/alsa/constants.lisp                       |
  26.234+| lisp/lib/nlp/pkg.lisp                              |
  26.235+| lisp/lib/nlp/data.lisp                             |
  26.236+| lisp/lib/nlp/tokenize.lisp                         |
  26.237+| lisp/lib/nlp/doc.lisp                              |
  26.238+| lisp/lib/nlp/stem/porter.lisp                      |
  26.239+| lisp/lib/nlp/textrank.lisp                         |
  26.240+| lisp/lib/nlp/dbscan.lisp                           |
  26.241+| lisp/lib/nlp/section.lisp                          |
  26.242+| lisp/lib/skel/core/pkg.lisp                        |
  26.243+| lisp/lib/skel/core/err.lisp                        |
  26.244+| lisp/lib/skel/core/types.lisp                      |
  26.245+| lisp/lib/skel/core/proto.lisp                      |
  26.246+| lisp/lib/skel/core/header.lisp                     |
  26.247+| lisp/lib/skel/core/vars.lisp                       |
  26.248+| lisp/lib/skel/core/obj.lisp                        |
  26.249+| lisp/lib/skel/core/print.lisp                      |
  26.250+| lisp/lib/skel/core/util.lisp                       |
  26.251+| lisp/lib/skel/core/vm.lisp                         |
  26.252+| lisp/lib/skel/comp/pkg.lisp                        |
  26.253+| lisp/lib/skel/comp/asd.lisp                        |
  26.254+| lisp/lib/skel/comp/cargo.lisp                      |
  26.255+| lisp/lib/skel/comp/container.lisp                  |
  26.256+| lisp/lib/skel/comp/org.lisp                        |
  26.257+| lisp/lib/skel/comp/dir-locals.lisp                 |
  26.258+| lisp/lib/skel/comp/makefile.lisp                   |
  26.259+| lisp/lib/skel/pkg.lisp                             |
  26.260+| lisp/lib/skel/tools/pkg.lisp                       |
  26.261+| lisp/lib/skel/tools/deploy.lisp                    |
  26.262+| lisp/lib/skel/tools/viz.lisp                       |
  26.263+| lisp/lib/skel/ext/pkg.lisp                         |
  26.264+| lisp/lib/skel/ext/asdf.lisp                        |
  26.265+| lisp/lib/skel/ext/inspect.lisp                     |
  26.266+| lisp/lib/skel/ext/krypt.lisp                       |
  26.267+| lisp/lib/skel/ext/packy.lisp                       |
  26.268+| lisp/lib/skel/ext/net.lisp                         |
  26.269+| lisp/lib/syn/pkg.lisp                              |
  26.270+| lisp/lib/organ/pkg.lisp                            |
  26.271+| lisp/lib/organ/vars.lisp                           |
  26.272+| lisp/lib/organ/err.lisp                            |
  26.273+| lisp/lib/organ/proto.lisp                          |
  26.274+| lisp/lib/organ/util.lisp                           |
  26.275+| lisp/lib/organ/macs.lisp                           |
  26.276+| lisp/lib/organ/object/markup.lisp                  |
  26.277+| lisp/lib/organ/object/entity.lisp                  |
  26.278+| lisp/lib/organ/object/citation.lisp                |
  26.279+| lisp/lib/organ/object/footnote-ref.lisp            |
  26.280+| lisp/lib/organ/object/inline-babel-call.lisp       |
  26.281+| lisp/lib/organ/object/inline-source-block.lisp     |
  26.282+| lisp/lib/organ/object/line-break.lisp              |
  26.283+| lisp/lib/organ/object/link.lisp                    |
  26.284+| lisp/lib/organ/object/macro.lisp                   |
  26.285+| lisp/lib/organ/object/export-snippet.lisp          |
  26.286+| lisp/lib/organ/object/sscript.lisp                 |
  26.287+| lisp/lib/organ/object/stat-cookie.lisp             |
  26.288+| lisp/lib/organ/object/table-cell.lisp              |
  26.289+| lisp/lib/organ/object/target.lisp                  |
  26.290+| lisp/lib/organ/object/timestamp.lisp               |
  26.291+| lisp/lib/organ/element/lesser/paragraph.lisp       |
  26.292+| lisp/lib/organ/element/lesser/block.lisp           |
  26.293+| lisp/lib/organ/element/lesser/clock.lisp           |
  26.294+| lisp/lib/organ/element/lesser/diary-sexp.lisp      |
  26.295+| lisp/lib/organ/element/lesser/latex-env.lisp       |
  26.296+| lisp/lib/organ/element/lesser/comment.lisp         |
  26.297+| lisp/lib/organ/element/lesser/fixed-width.lisp     |
  26.298+| lisp/lib/organ/element/lesser/horizontal-rule.lisp |
  26.299+| lisp/lib/organ/element/lesser/keyword.lisp         |
  26.300+| lisp/lib/organ/element/lesser/planning.lisp        |
  26.301+| lisp/lib/organ/element/lesser/table-row.lisp       |
  26.302+| lisp/lib/organ/element/lesser/node-property.lisp   |
  26.303+| lisp/lib/organ/element/greater/plain-list.lisp     |
  26.304+| lisp/lib/organ/element/greater/block.lisp          |
  26.305+| lisp/lib/organ/element/greater/drawer.lisp         |
  26.306+| lisp/lib/organ/element/greater/footnote-def.lisp   |
  26.307+| lisp/lib/organ/element/greater/item.lisp           |
  26.308+| lisp/lib/organ/element/greater/table.lisp          |
  26.309+| lisp/lib/organ/element/headline.lisp               |
  26.310+| lisp/lib/organ/section.lisp                        |
  26.311+| lisp/lib/organ/heading.lisp                        |
  26.312+| lisp/lib/organ/document.lisp                       |
  26.313+| lisp/lib/packy/pkg.lisp                            |
  26.314+| lisp/lib/packy/vars.lisp                           |
  26.315+| lisp/lib/packy/proto.lisp                          |
  26.316+| lisp/lib/packy/pkgbuild.lisp                       |
  26.317+| lisp/lib/packy/db.lisp                             |
  26.318+| lisp/lib/packy/client.lisp                         |
  26.319+| lisp/lib/packy/server.lisp                         |
  26.320+| lisp/lib/obj/pkg.lisp                              |
  26.321+| lisp/lib/obj/meta/pkg.lisp                         |
  26.322+| lisp/lib/obj/meta/sealed.lisp                      |
  26.323+| lisp/lib/obj/meta/stealth.lisp                     |
  26.324+| lisp/lib/obj/meta/typed.lisp                       |
  26.325+| lisp/lib/obj/meta/filtered.lisp                    |
  26.326+| lisp/lib/obj/meta/fast.lisp                        |
  26.327+| lisp/lib/obj/meta/lazy.lisp                        |
  26.328+| lisp/lib/obj/meta/overloaded.lisp                  |
  26.329+| lisp/lib/obj/meta/storable.lisp                    |
  26.330+| lisp/lib/obj/hash/hasher.lisp                      |
  26.331+| lisp/lib/obj/hash/chash.lisp                       |
  26.332+| lisp/lib/obj/hash/map.lisp                         |
  26.333+| lisp/lib/obj/hash/set.lisp                         |
  26.334+| lisp/lib/obj/hash/castable.lisp                    |
  26.335+| lisp/lib/obj/id.lisp                               |
  26.336+| lisp/lib/obj/uri/pkg.lisp                          |
  26.337+| lisp/lib/obj/uri/domain.lisp                       |
  26.338+| lisp/lib/obj/uri/uri.lisp                          |
  26.339+| lisp/lib/obj/uri/mask.lisp                         |
  26.340+| lisp/lib/obj/uri/state.lisp                        |
  26.341+| lisp/lib/obj/uri/parse.lisp                        |
  26.342+| lisp/lib/obj/uri/print.lisp                        |
  26.343+| lisp/lib/obj/uri/path.lisp                         |
  26.344+| lisp/lib/obj/uri/intern.lisp                       |
  26.345+| lisp/lib/obj/url.lisp                              |
  26.346+| lisp/lib/obj/seq.lisp                              |
  26.347+| lisp/lib/obj/tree/node.lisp                        |
  26.348+| lisp/lib/obj/tree/avl.lisp                         |
  26.349+| lisp/lib/obj/tree/rb.lisp                          |
  26.350+| lisp/lib/obj/tree/bro.lisp                         |
  26.351+| lisp/lib/obj/graph/pkg.lisp                        |
  26.352+| lisp/lib/obj/equiv.lisp                            |
  26.353+| lisp/lib/obj/color/color.lisp                      |
  26.354+| lisp/lib/obj/color/util.lisp                       |
  26.355+| lisp/lib/obj/color/x11.lisp                        |
  26.356+| lisp/lib/obj/color/palette.lisp                    |
  26.357+| lisp/lib/obj/music/music.lisp                      |
  26.358+| lisp/lib/obj/time/local.lisp                       |
  26.359+| lisp/lib/obj/time/util.lisp                        |
  26.360+| lisp/lib/obj/uuid.lisp                             |
  26.361+| lisp/lib/obj/temperature.lisp                      |
  26.362+| lisp/lib/obj/direction.lisp                        |
  26.363+| lisp/lib/obj/shape.lisp                            |
  26.364+| lisp/lib/obj/query.lisp                            |
  26.365+| lisp/lib/obj/secret.lisp                           |
  26.366+| ...                                                |
  26.367+
  26.368 ** images
  26.369 :PROPERTIES:
  26.370 :ID:       a2c797aa-e7e0-44d7-b02d-261811ab4d71
  26.371@@ -210,7 +478,7 @@
  26.372 :ID:       243a971e-8312-4950-ad90-ac5dafceeab4
  26.373 :END:
  26.374 #+begin_src shell :exports both :results output
  26.375-cd rust && cargo tree --workspace --depth 1 --all-features
  26.376+cd rust && cargo tree --workspace --depth 1
  26.377 #+end_src
  26.378 
  26.379 #+RESULTS:
    27.1--- a/core/tests.org	Wed Sep 04 17:00:36 2024 -0400
    27.2+++ b/core/tests.org	Sat Sep 07 22:34:47 2024 -0400
    27.3@@ -4,7 +4,6 @@
    27.4 #+property: header-args :dir /home/ellis/comp/core/ :eval no-export
    27.5 #+setupfile: ../../clean.theme
    27.6 #+OPTIONS: num:nil
    27.7-#+infojs_opt: toc:nil home:https://compiler.company up:./ view:content
    27.8 Unit tests are performed on a per-lang basis and described in the
    27.9 sections below. 
   27.10 
   27.11@@ -12,95 +11,10 @@
   27.12 :PROPERTIES:
   27.13 :ID:       aab59686-a82b-4718-a8ed-93d96c2846fe
   27.14 :END:
   27.15-** sys
   27.16-:PROPERTIES:
   27.17-:ID:       01a2b4f4-f289-49cd-9108-cfd35d591403
   27.18-:END:
   27.19-These crates contain FFI bindings to foreign libraries, usually in C.
   27.20-*** btrfs
   27.21-:PROPERTIES:
   27.22-:ID:       5fe13144-8651-413f-b2a7-6c57bb780d60
   27.23-:END:
   27.24-*** btrfsutil
   27.25-:PROPERTIES:
   27.26-:ID:       0d74253d-634c-4865-afcd-1a2875062ed3
   27.27-:END:
   27.28-*** rocksdb
   27.29-:PROPERTIES:
   27.30-:ID:       b78abbdb-aeb4-4a7f-8712-f39b4ce14e23
   27.31-:END:
   27.32 ** lib
   27.33 :PROPERTIES:
   27.34 :ID:       b43b62b5-fad3-4ff0-9d90-ff5d6b60d84a
   27.35 :END:
   27.36-*** TODO alch
   27.37-:PROPERTIES:
   27.38-:ID:       8706627d-902d-4943-b775-f72a823d74a8
   27.39-:END:
   27.40-*** audio
   27.41-:PROPERTIES:
   27.42-:ID:       7ef2a0b3-4457-4b6f-8aa4-40f1707d6a99
   27.43-:END:
   27.44-#+begin_src shell :results output replace :exports results
   27.45-  cd rust/lib/audio
   27.46-  cargo test
   27.47-#+end_src
   27.48-
   27.49-#+RESULTS:
   27.50-#+begin_example
   27.51-
   27.52-running 1 test
   27.53-test default_device ... ok
   27.54-
   27.55-test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
   27.56-
   27.57-
   27.58-running 0 tests
   27.59-
   27.60-test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
   27.61-
   27.62-#+end_example
   27.63-
   27.64-*** crypto
   27.65-:PROPERTIES:
   27.66-:ID:       04a1b07d-0a9e-44eb-8791-242d69982867
   27.67-:END:
   27.68-#+begin_src shell :results output replace :exports results
   27.69-cd rust/lib/crypto
   27.70-cargo test
   27.71-#+end_src
   27.72-
   27.73-#+RESULTS:
   27.74-#+begin_example
   27.75-
   27.76-running 6 tests
   27.77-test tests::salsa20_key0_ivhi ... ok
   27.78-test tests::salsa20_key1_iv0 ... ok
   27.79-test tests::salsa20_key0_iv1 ... ok
   27.80-test tests::xsalsa20_encrypt_hello_world ... ok
   27.81-test tests::xsalsa20_encrypt_zeros ... ok
   27.82-test tests::gen_keypair ... ok
   27.83-
   27.84-test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
   27.85-
   27.86-
   27.87-running 0 tests
   27.88-
   27.89-test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
   27.90-
   27.91-#+end_example
   27.92-
   27.93-*** TODO db
   27.94-:PROPERTIES:
   27.95-:ID:       82ef593a-1b9b-4e6d-9975-02634e2aa529
   27.96-:END:
   27.97-#+begin_src shell :results output replace :exports results :eval no
   27.98-cd rust/lib/db
   27.99-cargo test
  27.100-#+end_src
  27.101-
  27.102-#+RESULTS:
  27.103-
  27.104 *** flate
  27.105 :PROPERTIES:
  27.106 :ID:       23599c41-ffde-4cb9-86de-018fea66de76
  27.107@@ -125,38 +39,6 @@
  27.108 
  27.109 #+end_example
  27.110 
  27.111-*** hash
  27.112-:PROPERTIES:
  27.113-:ID:       92cc5cfc-8112-4019-835f-71a437cec034
  27.114-:END:
  27.115-#+begin_src shell :results output replace :exports results
  27.116-cd rust/lib/hash
  27.117-cargo test
  27.118-#+end_src
  27.119-
  27.120-#+RESULTS:
  27.121-#+begin_example
  27.122-
  27.123-running 5 tests
  27.124-test tests::hex_hash ... ok
  27.125-test tests::id_hex ... ok
  27.126-test tests::id_state_hash ... ok
  27.127-test tests::rand_id ... ok
  27.128-test tests::random_demon_id_is_valid ... ok
  27.129-
  27.130-test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
  27.131-
  27.132-
  27.133-running 0 tests
  27.134-
  27.135-test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
  27.136-
  27.137-#+end_example
  27.138-
  27.139-*** krypt
  27.140-:PROPERTIES:
  27.141-:ID:       a8bd94aa-61a9-44ed-8b6b-8d0b880da45c
  27.142-:END:
  27.143 *** logger
  27.144 :PROPERTIES:
  27.145 :ID:       75607e41-c411-4e20-b00b-1a50c900e556
  27.146@@ -248,10 +130,6 @@
  27.147 
  27.148 #+end_example
  27.149 
  27.150-*** tenex
  27.151-:PROPERTIES:
  27.152-:ID:       ebc2e94b-d4ce-4d96-ab02-fa1c6926dde7
  27.153-:END:
  27.154 *** util
  27.155 :PROPERTIES:
  27.156 :ID:       5c490df8-7039-4729-bfa3-bfeebfac7533
  27.157@@ -284,12 +162,11 @@
  27.158 #+begin_src lisp :results silent :exports code
  27.159   (ql:quickload :prelude)
  27.160   ;; (require 'sb-cover)
  27.161-  (defpackage :core-coverage-report
  27.162-    (:use :cl :std :rt :rt/tracing))
  27.163 
  27.164-  (in-package :core-coverage-report)
  27.165+  (in-package :std-user)
  27.166+  (use-package :rt/tracing)
  27.167 
  27.168-  (defun gen-report (system &optional (directory #P"/mnt/y/data/packy/report/cover/core/"))
  27.169+  (defun gen-report (system &optional (directory #P"/tmp/core/"))
  27.170     (progn
  27.171       (declaim (optimize sb-cover:store-coverage-data))
  27.172       (asdf:compile-system system)
  27.173@@ -307,19 +184,18 @@
  27.174        (gen-report :vc)
  27.175        (gen-report :syn)
  27.176        (gen-report :parse)
  27.177-       (gen-report :cli)
  27.178-       (gen-report :xkb)
  27.179-       ;; (gen-report :btrfs)
  27.180-       (gen-report :tree-sitter)
  27.181-       ;; (gen-report :uring)
  27.182-       ;; (gen-report :zstd)
  27.183+       ;; (gen-report :cli)
  27.184+       ;; (gen-report :xkb)
  27.185+       (gen-report :btrfs)
  27.186+       ;; (gen-report :tree-sitter)
  27.187+       (gen-report :uring)
  27.188+       (gen-report :zstd)
  27.189        ;; (gen-report :blake3)
  27.190-       (gen-report :rocksdb)
  27.191+       ;; (gen-report :rocksdb)
  27.192        (gen-report :rdb)
  27.193-       ;; (gen-report :xdb)
  27.194        (gen-report :skel)
  27.195        (gen-report :organ)
  27.196-       (gen-report :nlp)
  27.197+       ;; (gen-report :nlp)
  27.198        (gen-report :obj)
  27.199        (gen-report :log)
  27.200        (gen-report :net)
  27.201@@ -328,13 +204,13 @@
  27.202 
  27.203 #+name: gen-trace-report
  27.204 #+begin_src lisp :results output :exports code
  27.205-  (trace "STD" "PARSE" "CLI" "XKB" "SKEL" "ORGAN" 
  27.206-         "OBJ" "XDB" "LOG" "NET" "PACKY" "NLP" "DAT"
  27.207-         "ROCKSDB" "BTRFS" "TREE-SITTER" "ZSTD" "BLAKE3" "URING")
  27.208+  (trace "STD" "PARSE" "SKEL" "ORGAN" ;; "CLI" "NLP"
  27.209+         "OBJ" "LOG" "NET" "PACKY" "DAT"
  27.210+         "RDB" "BTRFS" "SYN" "ZSTD" "URING")
  27.211   (rt/tracing:start-tracing)
  27.212   (gen-core-coverage-report)
  27.213   (rt/tracing:stop-tracing)
  27.214-  (rt/tracing:save-report "/mnt/y/data/packy/report/trace/core.json")
  27.215+  (rt/tracing:save-report "/tmp/core/core.json")
  27.216   (sb-thread:print-allocator-histogram)
  27.217   (std:dump-thread)
  27.218 #+end_src
    28.1--- a/demo/stats.org	Wed Sep 04 17:00:36 2024 -0400
    28.2+++ b/demo/stats.org	Sat Sep 07 22:34:47 2024 -0400
    28.3@@ -14,15 +14,20 @@
    28.4 #+end_src
    28.5 
    28.6 #+RESULTS:
    28.7-: 2023-04    949 *
    28.8-: 2023-05   7233 ***********
    28.9-: 2023-06  37455 *************************************************************
   28.10-: 2023-08     99 
   28.11-: 2023-12    350 
   28.12-: 2024-04    737 *
   28.13-: 2024-06   2259 ***
   28.14-: 2024-07   1766 **
   28.15-: 2024-08      5 
   28.16+#+begin_example
   28.17+2023-10  36394 ************************************
   28.18+2023-11  12777 ************
   28.19+2023-12  61624 *************************************************************
   28.20+2024-01   4923 ****
   28.21+2024-02   5701 *****
   28.22+2024-03  27292 ***************************
   28.23+2024-04  23322 ***********************
   28.24+2024-05  24141 ***********************
   28.25+2024-06  17608 *****************
   28.26+2024-07   9757 *********
   28.27+2024-08  16177 ****************
   28.28+2024-09   2430 **
   28.29+#+end_example
   28.30 
   28.31 * files
   28.32 :PROPERTIES:
   28.33@@ -33,12 +38,30 @@
   28.34 #+end_src
   28.35 
   28.36 #+RESULTS:
   28.37-: ===============================================================================
   28.38-:  Language            Files        Lines         Code     Comments       Blanks
   28.39-: ===============================================================================
   28.40-:  Lisp                   22         2713         2059          231          423
   28.41-:  Org                     1            1            1            0            0
   28.42-:  Plain Text              2            5            0            5            0
   28.43-: ===============================================================================
   28.44-:  Total                  25         2719         2060          236          423
   28.45-: ===============================================================================
   28.46+#+begin_example
   28.47+===============================================================================
   28.48+ Language            Files        Lines         Code     Comments       Blanks
   28.49+===============================================================================
   28.50+ C                       1           65           35           11           19
   28.51+ C Header                2         1194          318          721          155
   28.52+ Emacs Lisp             20         5181         3628          840          713
   28.53+ JavaScript              1           25           21            2            2
   28.54+ JSON                    1          159          159            0            0
   28.55+ Lisp                  513        75259        57999         7900         9360
   28.56+ Makefile                1            6            6            0            0
   28.57+ Org                     2          470          391            4           75
   28.58+ Plain Text              6          202            0          177           25
   28.59+ TOML                   32          576          519           23           34
   28.60+-------------------------------------------------------------------------------
   28.61+ HTML                    1           35           20            8            7
   28.62+ |- CSS                  1           84           65            9           10
   28.63+ |- JavaScript           1            6            5            1            0
   28.64+ (Total)                            125           90           18           17
   28.65+-------------------------------------------------------------------------------
   28.66+ Rust                  145        12142        10477          468         1197
   28.67+ |- Markdown           103          801            0          706           95
   28.68+ (Total)                          12943        10477         1174         1292
   28.69+===============================================================================
   28.70+ Total                 725        95314        73573        10154        11587
   28.71+===============================================================================
   28.72+#+end_example
    29.1--- a/otom8/readme.org	Wed Sep 04 17:00:36 2024 -0400
    29.2+++ b/otom8/readme.org	Sat Sep 07 22:34:47 2024 -0400
    29.3@@ -1,4 +1,4 @@
    29.4-#+title: docs/otom8
    29.5+#+title: otom8
    29.6 #+description: OTOM8 Documentation
    29.7 #+author: Richard Westhaver
    29.8 #+email:richard.westhaver@gmail.com