changelog shortlog graph tags branches changeset file revisions annotate raw help

Mercurial > org > docs / core/stats.org

revision 16: 46fb6a10d2e1
child 17: 2601788ab805
     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)