Core Tasks

DONE remove asdf/quicklisp from skelfiles

props ID: 6f8591f3-fc46-4130-ac90-52f458fae89d
CREATED: <2026-02-09 Mon 23:06>
Effort: 2h
logbook
  • State "TODO" from [2026-02-09 Mon 23:06]
  • State "DONE" from "TODO" [2026-02-22 Sun 21:47]

FIXME inline TODOs

props ID: d5aaf952-bb93-4b66-a7e0-1f0f827c0925
CREATED: <2025-05-31 Sat 00:48>
logbook
  • State "FIXME" from [2025-05-31 Sat 00:53]
(rgrep ".*; TODO" "*.*" "~/comp/core/")

234

(rgrep ".*; FIXME" "*.*" "~/comp/core/")

114

(rgrep ".*; REVIEW" "*.*" "~/comp/core/")

16

(rgrep ".*; RESEARCH" "*.*" "~/comp/core/")

3

DONE undefined symbols

props CREATED: <2025-02-14 Fri 15:28>
ID: 4249f111-d4d1-47a3-bf30-43f178f7a66d
logbook
  • State "TODO" from [2025-02-14 Fri 15:28]
  • State "FIXME" from "TODO" [2025-02-14 Fri 15:30]
  • State "DONE" from "FIXME" [2026-03-05 Thu 17:09]
  • [2026-01-13 Tue]

    ; compilation unit finished
    ; RDB::CURSOR-GET-BOTH-BUFFERED
          RDB::CURSOR-MOVE-BUFFERED RDB::CURSOR-SET-BUFFERED
          RDB::DB-CURSOR RDB::DB-CURSOR-MOVE-BUFFERED
          RDB::DB-CURSOR-PGET-BOTH-BUFFERED RDB::DB-CURSOR-PMOVE-BUFFERED
          RDB::DB-CURSOR-PSET-BUFFERED RDB::DB-CURSOR-SET-BUFFERED
          RDB::DB-DELETE-BUFFERED RDB::DB-PUT-BUFFERED
          GETRF! GETRI! GETRS!
          OBJ/STORE::INSTANCE-CLASS-INDEX OBJ/STORE::INSTANCE-TABLE
    

TODO lorem ipsum generator

props ID: 1aada73a-52ac-4b8e-a6d4-5c1894e51927
CREATED: <2026-02-07 Sat 21:57>
logbook
  • State "TODO" from [2026-02-07 Sat 21:57]

TODO component require total ordering

props ID: bde9b746-3b00-413c-9cf9-193dd3110348
CREATED: <2026-02-11 Wed 17:03>
logbook
  • State "TODO" from [2026-02-11 Wed 17:03]

need to be able to sort REQUIRE slots in components (specifically systems) - btree would be nice

PROJECT alien [2/7]   lisp ffi

props ID: 4de17a09-48fb-4640-b30a-e40cc1f8c330
VERSION: 0.1
LOCATION: ffi/
logbook
  • State "TODO" from [2024-08-10 Sat 22:20]
  • State "PROJECT" from "TODO" [2024-08-16 Fri 22:57]

DONE rocksdb [1/1]   rocksdb

props ID: 6a4e51f0-f1d7-40df-aa7f-04c6d179393b
LOCATION+: ffi/rocksdb
VERSION: 0.1.0
CREATED: <2025-08-23 Sat 22:00>
logbook
  • State "PROJECT" from [2024-08-16 Fri 22:57]
  • State "DONE" from "PROJECT" [2025-08-23 Sat 22:00]

DONE final cleanup

props CREATED: <2025-04-26 Sat 20:24>
ID: 3dd20586-fc84-461a-bc59-a3d14c6fde0a
logbook
  • State "TBD" from [2025-04-26 Sat 20:24]
  • State "DONE" from "TBD" [2025-08-23 Sat 22:00]

PROJECT tree-sitter [0/1]   syn

props CREATED: <2025-05-23 Fri 20:17>
ID: 7338b19c-18d3-42dd-b18a-77193433fdb8
logbook
  • State "PROJECT" from [2025-05-23 Fri 20:17]

FIXME ts-query-cursor-next-match

props ID: d0693c94-0763-4cf2-99cd-2c904b5040d1
CREATED: <2025-05-23 Fri 20:17>
logbook
  • State "TODO" from [2025-05-23 Fri 20:17]
  • State "FIXME" from "TODO" [2025-05-23 Fri 20:18]
  • may need to do a C wrapper, do some research first to make sure we didn't miss something in impl.

PROJECT ssh2

props ID: 07b3ad22-97e1-40b4-9dc0-e8ea97ba4fa6
CREATED: <2025-06-06 Fri 13:28>
logbook
  • State "PROJECT" from [2025-06-06 Fri 13:29]
  • mvp and testing

DONE openssl

props ID: 7d0469e9-b40a-48bb-aa43-807ef9a19fff
CREATED: <2025-06-06 Fri 13:28>
logbook
  • State "PROJECT" from [2025-06-06 Fri 13:29]
  • Note taken on [2025-11-14 Fri 19:34]
    rustls moved to basement, renamed to openssl
  • State "DONE" from "PROJECT" [2025-12-25 Thu 22:22]
  • no AWS_LC
  • vanilla openssl (vendored)
STYLE-WARNING:
   Couldn't grovel for SSL_OP_IGNORE_UNEXPECTED_EOF (unknown to the C compiler).
STYLE-WARNING: Couldn't grovel for SSL_OP_NO_SSLv1 (unknown to the C compiler).
STYLE-WARNING:
   Couldn't grovel for SSL_OP_NO_SSLv1_1 (unknown to the C compiler).
STYLE-WARNING:
   Couldn't grovel for SSL_OP_NO_SSLv1_2 (unknown to the C compiler).
STYLE-WARNING:
   Couldn't grovel for SSL_CTRL_SET_MIN_PROTO_VERSION (unknown to the C compiler).
STYLE-WARNING:
   Couldn't grovel for SSL_CTRL_SET_MAX_PROTO_VERSION (unknown to the C compiler).

DONE complete ffi

props ID: f99d13c1-fd8e-4ac3-989a-230dc8397389
CREATED: <2025-11-14 Fri 19:35>
Effort: 5h
logbook
  • State "TODO" from [2025-11-14 Fri 19:35]
  • State "DONE" from "TODO" [2025-12-25 Thu 22:59]
  • finish the routines, define default callbacks
  • may depend on a std/alien:defcallback macro
  • NOPE cl+ssl -> rustls
    props ID: 1841fd20-35b0-444f-a610-67dc4291ee18
    CREATED: <2025-06-06 Fri 13:30>
    Effort: 40h
    LOCATION+: ssl/
    logbook

    CLOCK: [2025-06-06 Fri 13:30]--[2025-06-06 Fri 15:06] (1:36)

    • Refiled on [2025-11-14 Fri 19:37]
    • cl+ssl src
    • ffi-buffer -> static-vector
    • openssl has differences in symbol-names between versions - cl+ssl makes efforts to accomodate this
    • rustls doesn't suffer from this - if we ever end up implementing openssl too we won't bother with portability here either. Use Linux or gtfo.
      • but rustls depends on aws-lc which is a fork of openssl/libcrypto..

DONE cl+ssl low-level API

props ID: be17b0b4-c840-4cc9-a8f2-9cf4fc482d17
CREATED: <2025-06-06 Fri 13:29>
Effort: 2h
logbook
  • State "RESEARCH" from [2025-06-06 Fri 13:29]

CLOCK: [2025-11-14 Fri 19:34]--[2025-11-14 Fri 19:34] (0:00)

  • State "DONE" from "WIP" [2025-11-14 Fri 19:34]
  • State "DONE" from "DONE" [2025-12-25 Thu 22:59]
  • based on CFFI and gray streams
  • defines libssl BIO_METHOD for lisp streams
    • file descriptor approach is still faster and used by default
  • cross-platform (windows)
  • can define custom BIOs

TODO syslog -> sys

props ID: b9f0f2a9-f448-432d-a500-4fcd883c0745
CREATED: <2026-03-09 Mon 20:58>
logbook
  • State "TODO" from [2026-03-09 Mon 20:58]

generalize to all linux includes

  • prob keep uring separate

TODO ICMP

props ID: f8b5291f-e6a0-4804-8a09-bef14f546441
CREATED: <2026-03-09 Mon 20:59>
logbook
  • State "TODO" from [2026-03-09 Mon 20:59]
(constant (icmp-filter "ICMP_FILTER"))

(constantenum (icmp-types :define-constants t)
              ((:icmp-echo-request "ICMP_ECHO"))
              ((:icmp-echo-reply "ICMP_ECHOREPLY"))
              ((:icmp-dest-unreach "ICMP_DEST_UNREACH"))
              ((:icmp-source-quench "ICMP_SOURCE_QUENCH"))
              ((:icmp-redirect "ICMP_REDIRECT"))
              ((:icmp-time-exceeded "ICMP_TIME_EXCEEDED"))
              ((:icmp-parameter-prob "ICMP_PARAMETERPROB"))
              ((:icmp-timestamp-request "ICMP_TIMESTAMP"))
              ((:icmp-timestamp-reply "ICMP_TIMESTAMPREPLY"))
              ((:icmp-info-request "ICMP_INFO_REQUEST"))
              ((:icmp-info-reply "ICMP_INFO_REPLY"))
              ((:icmp-address-request "ICMP_ADDRESS"))
              ((:icmp-address-reply "ICMP_ADDRESSREPLY")))

(constantenum (icmp-unreach :define-constants t)
              ((:icmp-net-unreach "ICMP_NET_UNREACH"))
              ((:icmp-host-unreach "ICMP_HOST_UNREACH"))
              ((:icmp-prot-unreach "ICMP_PROT_UNREACH"))
              ((:icmp-port-unreach "ICMP_PORT_UNREACH"))
              ((:icmp-frag-needed "ICMP_FRAG_NEEDED"))
              ((:icmp-sr-failed "ICMP_SR_FAILED"))
              ((:icmp-net-unknown "ICMP_NET_UNKNOWN"))
              ((:icmp-host-unknown "ICMP_HOST_UNKNOWN"))
              ((:icmp-host-isolated "ICMP_HOST_ISOLATED"))
              ((:icmp-net-ano "ICMP_NET_ANO"))
              ((:icmp-host-ano "ICMP_HOST_ANO"))
              ((:icmp-net-unr-tos "ICMP_NET_UNR_TOS"))
              ((:icmp-host-unr-tos "ICMP_HOST_UNR_TOS"))
              ((:icmp-pkt-filtered "ICMP_PKT_FILTERED"))
              ((:icmp-prec-violation "ICMP_PREC_VIOLATION"))
              ((:icmp-prec-cutoff "ICMP_PREC_CUTOFF")))

(constantenum (icmp-redirect :define-constants t)
              ((:icmp-redir-net "ICMP_REDIR_NET"))
              ((:icmp-redir-host "ICMP_REDIR_HOST"))
              ((:icmp-redir-nettos "ICMP_REDIR_NETTOS"))
              ((:icmp-redir-hosttos "ICMP_REDIR_HOSTTOS")))

(constantenum (icmp-time-exceeded :define-constants t)
              ((:icmp-exc-ttl "ICMP_EXC_TTL"))
              ((:icmp-exc-fragtime "ICMP_EXC_FRAGTIME"))))

PROJECT blas

props CREATED: <2025-05-10 Sat 22:34>
ID: fe955338-3377-49a0-aa7a-717d61ab231d
logbook
  • State "PROJECT" from [2025-05-10 Sat 22:34]

implement bindings to the Fortran BLAS functions

DONE BLAS Extensions

