1.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2+++ b/core/stats.org Fri Dec 29 00:43:43 2023 -0500
1.3@@ -0,0 +1,56 @@
1.4+# -*- org-export-babel-evaluate: nil -*-
1.5+{{{header(docs/core,Richard Westhaver,ellis@rwest.io)}}}
1.6+#+property: header-args :dir /home/ellis/dev/comp/core/
1.7+#+begin_src shell :results pp :exports results
1.8+ tokei -t=rust,lisp
1.9+#+end_src
1.10+
1.11+#+RESULTS:
1.12+#+begin_example
1.13+===============================================================================
1.14+ Language Files Lines Code Comments Blanks
1.15+===============================================================================
1.16+ Lisp 259 29567 22520 3163 3884
1.17+-------------------------------------------------------------------------------
1.18+ Rust 142 12407 10732 443 1232
1.19+ |- Markdown 101 804 0 709 95
1.20+ (Total) 13211 10732 1152 1327
1.21+===============================================================================
1.22+ Total 401 41974 33252 3606 5116
1.23+===============================================================================
1.24+#+end_example
1.25+
1.26+#+name: tally-package-symbols
1.27+#+begin_src lisp :exports both
1.28+ (quickload-core-systems)
1.29+ (defparameter *core-packages* '("STD" "SXP" "PARSE" "CLI" "XKB" "ALPM" "BTRFS" "BQN" "K"
1.30+ "TREE-SITTER" "URING" "ZSTD" "BLAKE3" "ROCKSDB" "RDB" "SKEL"
1.31+ "ORGAN" "NLP" "DAT" "OBJ" "LOG" "NET" "PACKY" "GUI" "SYN" "DOC"))
1.32+ (defvar *core-symbols* nil)
1.33+
1.34+ (loop with n = 0
1.35+ for pkg in *core-packages*
1.36+ do (loop for s being the external-symbols of (find-package pkg)
1.37+ do (incf n)
1.38+ (print (type-of s))
1.39+ (pushnew s *core-symbols*))
1.40+ finally (return (cons (length *core-packages*) n)))
1.41+#+end_src
1.42+
1.43+#+RESULTS: tally-package-symbols
1.44+: (24 . 1571)
1.45+
1.46+#+name: tally-functions-and-symbols
1.47+#+begin_src lisp :exports both
1.48+ (defvar *core-functions* nil)
1.49+ (defvar *core-variables* nil)
1.50+ (loop for s in *core-symbols*
1.51+ do (let ((f (fboundp s))
1.52+ (v (boundp s)))
1.53+ (when f (pushnew s *core-functions*))
1.54+ (when v (pushnew s *core-variables*)))
1.55+ finally (return (cons (length *core-functions*) (length *core-variables*))))
1.56+#+end_src
1.57+
1.58+#+RESULTS: tally-functions-and-symbols
1.59+: (1098 . 75)