changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > docs / annotate core/stats.org

changeset 16: 46fb6a10d2e1
child: 2601788ab805
author: ellis <ellis@rwest.io>
date: Fri, 29 Dec 2023 00:43:43 -0500
permissions: -rw-r--r--
description: stats
16
ellis <ellis@rwest.io>
parents:
diff changeset
1
 # -*- org-export-babel-evaluate: nil -*-
ellis <ellis@rwest.io>
parents:
diff changeset
2
 {{{header(docs/core,Richard Westhaver,ellis@rwest.io)}}}
ellis <ellis@rwest.io>
parents:
diff changeset
3
 #+property: header-args :dir /home/ellis/dev/comp/core/
ellis <ellis@rwest.io>
parents:
diff changeset
4
 #+begin_src shell :results pp :exports results
ellis <ellis@rwest.io>
parents:
diff changeset
5
   tokei -t=rust,lisp
ellis <ellis@rwest.io>
parents:
diff changeset
6
 #+end_src
ellis <ellis@rwest.io>
parents:
diff changeset
7
 
ellis <ellis@rwest.io>
parents:
diff changeset
8
 #+RESULTS:
ellis <ellis@rwest.io>
parents:
diff changeset
9
 #+begin_example
ellis <ellis@rwest.io>
parents:
diff changeset
10
 ===============================================================================
ellis <ellis@rwest.io>
parents:
diff changeset
11
  Language            Files        Lines         Code     Comments       Blanks
ellis <ellis@rwest.io>
parents:
diff changeset
12
 ===============================================================================
ellis <ellis@rwest.io>
parents:
diff changeset
13
  Lisp                  259        29567        22520         3163         3884
ellis <ellis@rwest.io>
parents:
diff changeset
14
 -------------------------------------------------------------------------------
ellis <ellis@rwest.io>
parents:
diff changeset
15
  Rust                  142        12407        10732          443         1232
ellis <ellis@rwest.io>
parents:
diff changeset
16
  |- Markdown           101          804            0          709           95
ellis <ellis@rwest.io>
parents:
diff changeset
17
  (Total)                          13211        10732         1152         1327
ellis <ellis@rwest.io>
parents:
diff changeset
18
 ===============================================================================
ellis <ellis@rwest.io>
parents:
diff changeset
19
  Total                 401        41974        33252         3606         5116
ellis <ellis@rwest.io>
parents:
diff changeset
20
 ===============================================================================
ellis <ellis@rwest.io>
parents:
diff changeset
21
 #+end_example
ellis <ellis@rwest.io>
parents:
diff changeset
22
 
ellis <ellis@rwest.io>
parents:
diff changeset
23
 #+name: tally-package-symbols
ellis <ellis@rwest.io>
parents:
diff changeset
24
 #+begin_src lisp :exports both
ellis <ellis@rwest.io>
parents:
diff changeset
25
   (quickload-core-systems)
ellis <ellis@rwest.io>
parents:
diff changeset
26
   (defparameter *core-packages* '("STD" "SXP" "PARSE" "CLI" "XKB" "ALPM" "BTRFS" "BQN" "K"
ellis <ellis@rwest.io>
parents:
diff changeset
27
                                   "TREE-SITTER" "URING" "ZSTD" "BLAKE3" "ROCKSDB" "RDB" "SKEL" 
ellis <ellis@rwest.io>
parents:
diff changeset
28
                                   "ORGAN" "NLP" "DAT" "OBJ" "LOG" "NET" "PACKY" "GUI" "SYN" "DOC"))
ellis <ellis@rwest.io>
parents:
diff changeset
29
   (defvar *core-symbols* nil)
ellis <ellis@rwest.io>
parents:
diff changeset
30
 
ellis <ellis@rwest.io>
parents:
diff changeset
31
   (loop with n = 0
ellis <ellis@rwest.io>
parents:
diff changeset
32
         for pkg in *core-packages*
ellis <ellis@rwest.io>
parents:
diff changeset
33
         do (loop for s being the external-symbols of (find-package pkg)
ellis <ellis@rwest.io>
parents:
diff changeset
34
                  do (incf n)
ellis <ellis@rwest.io>
parents:
diff changeset
35
                     (print (type-of s))
ellis <ellis@rwest.io>
parents:
diff changeset
36
                     (pushnew s *core-symbols*))
ellis <ellis@rwest.io>
parents:
diff changeset
37
         finally (return (cons (length *core-packages*) n)))
ellis <ellis@rwest.io>
parents:
diff changeset
38
 #+end_src
ellis <ellis@rwest.io>
parents:
diff changeset
39
 
ellis <ellis@rwest.io>
parents:
diff changeset
40
 #+RESULTS: tally-package-symbols
ellis <ellis@rwest.io>
parents:
diff changeset
41
 : (24 . 1571)
ellis <ellis@rwest.io>
parents:
diff changeset
42
 
ellis <ellis@rwest.io>
parents:
diff changeset
43
 #+name: tally-functions-and-symbols
ellis <ellis@rwest.io>
parents:
diff changeset
44
 #+begin_src lisp :exports both
ellis <ellis@rwest.io>
parents:
diff changeset
45
   (defvar *core-functions* nil)
ellis <ellis@rwest.io>
parents:
diff changeset
46
   (defvar *core-variables* nil)
ellis <ellis@rwest.io>
parents:
diff changeset
47
   (loop for s in *core-symbols*
ellis <ellis@rwest.io>
parents:
diff changeset
48
         do (let ((f (fboundp s))
ellis <ellis@rwest.io>
parents:
diff changeset
49
                  (v (boundp s)))
ellis <ellis@rwest.io>
parents:
diff changeset
50
              (when f (pushnew s *core-functions*))
ellis <ellis@rwest.io>
parents:
diff changeset
51
              (when v (pushnew s *core-variables*)))
ellis <ellis@rwest.io>
parents:
diff changeset
52
         finally (return (cons (length *core-functions*) (length *core-variables*))))
ellis <ellis@rwest.io>
parents:
diff changeset
53
 #+end_src
ellis <ellis@rwest.io>
parents:
diff changeset
54
 
ellis <ellis@rwest.io>
parents:
diff changeset
55
 #+RESULTS: tally-functions-and-symbols
ellis <ellis@rwest.io>
parents:
diff changeset
56
 : (1098 . 75)