props CREATED: <2025-05-18 Sun 21:07>
ID: 6f99cfe0-3c9b-4d3b-b9eb-b41bf6fb4473
logbook
  • State "TODO" from [2025-05-18 Sun 21:07]
  • State "DONE" from "TODO" [2025-12-25 Thu 23:14]

TODO Tests

props CREATED: <2025-05-10 Sat 22:34>
ID: 8c9729c6-b36f-41c0-a6cc-2ce2fa972211
logbook
  • State "TODO" from [2025-05-10 Sat 22:34]
  • a few from each level
  • benchmarks

TODO improve API

props CREATED: <2025-05-10 Sat 22:35>
ID: 8db310f4-8df4-42fb-8a03-96776ff456c6
logbook
  • State "TODO" from [2025-05-10 Sat 22:35]
  • should have a very clean interface with io/static
  • make sure to bench vs using plain sb-sys:with-pinned-objects

TODO Conditions

props CREATED: <2025-05-10 Sat 22:37>
ID: f1147442-abb3-4f2d-aadf-697563cd8617
logbook
  • State "TODO" from [2025-05-10 Sat 22:37]
  • need some basic error handling which indicates an error thrown from C.

TBD examples [0/6]   example

props ID: 794f6242-2589-424d-bbc1-8025530a2a6b
logbook
  • State "TBD" from [2024-08-15 Thu 23:02]
  • Note taken on [2024-09-19 Thu 21:58]
    zstd is kinda unnecessary - showcase in IO/FLATE

TODO gstreamer practical example   gstreamer

props ID: d476e6b4-5b58-4f51-afc5-c2c0195d3799
logbook
  • State "TODO" from [2024-08-10 Sat 22:21]

TODO ublk practical example   ublk

props ID: 7887da0f-f6d7-43f0-9fcb-cef7c07fb1bb
logbook
  • State "TODO" from [2024-08-10 Sat 22:22]

TODO uring read/write file example   uring

props ID: 7194096a-f0a2-446d-b46a-3c55e6123a16
logbook
  • State "TODO" from [2024-08-10 Sat 22:22]

TODO btrfs practical example   btrfs

props ID: 595c395c-976b-4356-a3ec-df8030293326
logbook
  • State "TODO" from [2024-08-10 Sat 22:30]
  • ☐ sudo example (filesystem)
  • ☐ non-sudo example?

TODO xkb practical example   x kb

props ID: 530aef14-b508-4d3a-8442-a16fea82039f
logbook
  • State "TODO" from [2024-08-10 Sat 22:32]

TODO keyutils practical example   crypto

props ID: eec96038-ac73-477d-a443-4a9b3b5f4a5d
logbook
  • State "TODO" from [2024-08-10 Sat 22:33]

DONE convert bin to bin.lisp

props ID: 94f244f1-7175-45af-b511-a4177ff78097
CREATED: <2025-07-08 Tue 22:27>
logbook
  • State "PROJECT" from [2025-07-08 Tue 22:27]
  • State "TODO" from "PROJECT" [2026-02-22 Sun 21:52]
  • State "DONE" from "TODO" [2026-03-05 Thu 17:09]
  • move scripts to top-level

TODO prune internal packages

props ID: ee9ced99-1dec-4457-99f6-1ddbbc08461a
CREATED: <2026-01-13 Tue 21:43>
logbook
  • State "TODO" from [2026-01-13 Tue 21:43]
  • can shake internal packages like CLI-INT/STD-INT on build

PROJECT lib [1/17]   lisp

props CREATED: <2025-05-02 Fri 14:04>
ID: cbe46830-8363-4e11-897c-9779e1997e2b
LOCATION: lib/
logbook
  • State "PROJECT" from [2025-05-02 Fri 14:04]

PROJECT cli [2/6]

props CREATED: <2024-09-12 Thu 13:38>
ID: 4f1d8c1e-23ea-4d17-80d0-feafc367f65f
LOCATION: lib/cli/
VERSION: 0.1.0
logbook
  • State "PROJECT" from [2024-09-12 Thu 13:38]

DONE with-sbcl   macro

props ID: fa7302b5-b7ea-400c-b159-ec522eb858b4
CREATED: <2025-06-10 Tue 22:43>
logbook
  • State "FIXME" from [2025-06-10 Tue 22:43]
  • State "DONE" from "FIXME" [2025-06-11 Wed 18:19]
  • Note taken on [2025-06-11 Wed 18:19]
    good enough for now - package re-export issues in std

[BROKEN LINK: No match for fuzzy expression: ;; FIX 2025-06-10: why can't we find compile-system even when specifying the package?] std/defpkg:symbol-call :asdf "COMPILE-SYSTEM"

PROJECT cli/clap [3/4]   lisp cli

props ID: 217cd955-5575-4953-bf36-4d2d4c1fd616
VERSION: 0.2
LOCATION+: clap/
logbook
  • State "TODO" from [2024-07-21 Sun 01:33]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]
  • clap is quite unstable right now and has some obvious bugs which need remedying
  • WIP hooks
    props CREATED: <2025-10-28 Tue 21:07>
    ID: 971196cb-be16-45b2-8715-d395527edd4c
    Effort: 2h
    logbook
    • State "TODO" from [2025-10-28 Tue 21:07]

    CLOCK: [2026-01-20 Tue 22:11]--[2026-01-20 Tue 22:11] (0:00)

    cli should have relevant hooks

  • DONE cli-command
    props ID: 2f393500-4689-4cfe-afdb-e667bfabedcf
    CREATED: <2026-01-16 Fri 22:29>
    logbook
    • State "TODO" from [2026-01-16 Fri 22:29]
    • State "DONE" from "TODO" [2026-01-20 Tue 22:11]
    (documentation (find-class 'cli-command) t)
    
    Class of COMMANDs which may be executed directly from the command line.
    
  • DONE cli
    props ID: 85354f89-b17d-4e0e-95ac-4a6c8269ef99
    CREATED: <2026-01-16 Fri 22:29>
    logbook
    • State "TODO" from [2026-01-16 Fri 22:29]
    • State "DONE" from "TODO" [2026-01-20 Tue 22:09]
    (documentation 'define-cli 'function)
    
    Define a new CLI object.
    
    NAME is assigned to the CLI and assumed to be the default binary name which
    uses this object.
    
    VERSION, DESCRIPTION, HOOK, CD, and MAIN are assigned to the associated slot
    value of the CLI.
    
  • DONE package CLIs
    props ID: 19fe8343-7739-4cff-949f-c3c1b943f1a1
    CREATED: <2026-01-16 Fri 22:37>
    logbook
    • State "TODO" from [2026-01-16 Fri 22:37]
    • State "DONE" from "TODO" [2026-01-20 Tue 22:12]
    (directory-files-recursively "~/comp/core/" ".*cli[.]lisp$")
    
    • ~/comp/core/app/mpk/cli.lisp
    • ~/comp/core/app/skel/homer/cli.lisp
    • ~/comp/core/app/skel/krypt/cli.lisp
    • ~/comp/core/app/skel/packy/cli.lisp
    • ~/comp/core/app/skel/cli.lisp
    • ~/comp/core/lib/cli/cli.lisp
    • ~/comp/core/lib/organ/cli.lisp
    • ~/comp/core/lib/pod/cli.lisp
    • ~/comp/core/lib/rdb/cli.lisp
    • ~/comp/core/lib/syn/cli.lisp
    • ~/comp/core/lib/vc/cli.lisp

TODO cli fixtures   test

props CREATED: <2024-09-01 Sun 21:54>
ID: f910ffdb-1adc-44b3-bac0-de641e1e17a7
logbook
  • State "TODO" from [2024-09-01 Sun 21:54]

TODO linedit keyboard macros

props ID: 64803129-f7c8-4609-b47d-203d19e6e9bf
CREATED: <2025-06-27 Fri 14:02>
LOCATION+: linedit.lisp
logbook
  • State "TODO" from [2025-06-27 Fri 14:02]

DONE linedit prefixes

props CREATED: <2025-04-26 Sat 23:20>
ID: c5ddfea6-01a3-442f-ab88-9467651dc889
logbook
  • State "TODO" from [2025-04-26 Sat 23:20]
  • State "DONE" from "TODO" [2025-06-24 Tue 00:24]

should be pretty simple - bind C-x to a command which calls read-chord and looks up the next funcall in a user-specified command table.

TODO accept CLI-OPTS from parent CLI-CMD in PROC-ARGS

props ID: 7f83a47f-8f02-466f-a504-39331613a2eb
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:53]

TODO destructure cli opts   macro

props ID: a441b88e-697a-47bc-a25b-53313ce6c41a
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:54]

TODO test SET-TTY-MODE :echo nil vs WITHOUT-ECHO

logbook
  • Refiled on [2026-01-26 Mon 21:13]
  • should have same result, define WITHOUT-TTY-ECHO

PROJECT q [0/4]   q

props ID: b19fb0f9-65b2-476c-adb3-b4b77e585f37
VERSION: 0.1
logbook
  • State "TODO" from [2024-08-03 Sat 01:03]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:20]

TODO SQL

props ID: 8b853556-399d-445f-8e7b-4bd4048087c5
logbook
  • State "TODO" from [2024-08-03 Sat 01:03]
  • Note taken on [2024-08-04 Sun 21:16]
    pretty close - need to fix some recursion bugs then start messing with query-engines

TODO DQL

