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