1.1--- a/core/api/readme.org Sat Dec 09 20:50:45 2023 -0500
1.2+++ b/core/api/readme.org Tue Dec 12 21:50:16 2023 -0500
1.3@@ -1,3 +1,6 @@
1.4 {{{header(Core API Docs,Richard Westhaver,ellis@rwest.io)}}}
1.5 #+OPTIONS: ^:nil toc:nil num:nil html-postamble:nil
1.6 #+EXPORT_FILE_NAME: index
1.7+
1.8+This documentation is automatically generated based on the most recent
1.9+official core build.
2.1--- a/core/app/skel.org Sat Dec 09 20:50:45 2023 -0500
2.2+++ b/core/app/skel.org Tue Dec 12 21:50:16 2023 -0500
2.3@@ -72,6 +72,27 @@
2.4 :imports ("lisp/lisp.sk" "rust/rust.sk")
2.5 #+end_src
2.6
2.7+Another example with rules and components:
2.8+
2.9+#+begin_src skel
2.10+;;; skelfile @ 2023-10-08.02:37:25 -*- mode: skel; -*-
2.11+:name skel
2.12+:author "ellis"
2.13+:version "0.1.0"
2.14+:description "a hacker's project compiler"
2.15+:license "MPL"
2.16+:vc :hg
2.17+:tags ("lisp")
2.18+:rules ((build () (print (asdf:make :skel/cli)))
2.19+ (clean () #$rm -rf */*.fasl$#))
2.20+:docs ((:org "readme"))
2.21+:components
2.22+((:elisp "sk"))
2.23+:stash "~/dev/comp/stash"
2.24+:shed "~/dev/comp/shed"
2.25+:snippets
2.26+((autogen #$sbcl --eval '(ql:quickload :app/cli/skel)' --eval '(asdf:make :app/cli/skel)'$#))
2.27+#+end_src
2.28 ** version control
2.29 =skel= integrates closely with our Version Control System (VCS) which
2.30 is built on [[https://www.mercurial-scm.org/][Mercurial]], but we also interact with and host many [[https://git-scm.com/][Git]]
3.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2+++ b/core/ffi.org Tue Dec 12 21:50:16 2023 -0500
3.3@@ -0,0 +1,46 @@
3.4+{{{header(core/ffi,Richard Westhaver,ellis@rwest.io)}}}
3.5+
3.6+This doc is about the [[https://en.wikipedia.org/wiki/Foreign_function_interface][Foreign Function Interface]] (FFI) features of the
3.7+=core=.
3.8+
3.9+Besides accessing system, OS, and external libraries via binding code
3.10+(dynamically in Lisp, statically in Rust), we also expose parts of the
3.11+core in a C-compatible fashion. In Lisp, we use the SB-ALIEN interface
3.12+to load (with dlopen) and call foreign symbols. In Rust we mostly use
3.13+rust-bindgen and the built-in rustc features.
3.14+
3.15+* Libraries
3.16+The following binding libraries are provided with supporting
3.17+code. There is some cross-over between the Lisp and Rust bindings
3.18+depending on what library features we need and where. Some of the
3.19+bindings are very minimal or for experimental-use only only.
3.20+** xkb
3.21+These bindings are actually directed at libxkbcommon instead of
3.22+x11/xkb directly.
3.23+*** xkbcommon
3.24+https://xkbcommon.org/doc/current/md_doc_2quick-guide.html
3.25+** rocksdb
3.26+[[https://github.com/facebook/rocksdb/wiki][RocksDB Wiki]]
3.27+** btrfs
3.28+The kernel headers btrfs and btrfs_tree will be wrapped at some point
3.29+in addition to the userspace library (btrfsutil) documented below.
3.30+*** btrfsutil
3.31+https://github.com/kdave/btrfs-progs
3.32+** uring
3.33+https://man.archlinux.org/man/io_uring.7.en
3.34+** alpm
3.35+https://man.archlinux.org/man/core/pacman/libalpm.3.en
3.36+https://github.com/archlinux/alpm.rs/tree/382af70cdbff8e1f65c0bf8df79693786f44429c/alpm/examples
3.37+** zstd
3.38+zstd compression bindings: https://github.com/facebook/zstd
3.39+** tree-sitter
3.40+bindings to tree-sitter parser generator and language libraries: https://github.com/tree-sitter/tree-sitter
3.41+** blake3
3.42+temporary package for CL implementation of Blake3 SHA. Wraps C
3.43+implementation (libblake3).
3.44+** bqn
3.45+These bindings are for libcbqn which can be build from CBQN:
3.46+https://github.com/dzaima/CBQN
3.47+** k
3.48+https://codeberg.org/ngn/k
3.49+bindings for ngn/k (libk).
4.1--- a/core/readme.org Sat Dec 09 20:50:45 2023 -0500
4.2+++ b/core/readme.org Tue Dec 12 21:50:16 2023 -0500
4.3@@ -1,10 +1,35 @@
4.4 {{{header(docs/core,Richard Westhaver,ellis@rwest.io)}}}
4.5 #+EXPORT_FILE_NAME: index
4.6
4.7+#+begin_src shell :dir ~/dev/comp/core/ :results pp :exports results
4.8+ tokei -t=rust,lisp
4.9+#+end_src
4.10+
4.11+#+RESULTS:
4.12+#+begin_example
4.13+===============================================================================
4.14+ Language Files Lines Code Comments Blanks
4.15+===============================================================================
4.16+ Lisp 114 13419 10455 1234 1730
4.17+-------------------------------------------------------------------------------
4.18+ Rust 142 12407 10732 443 1232
4.19+ |- Markdown 101 804 0 709 95
4.20+ (Total) 13211 10732 1152 1327
4.21+===============================================================================
4.22+ Total 256 25826 21187 1677 2962
4.23+===============================================================================
4.24+#+end_example
4.25+
4.26 - [[file:notes.org][Notes]] :: Internal Notes
4.27
4.28-- [[file:app][App Docs]] :: High-level App Documentation
4.29+* [[file:app][APP]]
4.30+App Docs
4.31+
4.32+* [[file:lib][LIB]]
4.33+Library Docs
4.34
4.35-- [[file:lib][Lib Docs]] :: High-level Lib Documentation
4.36+* [[file:ffi.org][FFI]]
4.37+FFI Docs
4.38
4.39-- [[file:api][API Docs]] :: API Reference
4.40+* [[file:api][API]]
4.41+API Reference
5.1--- a/infra/notes.org Sat Dec 09 20:50:45 2023 -0500
5.2+++ b/infra/notes.org Tue Dec 12 21:50:16 2023 -0500
5.3@@ -0,0 +1,1 @@
5.4+{{{header(infra/notes,Richard Westhaver,ellis@rwest.io)}}}
6.1--- a/infra/readme.org Sat Dec 09 20:50:45 2023 -0500
6.2+++ b/infra/readme.org Tue Dec 12 21:50:16 2023 -0500
6.3@@ -1,4 +1,22 @@
6.4 {{{header(docs/infra,Richard Westhaver,ellis@rwest.io)}}}
6.5 #+EXPORT_FILE_NAME: index
6.6
6.7+#+begin_src shell :dir ~/dev/comp/infra :results pp :exports results
6.8+ tokei -t=css,lisp,makefile,shell,js
6.9+#+end_src
6.10+
6.11+#+RESULTS:
6.12+#+begin_example
6.13+===============================================================================
6.14+ Language Files Lines Code Comments Blanks
6.15+===============================================================================
6.16+ CSS 2 227 190 9 28
6.17+ Lisp 2 152 109 11 32
6.18+ Makefile 1 156 110 20 26
6.19+ Shell 31 1185 866 198 121
6.20+===============================================================================
6.21+ Total 36 1720 1275 238 207
6.22+===============================================================================
6.23+#+end_example
6.24+
6.25 - [[file:notes.org][Notes]] :: Internal Notes.
7.1--- a/infra/scripts.org Sat Dec 09 20:50:45 2023 -0500
7.2+++ b/infra/scripts.org Tue Dec 12 21:50:16 2023 -0500
7.3@@ -0,0 +1,31 @@
7.4+{{{header(infra/scripts,Richard Westhaver,ellis@rwest.io)}}}
7.5+
7.6+#+begin_src shell :dir ~/dev/comp/infra/scripts :results list replace :output results
7.7+ ls
7.8+#+end_src
7.9+
7.10+#+RESULTS:
7.11+- arch-upgrade.sh
7.12+- autogen.lisp
7.13+- aws-set-env.sh
7.14+- build-emacs.sh
7.15+- bundle-dir.sh
7.16+- check.lisp
7.17+- eval.sh
7.18+- get-cargo-tools.sh
7.19+- get-cl.sh
7.20+- get-code.sh
7.21+- get-emacs.sh
7.22+- get-linux.sh
7.23+- get-lust.sh
7.24+- get-rocksdb.sh
7.25+- get-rust.sh
7.26+- get-sbcl.sh
7.27+- git-vendor-pull.sh
7.28+- init.sh
7.29+- print-colors.sh
7.30+- record-gif.sh
7.31+- sbcl-save-core.sh
7.32+- sc.sh
7.33+- ts-install-langs.sh
7.34+- wg-gen-keys.sh