props ID: 77bc044c-f4c8-440d-a590-e712ccad9bea
logbook
  • State "TODO" from [2024-08-03 Sat 01:03]
  • pronounced 'Dee-qwul'
  • the challenge it seems, is building an inference engine that isn't just another half-assed prolog
  • expression and introspection is valued here much more than speed/size
  • allegro and screamer are favorites so far
  • TODO top-level macros
    props ID: 782758ba-78ba-4366-996e-47b6b9123ac3
    logbook
    • State "TODO" from [2024-08-08 Thu 22:38]
    • -?
  • TODO conditions
    props ID: 61adb134-1e00-4973-846b-a5afd746afaa
    logbook
    • State "TODO" from [2024-08-08 Thu 22:39]
  • TODO basic predicates
    props ID: 3b9067c6-27ec-45e6-a025-201695bd9ece
    logbook
    • State "TODO" from [2024-08-08 Thu 22:39]
    =/2   ==/2   abolish/2   and/*   append/3   arg/3   assert/1   asserta/1   assertz/1   atom/1   atomic/1  
    bagof/3   call/1   consult/1   copy-term/2   erase/1   fail/0   first/1   functor/3   ground/1   if/2   if/3  
    is/2   last/1   leash/1   length/1   listing/1   member/2   memberp/2 (member without backtracking)   not/1  
    number/1   or/*   princ/1   read/1   recorda/1   recordz/1   recorded/2   repeat/0   rest/1   retract/1   rev/2 
     setof/3   true/0   var/1   write/1   
    
    
  • TODO compiler design
    props ID: 503c24ba-8613-4ca0-8c9c-51eced131168
    logbook
    • State "TODO" from [2024-08-08 Thu 22:39]
  • TODO runtime design
    props ID: dd1eeab0-901d-4914-91a0-0413a3503fd1
    logbook
    • State "TODO" from [2024-08-08 Thu 22:43]
    • needs a stack
    • maybe registers
    • plenty of dynamic extent
    • arenas
    • thread-aware

TODO q/tests/fuzz [0/2]

props ID: 6d3c2685-5faf-4670-8ea0-b9b047c17c64
logbook
  • State "TODO" from [2024-08-05 Mon 21:11]
  • TODO sql-fuzzer
    props ID: 32506969-1c5d-4a9f-aa03-eb4b1a863f5c
    logbook
    • State "TODO" from [2024-08-05 Mon 21:11]
    • ☐ values
    • ☐ record-batch
    • ☐ expression
    • ☐ plan
  • TODO dql-fuzzer
    props ID: ef26c36a-1a5c-461a-834b-936010d49bb3
    logbook
    • State "TODO" from [2024-08-05 Mon 21:12]

TODO #? reader macro

props ID: 5da9a939-892f-439e-8072-c5c61cc1bbe3
logbook
  • State "TODO" from [2024-08-08 Thu 22:36]

WIP complete base query protocol [1/2]   db

props LOCATION: lib/q/query.lisp
ID: 8e8bfeaf-22d2-4bad-a8e5-a19765561efa
logbook
  • State "WIP" from [2024-07-09 Tue 22:14]
  • Refiled on [2025-05-26 Mon 01:13]
  • object-based protocol for asking questions about data collections using data expressions
  • lex, parse, compile - all handled in the Q system
  • probably in need of refactor right after
    • different parts of the protocol will be used by different systems
      • data-source will be implemented in DAT/CSV DAT/PARQUET, RDB, etc
      • query-expression and query-plan will be implemented in Q/SQL and Q/DQL
  • TODO Basic Testing
    props ID: b857e6f1-c652-4024-9b87-308e1c830b2a
    logbook
    • State "TODO" from [2024-08-02 Fri 15:55]
  • DONE decide if this should be part of lib/q instead
    props CREATED: <2025-05-20 Tue 18:32>
    ID: 2d4cd4c1-7596-4816-a764-5210fd369308
    logbook
    • State "TODO" from [2025-05-20 Tue 18:32]
    • State "DONE" from "TODO" [2025-06-11 Wed 18:20]
    • Note taken on [2025-06-11 Wed 18:21]
      answer: yes

PROJECT parse [1/2]   lib

props ID: 50dff527-6778-42d3-934c-2d013d701514
VERSION: 0.1
CREATED: <2025-05-02 Fri 14:07>
logbook
  • State "TODO" from "TODO" [2023-12-13 Wed 18:24]
  • State "PROJECT" from "TODO" [2025-05-02 Fri 14:07]
properties

:ID: parse :ID: 8f54a69e-b256-4efd-98e8-75b4892f12b8

  • State "TODO" from [2023-11-29 Wed 19:01]
  • lalr.lisp
  • lex.lisp
  • obj api

TODO tests

props ID: 484740d6-3fb6-4796-b7e8-8f217c5063e5
logbook
  • State "TODO" from [2023-12-24 Sun 19:28]

add tests for lexer and LALR. figure out if there are any gaps that we need to fill.

PROJECT organ [0/4]   organ

props ID: f5ad161f-c954-45e2-aeb4-c88d916bae7f
VERSION: 0.2
logbook
  • State "TODO" from [2023-11-29 Wed 21:25]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]
properties

:ID: 4e7c55dc-e2fa-458f-ad3b-942b9aa336a4

TBD organ-export

props ID: 664309c2-55eb-45c2-88eb-a32c012c89ef
logbook
  • State "TBD" from "TODO" [2023-11-29 Wed 21:24]
properties

:ID: 189584f5-fc22-4129-bd47-5d494a088684

TODO org-parse

props ID: 2434b254-4346-4791-82da-b6bc309e8f5b
logbook
  • State "TODO" from [2023-11-29 Wed 21:26]
properties

:DEPENDENCIES: parse :HOOKS: organ-export :ID: 63774177-9730-4961-8535-414fac7a6f4f

TBD parse org-elements as sxp   sxp

props ID: 232b7b58-2e66-479a-a978-b33f1cdda13f
logbook
  • State "TODO" from [2023-09-25 Mon 15:23]
  • State "TBD" from "TODO" [2023-12-13 Wed 18:10]
(slime-start)
(ql:quickload :organ)
(org-element-parse-buffer)
(describe sxp)
#<OBJ/AST:AST {1215B0A143}>
  [standard-object]

Slots with :INSTANCE allocation:
  AST                            = NIL

WIP org-heading refinement

props CREATED: <2025-10-14 Tue 22:24>
ID: d9e4736c-5902-4b40-840a-faf48d67ea27
Effort: 5h
logbook
  • State "TODO" from [2025-10-14 Tue 22:24]

CLOCK: [2025-10-14 Tue 22:24]--[2025-10-14 Tue 22:25] (0:01)

  • time for trees
  • recursively parse headlines and store them in AST slots
  • sections (ORG-CONTENTS) contain everything upto the next heading or EOF

PROJECT rdb [1/13]   rdb

props ID: e5cd7ab8-f0d1-4b6e-ab68-852741e313cc
VERSION: 0.2
logbook
  • State "TODO" from "TODO" [2023-12-13 Wed 18:26]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

TODO error handling

props ID: 299c7d94-e259-4413-8b46-13957ca8ded4
logbook
  • State "TODO" from [2023-12-10 Sun 22:57]
  • need to unwrap the pointer (* (* t))
  • cast to string,int,bool
  • wrap segfault handlers
  • add restarts for common errors (bad path)
  • add cleanup routines

TODO client api

props ID: 93e0f187-c9f1-485f-9c51-b1abebf7da06
logbook
  • State "TODO" from [2023-12-10 Sun 22:59]
  • clients are fully dynamic
  • generated from RDB instances
  • compiles in CF/option/multithread/type info
  • clients implement custom Q language

TODO sequence/iterator impl

props ID: 6dbd6194-390b-4156-8690-75f91ce2e8d2
logbook
  • State "TODO" from [2023-12-10 Sun 23:09]
  • use SBCL built-ins to extend the api - wrap the raw FFI iterator
  • define mixins

TODO comparator impl

props ID: bb1bd757-f80d-4723-ac62-45d7ef72a0a2
logbook
  • State "TODO" from [2023-12-10 Sun 23:11]
  • supply custom comparators to rocksdb from lisp

TODO type system

props ID: 31a8f3e3-812f-4edc-a6d1-6540481d7dc7
logbook
  • State "TODO" from [2023-12-10 Sun 23:12]
  • capture types of: kv, cf
  • specs
    • kv-spec = (kv-spec val-spec)
      • must be serialized to/from vec<char>
    • cf-spec
      • used as superclass
      • methods for abstracting CFs

TODO set-opt/get-opt

props ID: 1a08fd02-b7e2-466b-9c43-f6570160aeb7
logbook
  • State "TODO" from [2023-12-16 Sat 00:49]
  • need better api
  • may just want to use the generic C fn that takes string as input
  • I feel this may be less efficient but haven't benched it (requires additional arg)
  • separate packages are a pain to query symbols with

TODO handle pinned vs non-pinned RocksDB accessors   rdb

props ID: 8c6202a0-7a7c-4574-a8a8-82c64e63831d
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:52]
  • may want a generalized interface that also supports with/without cf, timestamp, etc

TODO move backup-db from rdb to rdb-database

props ID: 475089df-2829-47c6-a2a7-d9fc9521193d
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:53]

TODO rdb prefix keys

props ID: 138fa681-47e9-4789-ad41-6bb8645af991
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:53]

TODO with-latest-options   rocksdb

props ID: e522332f-81c5-4e23-986b-7e41532f9015
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:55]

DONE SER and DE failures

props ID: 0a7fdd67-7efe-4a04-9327-8e6f9c0a75af
CREATED: <2026-01-07 Wed 22:13>
logbook
  • State "FIXME" from [2026-01-07 Wed 22:14]
  • State "DONE" from "FIXME" [2026-01-08 Thu 19:29]
  • replace with serialize/deserialize

TBD can only open rocksdb column families on OPEN

props CREATED: <2024-08-25 Sun 20:23>
ID: d85472ae-7e3a-4c52-8f34-4146a07314ba
logbook
  • Note taken on [2025-05-02 Fri 13:49]
    need to formalize what we've learned here (load-opts) and add to documentation
  • State "TBD" from [2025-05-02 Fri 13:50]
  • Refiled on [2025-05-02 Fri 13:58]

was getting hung up on why there is no 'open-cf' based on name in the C api really - the 'rocksdb-open-column-families' function is somewhat misleading.

database - Is there a way to retrieve `ColumnFamilyHandle` from `ColumnFamilyName` in RocksDb? - Stack Overflow

ultimately there is no way to do this - when opening the database you can specify which CFs to be opened and a new cf-handle is always returned on creation.

We should NOT use create- when there are existing columns that we just want to get a SAP for. Instead always opt for opening a new db instance, possibly by closing an existing one.

TODO undefined RDB/STORE symbols

props ID: 5f1bfe1a-a01f-4ded-b85f-b10a4cf8dc70
logbook
  • Refiled on [2025-10-11 Sat 21:39]
RDB::CURSOR-GET-BOTH-BUFFERED RDB::CURSOR-MOVE-BUFFERED
RDB::CURSOR-SET-BUFFERED RDB::DB-CURSOR RDB::DB-CURSOR-DELETE
RDB::DB-CURSOR-MOVE-BUFFERED RDB::DB-CURSOR-PGET-BOTH-BUFFERED
RDB::DB-CURSOR-PMOVE-BUFFERED RDB::DB-CURSOR-PSET-BUFFERED
RDB::DB-CURSOR-SET-BUFFERED RDB::DB-DELETE-BUFFERED
RDB::DB-DELETE-KV-BUFFERED RDB::DB-GET-KEY-BUFFERED
RDB::DB-PUT-BUFFERED RDB::DUP-BTREES RDB::INDEX-TABLE-ASSOC
RDB::KEY-FN RDB::PRIMARY

PROJECT vc [0/2]   vc

props ID: c14dc79d-eeed-42bf-aba2-35ef5aa7e45d
VERSION: 0.1
logbook
  • State "TODO" from [2024-02-29 Thu 16:10]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

TODO github atom feed queries

props ID: 104cd7fc-6f2c-4c78-a467-e4e739dbff07
CREATED: <2025-06-02 Mon 22:21>
logbook
  • State "TODO" from [2025-06-02 Mon 22:22]

see graph node github.com

WIP vc-mirrors-update replacement

props ID: 36c19881-72c6-4cf5-aaba-2b4ced302b97
LOCATION: ~/.config/nushell/scripts/vc.nu
Effort: 3:00
CREATED: <2024-08-22 Thu 22:15>
ORDERED: t
logbook
  • State "TODO" from [2024-08-10 Sat 01:33]

CLOCK: [2024-08-22 Thu 20:46]--[2024-08-22 Thu 22:12] (1:26)

  • State "TODO" from "TODO" [2024-08-22 Thu 22:15]

CLOCK: [2026-03-03 Tue 22:07]--[2026-03-03 Tue 22:08] (0:01)

  • State "WIP" from "TODO" [2026-03-03 Tue 22:07]

PROJECT dat [0/3]   dat

props ID: 31fa3e61-b586-4023-be94-5195a26596ce
VERSION: 0.1
logbook
  • State "TODO" from [2024-08-11 Sun 00:08]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

WIP dat/parquet

props Effort: 80:00
ID: c808200c-450a-4f77-b4c1-6b372c7c4943
logbook
  • State "WIP" from [2024-07-19 Fri 21:51]
  • TODO RLE
    props CREATED: <2025-05-16 Fri 23:23>
    ID: a645c320-ea80-471a-8deb-c7e807970107
    logbook
    • State "TODO" from [2025-05-16 Fri 23:23]
  • TODO tcompact
    props CREATED: <2025-05-16 Fri 23:25>
    ID: f367ad82-1b61-4034-8c89-fa812d8f0b96
    logbook
    • State "TODO" from [2025-05-16 Fri 23:25]

TODO dat/csv column selectors   dat

props Effort: 8:00
ID: 40cb89e4-db1b-4a78-b2b7-3e0fc9ee287b
logbook
  • State "TODO" from [2024-08-05 Mon 20:53]
  • a function which accepts a single arg which is either a number, indicating index-based selection or a list of column names for selection by name.

(read-csv-line ... :select (lambda (x) x))

  • index-based-selection
  • selection-by-name

TODO dat/sxp

props ID: 1005b8fa-a850-4674-bd6c-fabecdcc5639
CREATED: <2025-07-27 Sun 00:00>
logbook
  • State "TODO" from [2025-07-27 Sun 00:00]
  • sxp is back on the menu
  • serializable format supporting as many objects as possible
  • first implementation of complete STORE protocol
  • act as human/machine-readable db format

PROJECT syn [0/4]   syn

props ID: a199245b-4bed-48eb-83f5-e83c03da3a7d
VERSION: 0.1
logbook
  • State "TODO" from [2024-08-13 Tue 22:15]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

WIP gen

props ID: 8f44301f-c35a-4a97-88c2-6ea2295513b1
CREATED: <2025-06-03 Tue 21:44>
Effort: 100h
logbook

CLOCK: [2025-06-03 Tue 21:45]--[2025-06-03 Tue 22:15] (0:30)

  • DONE C function declaration arguments
    props ID: d91584a1-0e99-461b-9045-b521e9d2fe92
    CREATED: <2025-06-03 Tue 21:45>
    logbook
    • State "TODO" from [2025-06-03 Tue 21:46]
    • State "WIP" from "TODO" [2025-08-30 Sat 23:11]
    • Note taken on [2025-08-30 Sat 23:11]
      need to fix the deref operator - does not seem to be printing correctly
    • State "DONE" from "WIP" [2025-08-30 Sat 23:19]
    • this should give us enough to remove the remaining C code from the core source tree
    • replace zstd/alien.c and tree-sitter/alien.c with C gen-syntax.
    • next we will target full header files
      • REW_MODE
  • FIXME deref op
    props ID: 6a3eb8d5-4ee6-450e-b3e1-9a19ec5415f2
    CREATED: <2025-08-30 Sat 23:11>
    logbook
    • State "FIXME" from [2025-08-30 Sat 23:11]
    (in-package :c)
    (describe (deref foo))
    
    #<SYN/GEN/C:PREFIX-EXPRESSION {122A137C53}>
      [standard-object]
    
    Slots with :INSTANCE allocation:
      OP                             = COMMON-LISP:*
      OBJECT                         = #<SYN/GEN:IDENT {122A132F23}>
    

TODO tempo

props CREATED: <2025-05-16 Fri 23:19>
ID: 25c20927-7ba3-4821-91b9-ad05a1a4b7f7
logbook
  • State "TODO" from [2025-05-16 Fri 23:19]

TODO grovel

props ID: d20b9fab-0866-4c21-8055-e67b2cbd7f3c
CREATED: <2025-11-27 Thu 21:23>
logbook
  • State "TODO" from [2025-11-27 Thu 21:23]
  • green impl of SB-GROVEL
  • no dependency on ASDF
  • no constants.lisp
    • use lookup functions to retrieve forms
  • directly integrates with SYS
  • depends on C and Tree-sitter C bindings
  • does NOT execute compiled C, simply uses the C compiler for macro expansion and parses with SYN/TS, spits out Lisp forms (probably depend on STD/ALIEN).
  • unsure on the caching strategy
    • where should the compiled output go? we probably want to keep some accounting info in the fsys, forms in a fasl (invisible to user)
    • avoid reparsing when C files are unmodified
    • avoid regen when Lisp AND C files are unmodified
  • do we need an incremental update feature? where forms are user-maintained, and we emit conditions when a user-specified version goes out of sync..
    • we might need this to specify the :IN :OUT parameters in DEFINE-ALIEN-ROUTINE arguments - don't think those can be determined programatically but TBD

TODO lint

props CREATED: <2025-05-16 Fri 23:19>
ID: fbb51cc0-134d-4df5-9b58-6067ed8c2fa8
logbook
  • State "TODO" from [2025-05-16 Fri 23:19]

TODO whitespace cleanup

props ID: 859c42e3-b305-4ba6-a7c5-6e5ead1e5210
CREATED: <2025-06-29 Sun 22:50>
logbook
  • State "TODO" from [2025-06-29 Sun 22:50]
  • Refiled on [2026-01-05 Mon 19:24]
  • make a script

PROJECT cry   crypto

props ID: 2d5bcf6e-6652-4e33-b923-d2311896eee8
CREATED: <2025-06-06 Fri 13:30>
LOCATION+: cry/
logbook
  • State "PROJECT" from [2025-06-06 Fri 13:30]

DONE tls

props ID: 53e803e1-40fc-4da5-925e-7909154a590b
CREATED: <2025-06-06 Fri 15:06>
ORDERED: t
LOCATION+: tls/
logbook
  • State "WIP" from [2025-06-06 Fri 15:06]
  • Note taken on [2025-11-14 Fri 19:37]
    rename to tls
  • State "DONE" from "WIP" [2026-01-14 Wed 20:05]
  • DONE ssl streams
    props ID: aea7eefe-6823-4924-8248-d74923f68c0b
    CREATED: <2025-11-14 Fri 19:38>
    Effort: 8h
    LOCATION+: stream.lisp
    logbook
    • State "DONE" from "WIP" [2026-01-14 Wed 20:05]

PROJECT obj [5/11]   obj

props ID: c1500e3b-1d95-4ba2-96d5-8301b02293e2
VERSION: 0.1
LOCATION+: obj/
logbook
  • State "TODO" from [2023-12-17 Sun 00:59]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

TODO object schema   schema

props CREATED: <2025-11-03 Mon 19:14>
ID: 01351f90-e599-41a8-96b2-0138ff3112eb
logbook
  • State "TODO" from [2025-11-03 Mon 19:14]
  • get this working and tested, implement for org-graph
  • keep working our way up the chain to stored-object-schemas

TODO command parents

props ID: 3e6dea77-0cb0-4349-ac65-4e0a4992cfb9
CREATED: <2026-01-31 Sat 23:40>
logbook
  • State "TODO" from [2026-01-31 Sat 23:40]
  • may want to ditch the init protocol and use DEFINE-COMMAND-TABLE
  • consider PARENT:CMD protocol (modify parse/read)
  • if command not found in primary check parent
  • we now may need more than hash-tables..

DONE CMD   cmd

props ID: d6e24fc6-f236-4905-944f-8e9eb7f0616f
CREATED: <2026-01-13 Tue 21:34>
Effort: 32h
logbook
  • State "TODO" from [2026-01-13 Tue 21:34]

CLOCK: [2026-01-16 Fri 22:27]--[2026-01-16 Fri 22:28] (0:01)

  • State "DONE" from "WIP" [2026-01-20 Tue 22:06]
  • commands are a more generalized concept than we initially planned
    • CLI is most used case (depth), WM contains most commands (breadth)
  • cli-cmd -> cli-command
  • obj:defcommand (obj:defcmd?)
  • obj:*command-table*
  • our preference is to store them as funcallable objects (kernels)
  • NOPE: do we need a package? probably want to access via symbol-table -> compile functions

DONE Command Itypes   cmd

props ID: 974217fd-cb3c-44d0-ac97-65a4da7e5192
CREATED: <2026-01-22 Thu 12:09>
logbook
  • State "TODO" from [2026-01-22 Thu 12:09]
  • State "DONE" from "TODO" [2026-01-28 Wed 18:18]

we need to ignore lambda-list-keywords, apply interactive spec

  • do we want a 'skip' interactive designator? probably not
(defcommand foo (&optional bar) (declare (interactive string))) ; FIXED
  • ☑ CHECK-ITYPE should only be called in DEFCOMMAND
  • ☑ after parse-command we need to compare the arglist to ITYPE
    • skip all provided args
    • call the remaining interactive-types with INPUT

TODO equiv

props ID: 6d8b3bb5-2c82-408a-b77f-d43fd53cebe1
CREATED: <2025-06-09 Mon 14:46>
logbook
  • State "TODO" from [2025-06-09 Mon 14:46]
  • TODO documentation
    props ID: 8c7669a3-5552-40cd-b9c9-1ae064382cd7
    CREATED: <2025-11-20 Thu 21:18>
    logbook
    • State "TODO" from [2025-11-20 Thu 21:18]
    • specify mapping to lisp equality primitives
    • OUTLINE next steps
      props ID: df12ca39-ad89-4858-bc1e-4b0efddee649
      CREATED: <2025-06-09 Mon 14:47>
      logbook
      • State "OUTLINE" from [2025-06-09 Mon 14:47]
      • probably want to hook into sbcl low-level equality mechanics
      • leverage type-classes/primitive-type
      • egraphs, etc

DONE url-encode

props ID: 669dbc13-4bfc-44ba-bd8e-9337809dd1b5
CREATED: <2025-06-12 Thu 21:24>
logbook
  • State "TODO" from [2025-06-12 Thu 21:24]
  • State "DONE" from "TODO" [2025-06-13 Fri 13:39]

DONE url-decode

props ID: f1bac2bf-8d36-4929-827e-37bdfd09366a
CREATED: <2025-06-12 Thu 21:25>
logbook
  • State "TODO" from [2025-06-12 Thu 21:25]
  • State "DONE" from "TODO" [2025-06-13 Fri 13:39]

WIP tensor [3/7]

props CREATED: <2025-05-20 Tue 18:37>
ID: b515faef-e1dc-4b30-bf50-599b7394e797
LOCATION+: tensor/
logbook
  • State "TODO" from [2025-05-20 Tue 18:37]
  • State "WIP" from "TODO" [2025-05-21 Wed 21:15]
  • TBD arrow interface
    props ID: b15aa26d-da7f-420b-8291-fdf23d4223bd
    CREATED: <2025-06-06 Fri 22:39>
    logbook
    • State "TODO" from [2025-06-06 Fri 22:39]
    • State "TBD" from "TODO" [2025-06-06 Fri 22:39]
  • DONE dispatch strategy for tensor methods
    props ID: 0521332c-11d2-4ffc-8ada-99690b8b2655
    CREATED: <2025-05-26 Mon 00:56>
    logbook
    • State "TODO" from [2025-05-26 Mon 00:56]
    • State "DONE" from "TODO" [2025-12-02 Tue 20:52]
    • MATLISP uses a somewhat janky macro-based template approach
      • compiles methods in place.. (defmethod foo () (compile-and-eval `(defmethod %foo ...)) (%foo))
      • mention in the comments of using MOP instead
    • instead of macro-based templates let's abuse compiler macros as much as we can
    • ☐ investigate tensor methods
    • instead of compiler macros, let's abuse the compiler :)
      • deftransform, array specialization stuff (sb-vm, sb-c)
    • sbcl has its own concept of higher-ordered types see define-type-class
    • MATLISP main branch uses MOP - tensor-class and tensor-method-generator, in addition to the auto-memoized templates (std/meta for us)
      • [2025-11-20 Thu] currently transitioning to this API
      • attempting to leverage STD:KERNEL-CLASS for the tensor accessor stuff. Could be a bad idea.. TBD.
  • DONE figure out path forward for obj/tensor/loop
    props ID: ac8dfb86-8592-4e59-8292-19b515e81557
    CREATED: <2025-11-21 Fri 21:39>
    LOCATION+: loop.lisp
    logbook
    • State "TODO" from [2025-11-21 Fri 21:39]
    • Note taken on [2025-11-29 Sat 15:59]
      currently stuck in implementation..
    • Note taken on [2025-12-02 Tue 20:51]
      using loop-paths
    • State "DONE" from "TODO" [2025-12-02 Tue 20:51]
  • TODO graph-idx loop-path
    props ID: d7fbd40d-510f-485d-9237-fef53d4f9a58
    CREATED: <2025-12-02 Tue 20:51>
    logbook
    • State "TODO" from [2025-12-02 Tue 20:52]
  • DONE define-tensor-method
    props ID: 3efa7637-6eec-4d3c-8a4f-9be7c0db440d
    CREATED: <2025-12-02 Tue 20:55>
    logbook
    • State "FIXME" from [2025-12-02 Tue 20:55]
    • State "DONE" from "FIXME" [2026-01-13 Tue 21:40]
    • still something suspicious going on, computed method isn't being dispatched correctly
    (handler-case (obj/tensor::ref (obj/tensor::zeros 100) 0)
        (error (c) (print c)))
    
    
    #<TYPE-ERROR expected-type: ARRAY
                 datum:
                 #<OBJ/TENSOR::|<BLAS-MIXIN SIMPLE-DENSE-TENSOR: DOUBLE-FLOAT>| {120DB56EE3}>> 
    
    • one of the filters isn't doing the right thing in the presence of standard method defs (generic defs)
  • TODO slice loop-path
    props ID: a2738b46-2321-4b04-8602-2c1c86b9d8b6
    CREATED: <2025-12-02 Tue 20:52>
    logbook
    • State "TODO" from [2025-12-02 Tue 20:52]
  • RESEARCH SB-SIMD
    props ID: bc69db9c-023a-4235-b0a9-e84061cd703e
    CREATED: <2025-06-09 Mon 12:13>
    logbook
    • State "RESEARCH" from [2025-06-09 Mon 12:13]

    array optimizations

    • simd packs should interop with tensors anyways - simd-tensor, packed-tensor?
    • learn how all the deftransforms work, how to define a type-class, etc
    • use similar macro structuring

DONE obj/cache

props ID: 1ac87c66-1050-4679-b972-e6ffa744a36b
CREATED: <2026-01-08 Thu 21:50>
logbook
  • State "FIXME" from [2026-01-08 Thu 21:50]
  • State "DONE" from "FIXME" [2026-01-13 Tue 20:40]
  • entry-weights are sorta broken
  • need to re-evaluate based on CACLE and probably add some missing slots - policy can't be abused the way we're doin it.

TODO color/theme

props ID: 9dfe3f93-b0d0-4d9c-bdb6-1bd045037853
CREATED: <2025-07-29 Tue 16:35>
LOCATION+: color/theme.lisp
logbook
  • State "TODO" from [2025-07-29 Tue 16:35]
  • Note taken on [2025-12-02 Tue 20:53]
    need easy way to demo/cycle through palettes - use std draw functions and print-color
  • DONE base16 palettes
    props ID: 3d467376-0ada-4bcf-9330-80bbdbb34769
    CREATED: <2025-08-30 Sat 21:32>
    logbook
    • State "TODO" from [2025-08-30 Sat 21:32]
    • Note taken on [2025-08-30 Sat 23:19]
      just need to add some default palettes to COLOR-PALETTES and good to go
    • State "DONE" from "TODO" [2025-11-20 Thu 21:21]

    Base16 aims to group similar language constructs with a single color. For example, floats, ints, and doubles would belong to the same colour group. The colors for the default theme were chosen to be easily separable, but scheme designers should pick whichever colours they desire, e.g. base0B (green by default) could be replaced with red. There are, however, some general guidelines below that stipulate which base0B should be used to highlight each construct when designing templates for editors.

    Since describing syntax highlighting can be tricky, please see base16-vim and base16-textmate for reference. Though it should be noted that each editor will have some discrepancies due the fact that editors generally have different syntax highlighting engines.

    Colors base00 to base07 are typically variations of a shade and run from darkest to lightest. These colors are used for foreground and background, status bars, line highlighting and such. Colors base08 to base0F are typically individual colors used for types, operators, names and variables. In order to create a dark theme, colors base00 to base07 should span from dark to light. For a light theme, these colours should span from light to dark.

RESEARCH major-modes

props CREATED: <2026-01-25 Sun 21:22>
ID: 6c07d53d-b5fe-4dc3-86bc-03743ee2c6bc
logbook
  • State "RESEARCH" from "TODO" [2026-01-25 Sun 21:22]
  • Refiled on [2026-01-26 Mon 21:12]

PROJECT net [1/6]   net

props ID: 5d088bf7-f201-4875-9167-4293bebbcf46
VERSION: 0.1
LOCATION+: net/
logbook
  • State "TODO" from [2023-12-17 Sun 01:00]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:20]

TODO remove cl+ssl dependency

props ID: 036a7995-be25-4b9f-92b2-d5efd8955667
CREATED: <2025-06-13 Fri 16:12>
logbook
  • State "TODO" from [2025-06-13 Fri 16:12]
(rgrep "ssl" "*.*" "~/comp/core/lib/net/")

DONE remove babel dependency

props ID: ebffdecc-af18-4fdf-b068-6a95d68e59c8
CREATED: <2025-06-13 Fri 16:11>
logbook
  • State "TODO" from [2025-06-13 Fri 16:11]
  • State "DONE" from "TODO" [2025-06-16 Mon 16:47]

we want to resuse the internal sbcl machinery as much as possible to avoid making copies of string coders.

babel provides a flexible charset coding library similar to libiconv. The semantics are somewhat different from SBCL but they share basically the same goal.

It appears that babel ENCODINGs are used in many places where a simple sbcl EXTERNAL-FORMAT would do. The difference is that EXTERNAL-FORMATs are not supposed to be extensible (AFAIK). Babel seems to make the assumption that we aren't supposed to mess with sb-impl and other internals much - which is where all the useful stuff is.

I have a hunch there is some reason other than portability that its so prevelant tho.. only one way to find out :)

(rgrep "babel" "*.*" "~/comp/core/lib/net/")
  • babel-encodings
    • enc-max-units-per-char
    • lookup-mapping
    • string-vector-mappings
    • code-point-counter
    • decoder
;; defined in sb external format def macros
(defun ,(make-od-name ',octets-to-string-name/cr accessor) (array astart aend replacement)
  (declare (optimize speed)
           (type ,type array)
           (type array-range astart aend)
           (ignorable replacement))
  (let ((string (make-array 0 :element-type 'character :fill-pointer 0 :adjustable t)))
    (loop for apos from astart below aend
          do (let* ((byte (,accessor array apos))
                    (code (,',->code-name byte))
                    (string-content
                      (cond
                        ((null code)
                         (decoding-error array apos (1+ apos)
                                         '(,',external-format :newline :cr)
                                         replacement
                                         ',',decoding-condition-name
                                         apos))
                        ((= code 13) (code-char 10))
                        (t (code-char code)))))
               (if (characterp string-content)
                   (vector-push-extend string-content string)
                   (loop for c across string-content
                         do (vector-push-extend c string))))
          finally (return (coerce string 'simple-string))))))

TODO fixtures   rt

props ID: fe592b6f-cde1-43e9-ac5a-81addc124582
logbook
  • State "TODO" from [2024-08-11 Sun 00:06]
  • implement simple network fixtures which can be used within the body of DEFTEST
  • start with simple sockets - UDP then TCP
  • work up towards HTTP

TODO tcp   core

props ID: 8e90fe7a-3a22-4af4-b247-64ac6890b94a
logbook
  • State "TODO" from [2023-12-17 Sun 01:01]

TODO udp   core

props ID: d238fc1f-24be-447b-a96b-ec35958470fc
logbook
  • State "TODO" from [2023-12-17 Sun 01:01]
  • MTU discovery handled via cli
  • don't care too much about multicast discovery
  • set via variables
  • multicast range: 224.0.0.0:239.255.255.255
    • base address: 224.0.0.0
    • all hosts: 224.0.0.1
    • all routers: 224.0.0.2
    • OSPF: 224.0.0.5
    • IGMP: 224.0.0.22
    • RIP: ..9
    • PTP: ..107

WAIT net/srv   lisp

props ID: f812f4e7-03c0-4e7a-a602-8947c39eb4ed
CREATED: <2025-06-13 Fri 13:40>
logbook
  • State "TODO" from [2024-07-19 Fri 21:50]
  • State "WIP" from "TODO" [2024-07-19 Fri 21:51]
  • State "WAIT" from "WIP" [2025-06-13 Fri 13:40]
    task-pools
  • needs a solid task-pool impl completed first
    • pending std/defsys

DONE gui [2/2]   gui

props ID: 73aea563-3df7-4611-a27d-874772806f18
LOCATION+: gui/
VERSION: 0.1
CREATED: <2025-07-28 Mon 21:54>
logbook
  • State "TODO" from [2023-12-17 Sun 03:40]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:20]
  • Note taken on [2025-07-28 Mon 21:54]
    moved to shed
  • State "DONE" from "PROJECT" [2025-07-28 Mon 21:54]

NOPE wayland protocol bindings

props ID: 534fe8cb-9056-4ac4-84ca-d98f09f78214
CREATED: <2025-01-18 Sat 20:08>
logbook
  • State "TODO" from [2023-12-17 Sun 03:40]
  • State "WAIT" from "TODO" [2025-01-18 Sat 20:08]
    Wait until we actually have a usecase for Wayland
  • State "NOPE" from "WAIT" [2025-07-28 Mon 21:54]

NOPE wayland compositor   rust lisp

props ID: ca3d0bff-0ff7-4947-835a-b7c7e74c8679
CREATED: <2025-07-28 Mon 21:54>
logbook
  • State "TBD" from "TODO" [2023-11-29 Wed 21:25]
properties

:ID: e18a90d7-10bc-44d3-8508-56483d29d385

PROJECT rt [0/6]   rt test

props ID: 7a14c529-8609-4638-b101-7304a1605fcc
VERSION: 0.1
logbook
  • State "TODO" from [2024-02-29 Thu 16:06]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:20]

TODO redirect I/O in tests

props ID: 34f27f91-c93a-4841-a6ac-5692ad1d0e4f
logbook
  • State "TODO" from [2024-02-29 Thu 16:06]

prevent tests from printing implicitly. redirect stream locally, cache it somehow for review.

TODO test-on-def

props ID: f5cf6e43-906b-4225-9cdb-ac0028b48661
logbook
  • State "TODO" from [2024-02-29 Thu 17:17]
  • simple flag to test when file is defined (part of deftest macro)

TODO test-directory   rt

props ID: ff33fc34-5816-4165-af36-d3e0c33e5d55
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Note taken on [2025-05-02 Fri 13:53]
    logical pathnames?
  • Refiled on [2025-05-02 Fri 13:54]

root test directory /tmp/rt with subdir for each suite, initialize from within suite

TODO fixtures v2

props ID: a3ffa1af-975a-44e5-a38d-b3f1ab2ceeff
CREATED: <2026-01-20 Tue 22:27>
logbook
  • State "TODO" from [2026-01-20 Tue 22:27]
  • likely to be kernel-objects
  • use DEFAPI (pending DEFAPI)

TODO TEST-FUNCTION v2

props ID: 8813fea8-99c2-4c0d-8cd5-259e80b7c765
CREATED: <2026-01-22 Thu 21:47>
logbook
  • State "TODO" from [2026-01-22 Thu 21:47]
  • kernel-objects

FIXME test-result false-positives

props ID: 8250a385-cd25-4f63-a95f-75e04bcbb8a5
CREATED: <2025-09-17 Wed 20:12>
logbook
  • State "FIXME" from [2025-09-17 Wed 20:12]

IS macros aren't reporting their failures correctly - should be returning conditions which bubble up to the caller.

PROJECT io [3/9]   io

props CREATED: <2024-09-19 Thu 21:54>
ID: 39c15417-5078-403f-b716-3b48b9d3929d
LOCATION+: io/
logbook
  • State "PROJECT" from [2024-09-19 Thu 21:54]

TODO mux

props ID: 27f4a18f-0c3f-4b7c-acce-f789e64d6379
CREATED: <2026-03-09 Mon 17:45>
logbook
  • State "TODO" from [2026-03-09 Mon 17:45]
  • multiplexer implementation based on iolib
  • default to epoll
  • impl for dbus
  • impl for wm
  • (maybe back up select/poll)
  • then uring
  • RESEARCH wm impl
    props ID: b718a727-799e-47ec-be49-90f2c86abed1
    CREATED: <2026-03-09 Mon 17:49>
    logbook
    • State "TODO" from [2026-03-09 Mon 17:49]
    • State "RESEARCH" from "TODO" [2026-03-09 Mon 17:49]
    ;; This file implements a generic multiplexing I/O loop for listening
    ;; to I/O events from multiple sources. The model is as follows:
    
    ;; An I/O multiplexer is represented as an object, with which I/O
    ;; channels can be registered to be monitored for events when the I/O
    ;; loop runs. An I/O channel is any object for which the generic
    ;; functions IO-CHANNEL-IOPORT, IO-CHANNEL-EVENTS and
    ;; IO-CHANNEL-HANDLE are implemented.
    
    ;; IO-CHANNEL-IOPORT, given an I/O multiplexer and an I/O channel,
    ;; should return the underlying system I/O facility that the channel
    ;; operates on. The actual objects used to represent an I/O facility
    ;; depends on the Lisp implementation, operating system and the
    ;; specific I/O loop implementation, but, for example, on Unix
    ;; implementations they will likely be numeric file descriptors. The
    ;; I/O loop implementation implements IO-CHANNEL-IOPORT methods for
    ;; the facilities it understands (such as FD-STREAMs on SBCL), so
    ;; user-implemented channels should simply call IO-CHANNEL-IOPORT
    ;; recursively on whatever it operates on.
    
    ;; IO-CHANNEL-EVENTS, given an I/O channel, should return a list of
    ;; the events that the channel is interested in. See the
    ;; documentation for IO-CHANNEL-EVENTS for further details.
    
    ;; The I/O loop guarantees that it will check what events a channel
    ;; is interested in when it is first registered, and also at any time
    ;; the channel has been notified of an event. If the channel changes
    ;; its mind at any other point in time, it should use the
    ;; IO-LOOP-UPDATE function to notify the I/O loop of such
    ;; changes. The I/O loop may very well also update spuriously at
    ;; other times, but such updates are not guaranteed.
    
    ;; IO-CHANNEL-HANDLE is called by the I/O loop to notify a channel of
    ;; an event.
    
    ;; An I/O multiplexer is created with a MAKE-INSTANCE call on the
    ;; class of the desired multiplexer implementation. If the code using
    ;; the multiplexer has no certain preferences on an implementation
    ;; (which should be the usual case), the variable *DEFAULT-IO-LOOP*
    ;; points to a class that should be generally optimal given the
    ;; current Lisp implementation and operating system.
    
    ;; Given a multiplexer, channels can be registered with it using
    ;; IO-LOOP-ADD, unregistered with IO-LOOP-REMOVE, and updated with
    ;; IO-LOOP-UPDATE (as described above). Call IO-LOOP on the
    ;; multiplexer to actually run it.
    

TODO uring

props CREATED: <2025-01-18 Sat 20:49>
ID: 2a88e627-be3b-4651-8812-44039ff8994d
logbook
  • State "TODO" from [2025-01-18 Sat 20:49]

DONE zlib compression

props CREATED: <2025-05-12 Mon 23:22>
ID: 41241d38-f0f9-4b96-97e5-d8a11622396d
logbook
  • State "TODO" from [2025-05-12 Mon 23:22]
  • State "WIP" from "TODO" [2025-06-11 Wed 23:13]
  • State "DONE" from "WIP" [2025-06-13 Fri 13:41]
  • uses deflate
  • refactor salza2 to use io protos
  • replace salza2 and remove dependency

NOPE stream-write-sequence for deflate

props ID: e306decd-5e38-4cb4-b43e-c49d3606f6ba
CREATED: <2025-06-16 Mon 22:44>
logbook
  • State "FIXME" from [2025-06-16 Mon 22:44]
  • use compress and decompress instead - no direct stream support

FIXME flate/deflate

props ID: 3ad8ce2d-9463-4c0a-a0ed-0d564182d4b3
CREATED: <2026-02-05 Thu 17:30>
logbook
  • State "TODO" from [2026-02-05 Thu 17:30]
  • State "FIXME" from [2026-02-05 Thu 17:30]

FIXME zstd streams

props ID: bd3434ea-a900-45b4-8890-9dff8403c020
CREATED: <2025-06-16 Mon 22:16>
logbook
  • State "FIXME" from [2025-06-16 Mon 22:16]
  • keep getting segfaults when using the streaming api (which is much faster and needed for serious use)
  • need to debug and fix, test in dat/tar on tar.zst files

TODO wm:kbd -> io/kbd:kbd

props ID: bcfbc0ca-4d19-45b5-9256-a350aca2026f
CREATED: <2026-01-06 Tue 21:57>
logbook
  • State "TODO" from [2026-01-06 Tue 21:57]
  • ☑ parse keyboard definitions from simple strings
  • ☐ parse keyboard definitions from lists
  • KEY
  • KEYMAP
  • IO
    • READ-KEY
    • WRITE-KEY
    • READ-KEY-SEQ
    • WRITE-KEY-SEQ
  • PRINT-KEY
  • KBD
  • SERDE :XLIB
  • DEFINE-KEY
  • DEFINE-KEYMAP

DONE wm:kmap -> io/kbd:keymap

props ID: e8732ce7-7c47-46c6-9146-faaef8cf93b5
CREATED: <2026-01-06 Tue 21:58>
logbook
  • State "TODO" from [2026-01-06 Tue 21:58]
  • State "DONE" from "TODO" [2026-02-05 Thu 17:31]
  • make-sparse-keymap
  • probably just using hash-tables, same as color palettes, etc.
  • how should we handle transients?
  • what is the relation with commands?
    • wm already binds the last keyseq for each command
    • would want to bind a *KEYMAP* variable with a STATE slot being the active parent key

WIP virtual streams

props ID: a1522a85-f8d7-4341-b22c-32fc09bd07a3
CREATED: <2025-06-11 Wed 18:15>
Effort: 8h
ORDERED: t
logbook
  • State "TODO" from [2025-06-11 Wed 18:15]

CLOCK: [2026-03-08 Sun 22:33]--[2026-03-08 Sun 22:33] (0:00)

  • we probably do want something similar to flexi-streams after all
  • need condition handling for external-formats and list/vector streams
  • hook them in to io/fast and io/static
  • tensor streams
  • columns

PROJECT math   math

props CREATED: <2025-05-08 Thu 18:27>
ID: 1b08ca47-cace-4ce5-a0f2-cd74dcf8c547
LOCATION: lib/math
logbook
  • State "PROJECT" from [2025-05-08 Thu 18:27]
  • depends on tensor library

RESEARCH in-vector iterator

props ID: 39228192-543a-40e1-a97b-81ad89b49785
CREATED: <2026-01-01 Thu 17:45>
logbook
  • State "RESEARCH" from [2026-01-01 Thu 17:45]
(for j in-vector (δ-i g) from li below ri)
  • expand into LOOP OR
  • maybe we should do VIDX loop-path after all

PROJECT box

props ID: 3329b301-f396-48f8-b097-dca46fbfd74d
CREATED: <2025-11-13 Thu 20:10>
logbook
  • State "PROJECT" from [2025-11-13 Thu 20:10]

DONE type keyword for box configs

props ID: b51a0a08-9e05-4485-864c-b9b4661d95d3
CREATED: <2025-11-13 Thu 20:09>
Effort: 2:00
logbook

CLOCK: [2025-11-13 Thu 20:26]--[2025-11-13 Thu 21:48] (1:22)

  • Note taken on [2025-11-13 Thu 21:29]
    pretty easy, just gotta finesse safe-io-syntax
  • State "WIP" from [2025-11-13 Thu 21:30]
  • State "DONE" from "WIP" [2025-11-13 Thu 21:49]
  • erased on read
  • might want to indicate working-dir, output
  • DONE from keyword
    props ID: 58aa8a9d-2b92-4a4a-87a9-c3086907fb91
    CREATED: <2025-11-13 Thu 21:30>
    logbook
    • State "WIP" from [2025-11-13 Thu 21:30]
    • State "DONE" from "WIP" [2025-11-13 Thu 21:48]

PROJECT log [0/2]

props CREATED: <2025-05-16 Fri 23:44>
ID: 10f18d64-0862-4764-ae66-c548ccfdd82c
LOCATION+: log/
logbook
  • State "PROJECT" from [2025-05-16 Fri 23:44]

TODO log-broadcast-stream

props ID: de06ee9d-6a26-46a2-b123-e8154d3b63c8
CREATED: <2025-06-28 Sat 23:19>
logbook
  • State "TODO" from [2025-06-28 Sat 23:19]

TODO async-db-log-file

props CREATED: <2025-05-16 Fri 23:45>
ID: b79073a2-85b4-46f8-8e24-542012fa3cac
logbook
  • State "TODO" from [2025-05-16 Fri 23:45]
  • db can only have single writer
  • wbwi + commit
  • better condition handling when db already opened (read rocksdb error codes? i know we have the strings..)
  • also nice to have blobdb logs
    • individual log files living in same directory, only one write needed
    • still doesn't necessarily prevent deadlocks, just much harder to trigger

PROJECT std [3/4]   lisp std

props ID: e43489ff-4ca9-45e4-83f2-ee9b0967af3a
VERSION: 0.2
LOCATION: std/
logbook
  • State "TODO" from [2023-12-12 Tue 19:49]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

NOPE sstring<->cstring

props ID: d2cfb84d-0b10-4194-94cc-7ea1e9cbc875
CREATED: <2026-03-09 Mon 19:37>
logbook
  • State "TODO" from [2026-03-09 Mon 19:37]
  • translate between simple-strings and cstrings (special case of string)

TODO return* proto

props ID: 72ab1ec3-1550-43de-8b6f-0f69c4e7383b
CREATED: <2026-03-13 Fri 22:59>
logbook
  • State "TODO" from [2026-03-13 Fri 22:59]
  • iolib/src/base/return-start.lisp
  • nested block returns

NOPE DEFAPI

props ID: d4fa48f0-04a5-473c-abef-195b3f7bb3f3
CREATED: <2026-01-20 Tue 22:18>
logbook
  • State "TODO" from [2026-01-20 Tue 22:18]
  • in prim.lisp
  • shared macro for defining the follow interfaces:
    • readtables (would need additional refactoring to depend on prim.lisp)
    • print tables
    • annotations
    • commands
    • thread-pools
    • colors
    • keybinds
    • loop universes?
    • io-table?

DONE annotations

props ID: 0c6d3580-78e8-42d4-8472-1d336c31aa73
CREATED: <2026-01-05 Mon 21:27>
LOCATION+: string.lisp
Effort: 8h
logbook
  • State "TODO" from [2026-01-05 Mon 21:27]

CLOCK: [2026-01-05 Mon 21:29]--[2026-01-05 Mon 21:29] (0:00)

  • State "DONE" from "WIP" [2026-01-20 Tue 22:21]

PROJECT emacs [2/17]   emacs

props ID: b6a3ffb9-a7aa-4038-8876-fcdb8115dc08
VERSION: 0.1
LOCATION: emacs/
logbook
  • State "TODO" from [2024-08-16 Fri 22:39]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:20]
  • don't really care about versioning the core/emacs configs much
  • may come in use later so just a general milestone when these tasks are done

WIP comp/org capture templates

props ID: 3d303736-7b79-4c5c-ba43-9ea5aa05f722
logbook
  • State "TODO" from [2024-08-15 Thu 23:14]
  • State "WIP" from "TODO" [2024-08-18 Sun 16:22]

TODO comp/org agenda views, export, dblock

props ID: 952fe286-9fd8-478f-bafc-a0a25ae3d17a
logbook
  • State "TODO" from [2024-08-15 Thu 23:15]

TODO agenda views

props CREATED: <2024-08-27 Tue 18:23>
ID: 4f704120-1553-46bc-ac31-5d65aaf340d3
logbook
  • State "TODO" from [2024-08-27 Tue 18:23]
  • a few defined in ellis.el
  • define some starter ones for inbox.el
  • define views for scrum.el

FIXME compiler warnings

props ID: dd4cf91d-4b45-4b5f-adee-0e248ebed0e1
logbook
  • State "FIXME" from [2024-08-16 Fri 22:42]
default.el:176:7: Warning: assignment to free variable ‘multisession-storage’
default.el:184:11: Warning: assignment to free variable ‘hg-binary’
default.el:240:6: Warning: docstring has wrong usage of unescaped single
    quotes (use \=' or different quoting such as `...')
default.el:259:30: Warning: ‘:inherit’ called as a function
default.el:260:30: Warning: ‘:indentation’ called as a function
default.el:261:42: Warning: reference to free variable ‘defpackage’
default.el:262:31: Warning: ‘define-package’ called with 1 argument, but
    requires 2 or more
default.el:262:31: Warning: ‘define-package’ is an obsolete function (as of
    29.1).
default.el:286:9: Warning: assignment to free variable
    ‘common-lisp-style-default’
default.el:305:19: Warning: reference to free variable ‘eglot-server-programs’
default.el:305:19: Warning: assignment to free variable
    ‘eglot-server-programs’
default.el:313:7: Warning: assignment to free variable ‘rust-rustfmt-switches’
default.el:314:7: Warning: assignment to free variable ‘rust-indent-offset’
default.el:317:7: Warning: assignment to free variable ‘python-indent-offset’
default.el:321:7: Warning: assignment to free variable ‘js-indent-level’
default.el:324:7: Warning: assignment to free variable ‘sh-basic-offset’
default.el:331:12: Warning: in defcustom for ‘prog-comment-keywords’: missing
    :type keyword parameter
default.el:336:12: Warning: in defcustom for
    ‘prog-comment-timestamp-format-concise’: missing :type keyword parameter
default.el:342:12: Warning: in defcustom for
    ‘prog-comment-timestamp-format-verbose’: missing :type keyword parameter

In prog-comment-timestamp-keyword:
default.el:386:2: Warning: docstring has wrong usage of unescaped single
    quotes (use \=' or different quoting such as `...')
default.el:414:20: Warning: reference to free variable
    ‘comment-timestamp-format-verbose’
default.el:443:7: Warning: assignment to free variable ‘hexl-bits’

In buffer-to-register:
default.el:474:47: Warning: Unused lexical argument ‘delete’

In file-to-register:
default.el:481:45: Warning: Unused lexical argument ‘delete’

In file-query-to-register:
default.el:487:51: Warning: Unused lexical argument ‘delete’
default.el:529:12: Warning: in defcustom for ‘default-scratch-buffer-mode’:
    missing :type keyword parameter
default.el:625:7: Warning: assignment to free variable
    ‘eshell-highlight-prompt’
default.el:626:7: Warning: assignment to free variable
    ‘eshell-hist-ignoredups’
default.el:627:7: Warning: assignment to free variable
    ‘eshell-save-history-on-exit’
default.el:629:7: Warning: assignment to free variable
    ‘eshell-destroy-buffer-when-process-dies’

In eshell-quit-or-delete-char:
default.el:645:20: Warning: ‘looking-back’ called with 1 argument, but
    requires 2 or 3
default.el:645:33: Warning: reference to free variable ‘eshell-prompt-regexp’
default.el:650:6: Warning: ‘delete-forward-char’ is for interactive use only;
    use ‘delete-char’ instead.
default.el:654:29: Warning: reference to free variable ‘eshell-mode-map’

In eshell-next-prompt:
default.el:660:22: Warning: reference to free variable ‘eshell-prompt-regexp’
default.el:661:9: Warning: reference to free variable
    ‘eshell-highlight-prompt’

In eshell-insert-history:
default.el:677:48: Warning: reference to free variable ‘eshell-history-ring’
default.el:736:49: Warning: reference to free variable ‘eww-mode-map’
default.el:747:7: Warning: assignment to free variable
    ‘org-id-link-to-org-use-id’
default.el:749:7: Warning: assignment to free variable ‘org-capture-templates’
default.el:761:7: Warning: assignment to free variable
    ‘org-html-htmlize-output-type’
default.el:762:7: Warning: assignment to free variable
    ‘org-html-head-include-default-style’
default.el:764:7: Warning: assignment to free variable ‘org-ascii-text-width’
default.el:768:7: Warning: assignment to free variable
    ‘org-structure-template-alist’
default.el:805:7: Warning: assignment to free variable ‘org-archive-location’

In org-ask-location:
default.el:853:11: Warning: Unused lexical variable ‘org-refile-targets’
default.el:856:28: Warning: reference to free variable ‘org-refile-history’
default.el:860:18: Warning: reference to free variable
    ‘org-complex-heading-regexp-format’

In org-capture-fileref-snippet:
default.el:868:37: Warning: Unused lexical argument ‘f’
default.el:906:7: Warning: assignment to free variable ‘org-global-properties’

In org-adjust-tags-column-reset-tags:
default.el:936:39: Warning: Unused lexical argument ‘ignored’

In column-display-value-transformer:
default.el:942:55: Warning: Unused lexical argument ‘value’
default.el:954:7: Warning: assignment to free variable
    ‘org-columns-modify-value-for-display-function’

In org-remove-redundant-tags:
default.el:974:32: Warning: Unused lexical variable ‘tag’
default.el:984:69: Warning: ‘memql’ called with literal list that may never
    match (arg 1)

In org-agenda-reschedule-to-today:
default.el:995:35: Warning: Unused lexical argument ‘rest’
default.el:999:2: Warning: ‘defadvice’ is an obsolete macro (as of 30.1); use
    ‘advice-add’ or ‘define-advice’

In org-export-translate-to-lang:
default.el:1079:35: Warning: reference to free variable
    ‘org-export-dictionary’

In end of data:
default.el:979:42: Warning: the function ‘org-toggle-tag’ might not be defined
    at runtime.
default.el:971:8: Warning: the function ‘org-map-entries’ might not be defined
    at runtime.
default.el:961:4: Warning: the function ‘org-table-map-tables’ might not be
    defined at runtime.
default.el:949:9: Warning: the function ‘org-entry-end-position’ might not be
    defined at runtime.
default.el:946:8: Warning: the function ‘org-back-to-heading’ might not be
    defined at runtime.
default.el:937:20: Warning: the function ‘org-set-tags’ might not be defined
    at runtime.
default.el:918:10: Warning: the function ‘org-set-property’ might not be
    defined at runtime.
default.el:916:14: Warning: the function ‘org-entry-get-multivalued-property’
    might not be defined at runtime.
default.el:912:12: Warning: the function ‘org-entry-get’ might not be defined
    at runtime.
default.el:898:23: Warning: the function ‘which-function’ is not known to be
    defined.
default.el:858:6: Warning: the function ‘outline-next-heading’ might not be
    defined at runtime.
default.el:855:24: Warning: the function ‘org-refile-get-location’ might not
    be defined at runtime.
default.el:846:39: Warning: the function ‘org-todo’ might not be defined at
    runtime.
default.el:843:48: Warning: the function ‘org-read-date’ might not be defined
    at runtime.
default.el:843:23: Warning: the function ‘org-time-string-to-time’ might not
    be defined at runtime.
default.el:664:4: Warning: the function ‘eshell-skip-prompt’ is not known to
    be defined.
default.el:647:10: Warning: the function ‘eshell-life-is-too-much’ is not
    known to be defined.
default.el:641:6: Warning: the function ‘eshell-send-input’ is not known to be
    defined.
default.el:633:14: Warning: the function ‘eshell/alias’ is not known to be
    defined.
default.el:308:6: Warning: the function ‘eglot-x-setup’ is not known to be
    defined.
default.el:261:39: Warning: the function ‘as’ is not known to be defined.
default.el:261:31: Warning: the function ‘defpkg’ is not known to be defined.
default.el:260:30: Warning: the function ‘:indentation’ is not known to be
    defined.
default.el:259:30: Warning: the function ‘:inherit’ is not known to be
    defined.
default.el:258:4: Warning: the function ‘define-common-lisp-style’ is not
    known to be defined.
default.el:245:8: Warning: the function ‘slime-eval-async’ might not be
    defined at runtime.
default.el:243:14: Warning: the function ‘slime-sexp-at-point’ might not be
    defined at runtime.
default.el:241:13: Warning: the function ‘slime-read-from-minibuffer’ might
    not be defined at runtime.
default.el:233:10: Warning: the function ‘slime-repl’ is not known to be
    defined.
default.el:228:14: Warning: the function ‘slime-connected-p’ might not be
    defined at runtime.
Loading which-key (native compiled elisp)...done
All your packages are already installed
Waiting for git... [2 times]
Loading /home/ellis/.emacs.d/ellis.el (source)...
Local variables list is not properly terminated
Source file ‘/home/ellis/.emacs.d/lib/ulang.el’ newer than byte-compiled file; using older file
Initialized ULANG.
Repeat mode is enabled for 38 commands and 13 keymaps; see ‘describe-repeat-maps’
Loading /home/ellis/.emacs.d/ellis.el (source)...done
Starting Emacs daemon.

WIP graph   org

props ID: 27d6936b-3e2f-4d28-af11-85c8276389db
CREATED: <2025-01-18 Sat 20:48>
logbook
  • State "OUTLINE" from [2024-08-21 Wed 20:40]
  • State "WIP" from "OUTLINE" [2025-01-18 Sat 20:48]
  • edges
    • forward links
    • back links
  • drawers?
  • properties?
  • export features
  • configuration
  • updating
  • emacs caching
  • KV model

TODO default values for link commands

props ID: 9c3970e8-dccd-4d28-8960-6dba639ab4a9
CREATED: <2025-06-03 Tue 22:07>
logbook
  • State "TODO" from [2025-06-03 Tue 22:07]
  • Refiled on [2025-06-03 Tue 22:10]
  • ie C-c g w pre-populate with name of node, maybe thing-at-point with C-u

TODO org-graph edge relative links

props CREATED: <2025-05-02 Fri 13:45>
ID: 7684cce3-7690-4330-b9d8-3bed172d06ea
logbook
  • State "TODO" from "TODO" [2025-05-02 Fri 13:45]
  • Refiled on [2025-05-02 Fri 14:03]
  • Refiled on [2025-06-08 Sun 18:11]
  • index based? inherit from parent only for now
    • how to implement for complete tree?
    • custom_id for edges? like @ref bibtex

TBD org-timeline upgrades [0/3]   org

props CREATED: <2024-08-27 Tue 14:19>
ID: 1a283ac6-13cc-4316-b9fd-350d1766174a
logbook
  • Refiled on [2024-08-30 Fri 19:03]
  • State "TBD" from "TODO" [2025-06-08 Sun 18:07]

GitHub - deopurkar/org-timeline: Add graphical view of agenda to agenda buffer

  • now lives in lib/org-timeline.el
  • have some upgrades to make

TODO timeline selection update on pointer hover

props CREATED: <2024-08-27 Tue 14:22>
ID: 4b2f89c6-9bf0-46bf-91c5-44afd54860e8
logbook
  • State "TODO" from [2024-08-27 Tue 14:22]

The update behavior on mouse hover is quite nice - let's enable that for keyboard-based navigation too.

TODO org-agenda-follow impl

props CREATED: <2024-08-27 Tue 14:20>
ID: 1b23b7c0-7ad3-4906-8bcb-66cad8831484
logbook
  • State "TODO" from [2024-08-27 Tue 14:20]
  • toggled on with F, but doesn't follow timeline blocks
  • should follow block on hover or when cursor is inside a block
  • same applies for timeline selection

TODO align org-timeline properties with ulang   ulang

props CREATED: <2024-08-27 Tue 14:26>
ID: cb1272df-e155-417d-8fa9-380dac848915
logbook
  • State "TODO" from [2024-08-27 Tue 14:26]
  • there's some timeline-specific properties, let's integrate those with our standard properties
  • TIMELINE_FACE = COLOR?
  • TIMELINE_TEXT = SUMMARY
  • TIMELINE_GROUP = GROUP or CATEGORY
  • TIMELINE_DO_NOT_OVERLAP

TODO skel.el project integration   skel

props CREATED: <2024-09-03 Tue 22:14>
ID: c9e157da-50e9-4dc3-96fd-bb9bc9175ee5
logbook
  • State "TODO" from [2024-09-03 Tue 22:14]

TODO allout-mode support

props ID: a4f2ff53-87cb-4d7e-95e9-9dab485fedc2
CREATED: <2025-10-31 Fri 00:52>
logbook
  • State "TODO" from [2025-10-31 Fri 00:52]

should extensively support throughout our code

TODO skel widgets   skel

props ID: a80df9ee-e772-499b-b996-78962bd13cd4
CREATED: <2025-10-12 Sun 00:33>
logbook
  • State "TODO" from [2025-10-12 Sun 00:33]
  • ideally have a function that overlays a skelfile/sxp buffer with a customization interface
  • need to maintain mapping between buffer forms and widgets

TODO desktop save functions

props ID: 6fcda66a-3a65-4e82-91b5-cf996efff1b2
CREATED: <2025-10-30 Thu 23:47>
logbook
  • State "TODO" from [2025-10-30 Thu 23:47]
  • need to set the desktop-save-buffer value for the following buffers:
  • slime,ielm,eshell,org-agenda,notmuch,elfeed

TODO skel.el hack-dir-local-variables   emacs

props ID: e488041c-045b-47b3-92bb-5f7c4d65b712
logbook
  • Refiled on [2025-02-16 Sun 19:23]

emacs#Directory Variables

WIP skel.el indentation rules

props ID: 9b2d1c95-e724-47b8-a78c-a81805194731
CREATED: <2025-02-26 Wed 21:31>
LOCATION: emacs/lib/skel.el
logbook
  • Refiled on [2025-02-16 Sun 19:23]
  • State "WIP" from "TODO" [2025-03-12 Wed 17:11]

Lisp Indent (GNU Emacs Manual) Brain dump – Custom Common Lisp indentation in Emacs

TODO project-tasks timestamp -> date when no h/m info

props ID: ef8f7f82-9a0e-490a-aad3-e96185ad89ef
logbook
  • Refiled on [2025-02-16 Sun 19:23]

TODO defpkg-format   lisp

props ID: 7dda38e6-df14-4b9e-bb00-8b101f66a73b
CREATED: <2025-06-06 Fri 21:37>
logbook
  • State "TODO" from [2025-06-06 Fri 21:37]
  • inside body of a form, check it is a defpackage-like form then apply formatting
  • keywordicate symbols
  • indentation
  • make a tbd task for refactoring imports/sorting

DONE slime-goto-pkg-source-definition   slime

props ID: 0e118bb9-3104-419b-b6d6-ddcced19f494
CREATED: <2025-09-17 Wed 17:26>
logbook
  • State "TODO" from [2025-09-17 Wed 17:26]
  • State "DONE" from "TODO" [2025-09-17 Wed 17:35]
  • Note taken on [2025-09-17 Wed 17:35]
    instead we can just modify slime-defpackage-regexp :)

DONE project-info better vc info

props ID: 2fe42dc8-002d-4daf-b183-82811b4da1be
CREATED: <2025-06-08 Sun 13:20>
logbook
  • State "TODO" from [2025-06-08 Sun 13:20]
  • State "DONE" from "TODO" [2025-06-08 Sun 15:30]
  • at least have option of disabling - it isn't always correct about the location

TODO speedbar-obj-alist for cl

props ID: 351e0b8a-3608-4f35-9201-9921cdf8968b
logbook
  • Refiled on [2025-10-11 Sat 21:39]

(fasls)

TODO new graph property: pronunciation

props ID: 5cd73df3-1409-4bb3-95c2-695514f16b44
logbook
  • Refiled on [2025-10-11 Sat 21:40]

PROJECT skel [3/11]   skel

props ID: 53982b3c-4860-469b-abb5-b279ee669cbd
VERSION: 0.2
logbook
  • State "TODO" from [2023-12-16 Sat 00:55]
  • State "PROJECT" from "TODO" [2024-08-18 Sun 16:19]

TODO rule source

props ID: 5fd2c3b4-19bf-42b0-8cb5-fd23dc206756
CREATED: <2025-06-10 Tue 13:36>
logbook
  • State "TODO" from [2025-06-10 Tue 13:36]
  • TODO ensure-rule-source
    props ID: 2cc2520e-870c-4dbe-be64-2e177d44d929
    CREATED: <2025-06-06 Fri 17:53>
    logbook
    • State "TODO" from [2025-06-06 Fri 17:53]
    • check the hash of sources against a cache, skip if found
    • need a way of managing cache invalidation - timeouts and manual purges

TODO implement task-pool   thread

props ID: 5e0c7baf-9b18-441a-a46c-2274f478d4a5
logbook
  • State "TODO" from [2024-08-11 Sun 00:10]
  • thread-pool

NOPE implement vm

props ID: 15d506e3-b46a-4064-9054-0fe6c01205fb
CREATED: <2024-08-18 Sun 22:03>
Effort: 8:00
logbook
  • State "TODO" from [2024-08-11 Sun 00:11]
  • New deadline from "[2024-08-18 Sun]" on [2024-08-18 Sun 22:03]

CLOCK: [2024-08-28 Wed 18:52]--[2024-08-28 Wed 21:33] (2:41)

  • State "WIP" from "TODO" [2024-08-28 Wed 21:43]
  • New deadline from "[2024-08-25 Sun]" on [2024-08-28 Wed 21:43]
  • Note taken on [2024-08-30 Fri 21:27]
    not liking our current impl.. rewrite and document
  • State "NEXT" from "WIP" [2024-08-31 Sat 12:39]
  • New deadline from "[2024-09-01 Sun]" on [2024-09-01 Sun 21:40]
  • State "HOLD" from "NEXT" [2025-01-18 Sat 20:06]
    Too early for this
  • State "WIP" from "HOLD" [2025-02-26 Wed 18:55]
  • Note taken on [2025-02-26 Wed 18:57]
    Skel needs a strong multi-threaded runtime in order to do its job efficiently on most devices. Our async APIs are still very young which presents a blocker to this line of work, but there is additional work which needs to be done in skel/core which we can make progress on in preparation.
  • New deadline from "[2024-09-02 Mon]" on [2025-02-26 Wed 19:14]
  • State "WAIT" from "WIP" [2025-05-11 Sun 01:00]
    waiting on completion of std/task and friends
  • State "TODO" from "WAIT" [2025-07-28 Mon 22:15]
  • core/vm.lisp
  • how will rules, commands, and components interact?
    • what sort of configuration is needed and where?
  • requires load, building of logical plan, execution of physical plan (in async runtime) with results (+cache)
  • analysis pre/post-load, pre/post execution
  • execution strategies?
  • main thread should show progress in parallel
    • capture conditions/debugger
    • figure out how to retrieve stacktrace from worker threads

TODO handle missing method errors or define default method when none defined   skel bin cli

props ID: 4289c4ef-a766-472e-a2cb-afddb9d080e0
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:53]
  • Note taken on [2025-05-16 Fri 22:46]
    likely need to refactor our sk-VERB mess

TODO skel tasks/runner/timer

props ID: bb53321b-fab0-4b6f-9677-3fe789ed44d3
CREATED: <2025-01-17 Fri 15:54>
logbook
  • Refiled on [2025-05-02 Fri 13:55]
  • will be first feature of skel server

DONE skel rule compilation environment

props ID: eb00ee5b-8ae8-4d38-8b89-b83cd20e1e2a
CREATED: <2025-06-09 Mon 23:19>
logbook
  • State "TODO" from [2025-06-09 Mon 23:19]
  • State "FIXME" from [2025-06-09 Mon 23:19]
  • State "DONE" from "FIXME" [2025-06-10 Tue 13:36]

OUTLINE skel template objects

props CREATED: <2025-05-02 Fri 13:45>
ID: 25984cac-4667-44bb-86e0-bc4e57740eeb
logbook
  • State "TODO" from "TODO" [2025-05-02 Fri 13:45]
  • Refiled on [2025-05-02 Fri 13:59]
  • State "OUTLINE" from "TODO" [2025-05-16 Fri 22:53]

NEXT homer [1/1]   lisp homer

props ID: ef204ce0-7a99-45a6-942e-6d8f549f94f9
VERSION: 0.1
CREATED: <2025-01-18 Sat 20:49>
logbook
  • State "TBD" from "TODO" [2023-12-12 Tue 19:53]
  • State "WIP" from "TBD" [2025-01-18 Sat 20:49]
  • State "WAIT" from "WIP" [2025-05-21 Wed 21:35]
    waiting on thread pools
  • State "NEXT" from "WAIT" [2025-08-30 Sat 18:34]

TODO project desktop config

props CREATED: <2025-10-30 Thu 22:51>
ID: c4ead324-31bc-46a9-af3c-d5bde43ac5e2
logbook
  • State "TODO" from [2025-10-30 Thu 22:51]

PROJECT krypt

props ID: 0508b176-bee9-4c35-8081-18df55ea27c6
CREATED: <2025-06-15 Sun 21:46>
logbook
  • State "PROJECT" from [2025-06-15 Sun 21:46]

DONE infra :lisp module

props CREATED: <2025-09-07 Sun 21:11>
ID: 51b5db8e-7d6a-4f7f-b8e9-ba683d834715
logbook
  • State "FIXME" from "TODO" [2025-09-07 Sun 21:11]
  • Refiled on [2025-09-07 Sun 21:13]
  • State "DONE" from "FIXME" [2025-09-08 Mon 18:48]
  • we broke sk-file-component, need to repair

WIP mpk [0/2]

props CREATED: <2025-05-02 Fri 14:06>
ID: e8566657-1ca8-49fa-8262-7338eac5bf8f
LOCATION+: mpk/
logbook
  • State "WIP" from [2025-05-02 Fri 14:06]

TODO setup API for tmdb and tvdb

props CREATED: <2025-05-02 Fri 13:45>
ID: 4700c8a9-d19e-4122-b4dc-6aef22b5f4a4
logbook
  • State "TODO" from "TODO" [2025-05-02 Fri 13:45]
  • Refiled on [2025-05-02 Fri 14:08]

WAIT clean

props CREATED: <2025-05-21 Wed 21:35>
ID: f68be8ca-0518-4c72-b136-bd9a14f38e18
LOCATION+: clean.lisp
logbook
  • State "WAIT" from [2025-05-21 Wed 21:35]
    waiting on thread pools

TODO media logging

props ID: 731eb21c-d7c1-4dbe-9f11-e364a25426f0
logbook
  • Refiled on [2025-09-06 Sat 17:47]