Progress

So, I've been working on this since sometime before July 7th, 2023. I know this only because my Git log says so.

Honestly, I don't know how much time I'll have to keep this updated, and I'd definitely rather spend my spare time on actually working on the language for now. So, here's my Git log. It'll update automatically, as I work on this thing.

commit bd86023682072ad3810813d3f8475900d4c149d0
Author: Monadic Cat <[email protected]>
Date:   Sat May 16 05:32:52 2026 +0000

    document library usage API stability (none for now)

commit 2f3b5768cf75a34f6472aec4873752d7cf40efa8
Author: Monadic Cat <[email protected]>
Date:   Sat May 16 05:24:10 2026 +0000

    rename sys.h items to be inside the april namespace

commit 26ebbcb0e4525da52e762125d4407d3d7bc72b2c
Author: Monadic Cat <[email protected]>
Date:   Wed May 6 22:41:45 2026 +0000

    flesh out type repr and image db

commit 83dc21381537d09a4360e7da4e6ff25c357ee46a
Author: Monadic Cat <[email protected]>
Date:   Wed May 6 22:26:49 2026 +0000

    gitignore March boot image db

commit f3b3865768073bb21916206ea9dd66a878191912
Author: Monadic Cat <[email protected]>
Date:   Wed May 6 13:53:42 2026 +0000

    spent a couple nights sketching out a new language
    
    This language, March, is meant to be easier for me to
    get running in a short amount of time, although part of it
    is just giving myself a clean slate so I don't have to
    spend my currently quite limited free time just reviewing
    where we were at before I can write new code.
    
    It is something of a prequel language to April (hence the name),
    and will make use of the existing code to some extent.
    I haven't decided whether to alter April's bootstrap process
    based on this development (yet), but this will help me flesh
    out some ideas I've had for April for a while.

commit 3205f0391bba59e5c4084d96179d283579b5259b
Author: Monadic Cat <[email protected]>
Date:   Tue May 5 15:16:21 2026 +0000

    update rustc codegen backend

commit afa7bc6f4d28225683ceb461d2cde2aba782047d
Author: Monadic Cat <[email protected]>
Date:   Sun Apr 12 23:27:08 2026 +0000

    fix tests; break apart rust workspace

commit 18f3fb0d81dcf58117c5627300a2bdfdfc6492a3
Author: Monadic Cat <[email protected]>
Date:   Sun Apr 12 23:20:15 2026 +0000

    impl FromIterator for Buffer<T> and TreeMap<K, V>

commit 3d264d4b84b3cf8a22f3ee67b9e0534894be0740
Author: Monadic Cat <[email protected]>
Date:   Sun Apr 12 23:12:56 2026 +0000

    fix alloc_dangling()

commit f6e8d4f008e87b5c4b8837af154f678f1876f18e
Author: Monadic Cat <[email protected]>
Date:   Sun Apr 12 14:33:33 2026 +0000

    give dangling pointee a more noticeable value

commit 3938860ed2de9d9298a2d2e8da5e7a910dde6d62
Author: Monadic Cat <[email protected]>
Date:   Sun Apr 12 14:31:17 2026 +0000

    rename dangling pointee to make it easier to see when debugging

commit 5b4cf8c2deef52ef2f17577d96713e9e559ef7a5
Author: Monadic Cat <[email protected]>
Date:   Sun Apr 12 14:30:23 2026 +0000

    fix Drop handling in into_inner() methods in rust bindings

commit c84ae3aad00ae50bda34d23543175104e3587a97
Author: Monadic Cat <[email protected]>
Date:   Sat Apr 11 17:48:13 2026 +0000

    impl chumsky container integration; safe TreeMap custom allocation

commit 6908d442697cdbdd4db2f2edd311724cd14dcf28
Author: Monadic Cat <[email protected]>
Date:   Sat Mar 7 04:57:27 2026 +0000

    Allocator binding should be sound now
    
    Previously, we had a note in our Rust `Allocator`
    wrapper saying that it was only sound with allocators
    with static storage duration.
    This was due to the Rust collection bindings not yet
    providing correct signatures for enforcing allocator
    lifetimes on collections allocated using those allocators.

commit 004039d9d052207d27f7f23e390df9a5ca87e7f1
Author: Monadic Cat <[email protected]>
Date:   Sat Feb 7 17:24:12 2026 +0000

    remove finished TODO

commit b74e15b864b9163b082140d6de50c87cd119d92a
Author: Monadic Cat <[email protected]>
Date:   Sat Feb 7 16:39:18 2026 +0000

    fix `One(T)::new{,_uninit}()`, which forgot to write to out ptr

commit 45273931d99c18d0d6be236c4a7d366c10cc3a48
Author: Monadic Cat <[email protected]>
Date:   Sat Feb 7 16:24:01 2026 +0000

    properly allow a semicolon after `april_one_impl()`

commit 77edcca310c9817c26ccfcbbd82d04e0df7e1fc0
Author: Monadic Cat <[email protected]>
Date:   Sat Feb 7 15:12:53 2026 +0000

    reverse `Buffer(T)` destruction order
    
    We don't really support fallible destructors (yet),
    but this is a small step in that direction.
    Destroying elements in reverse order, and doing length tracking
    during the process, means that, if a destructor does manage
    to exit the `Buffer(T)` destructor loop without exiting the program,
    the owner of the buffer can figure out what elements haven't
    been destroyed yet, and do things with them.
    
    We choose to decrement the length *before* running an element's
    destructor, in order to avoid giving normal access to the element
    whose destructor was interrupted, if that happens.
    You can still reach it using `get_ptr_uninit()`, which is
    appropriate because the element may very well have become
    partially, or fully, uninitialized, during the execution of the
    interrupted destructor.
    Correct access to such a half-destroyed element requires specific
    knowledge of how the element works.

commit 250e56c52173b3c9fa1ea4d7b84359b162ed68d9
Author: Monadic Cat <[email protected]>
Date:   Fri Jan 16 19:47:08 2026 +0000

    cargo fmt

commit 47a3c3feb49ceb5d0c3cfef09d8a18968d5b92ab
Author: Monadic Cat <[email protected]>
Date:   Fri Jan 16 19:19:39 2026 +0000

    flesh out One<T> bindings; clean up conditionally unused code

commit 89506c7b00084e73f630db4052414c831d3e53a5
Author: Monadic Cat <[email protected]>
Date:   Fri Jan 16 16:31:06 2026 +0000

    cargo fmt

commit 72ad6502eb346b8bfe5f043e4b6028b3df8d20f3
Author: Monadic Cat <[email protected]>
Date:   Fri Jan 16 16:29:49 2026 +0000

    make a safer binding for allocators
    
    add a lifetime parameter to Buffer<T> and adapt it
    to the new allocator abstraction

commit 52ca2430e39df7906accf4d00615ec0a990edb24
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 15 04:56:48 2026 +0000

    implement a basic owning pointer data structure

commit c61840585a21d1da1a49689d01031b34a98b861c
Author: Monadic Cat <[email protected]>
Date:   Tue Jan 13 18:43:55 2026 -0600

    switch from pnpm to plain npm, resume website updates

commit 98a625ba8ee590e4a2691c69ad40a78f45dd8a62
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 17 15:35:12 2025 +0000

    Introduce a new test harness.
    
    So, I was having trouble experimentally running some
    tests on a new platform (Windows), because the testing
    machinery was doing too much outside of C.
    In particular, the generating of a new C file by a Python script
    is not a nice thing to do by hand, and I didn't want
    to deal with getting all of its dependencies set up in my
    Windows environment.
    Now, it's super easy to run the test suite
    without going through the Python script.
    Just build `tests/new_harness.c` against `src/libapril.c`,
    and set `APRIL_LIB_CONTROL_ENTRYPOINT`.

commit c20dd2dd7915581f671ae643b06da80875918c5a
Author: Monadic Cat <[email protected]>
Date:   Sun Nov 16 02:49:42 2025 +0000

    fixup tests; driver_sys header inclusion in sys impls

commit 2f3389c2de72f3ecfdd76b2eafbd524f70a95f53
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 14 16:05:47 2025 +0000

    fmt

commit 42bc36f74505ecabea7e9d72f70563929a573d61
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 14 15:37:15 2025 +0000

    notes on building with MSVC

commit 2135cc774521aa1741d809dda56aed33db0655b9
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 10 19:57:48 2025 +0000

    refactor bindings generation to correctly support wasm32

commit e9e3c5c6e52977f6a9edb701a93469b12e840090
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 10 17:34:15 2025 +0000

    Make april crate choose sys implementation based on target

commit 154a3ede0154fe79b021bfa95ddc8a8e450ca1dd
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 10 05:42:32 2025 +0000

    Support using APRIL_LIB_CONTROL_ENTRYPOINT from Rust.

commit 606fa917b105a494ae8530f7f1346fa4ccf72908
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 10 05:31:53 2025 +0000

    rename the program entry point `rt_main()` -> `april_rt_main()`

commit 20c15eef8d0c0e86b358807cc89a0f8262bae19f
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 10 05:25:41 2025 +0000

    Replace APRIL_COMPILER_LIB with two more appropriate options.
    
    1. APRIL_LIB_CONTROL_ENTRYPOINT,
       an option which makes the April compiler library take
       control of the program entrypoint. When this is enabled,
       the library user must write their own code as if the program
       entrypoint is `rt_main()`, instead of `main()` or whatever
       other platform specific entrypoint.
    2. APRIL_LIB__DRIVER_SYS,
       an internal option which indicates to the sys implementation
       whether to include library facilities currently only supplied
       to the main driver executable.

commit 93a952b92de6962b5ff61dae60a4acb7dc9b524e
Author: Monadic Cat <[email protected]>
Date:   Mon Nov 10 05:02:11 2025 +0000

    Move away from using main.c at all.
    
    This is one fewer place that relies on
    the APRIL_COMPILER_LIB switch, which is good,
    because it does too much, and some things which
    could be in the library are currently not, due to
    us not having good enough configuration options.

commit 7f573313581298451d0b6292df5f38274a73ed90
Author: Monadic Cat <[email protected]>
Date:   Tue Sep 30 09:26:11 2025 -0500

    fix buf! macro

commit bc24af418bc280510faacaecc5640b0822b748a7
Author: Monadic Cat <[email protected]>
Date:   Mon Aug 25 20:51:42 2025 -0500

    make no-alloc bindings compile

commit 5d77951165ef47297beeef1365f32806e9474a6a
Author: Monadic Cat <[email protected]>
Date:   Mon Aug 25 20:36:46 2025 -0500

    make Rust libapril bindings no_std

commit 428e344456df4d0702199fcb17704d0fef3efa15
Author: Monadic Cat <[email protected]>
Date:   Mon Aug 25 20:20:15 2025 -0500

    add buf! macro

commit 82f5fbb1ecc5d92bca159c2320cf840c234bd2c8
Author: Monadic Cat <[email protected]>
Date:   Fri Aug 22 11:43:32 2025 -0500

    note on build flags

commit 62df27ff7b35925a304dfbe34eedc4817326a259
Author: Monadic Cat <[email protected]>
Date:   Fri Aug 22 11:38:51 2025 -0500

    suppress warnings when we're examining actual codegen output

commit 7293a4e2eb334d4fdf7d4c5d4bbb7f4fe778647d
Author: Monadic Cat <[email protected]>
Date:   Fri Aug 22 11:38:01 2025 -0500

    remove unused import; print more info

commit ac6b6d64ce1f9b06f4936390837779993024cd8e
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 19 08:57:19 2025 -0500

    remove extra rust-toolchain file

commit a0416132fcad0786281d679c36c6acb8f0280ff1
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 19 08:56:34 2025 -0500

    cargo fmt

commit 9133b08480babf614eee5649188d8faed8cadef0
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 19 08:55:59 2025 -0500

    update Rust nightly

commit 2997f7add16eeb00c9d07e9b8302f41485ed1dac
Author: Monadic Cat <[email protected]>
Date:   Mon Aug 18 15:44:44 2025 -0500

    Rust ir1 bindings; Buffer<T> as {Clone, Debug}

commit da3fad3ff628b2a121bf418f5c7ba8a771285e95
Author: Monadic Cat <[email protected]>
Date:   Mon Aug 18 15:19:07 2025 -0500

    -fwhole-program gets us from 32K to 28K

commit 639b0fa30d14a7750a35c08bc421edc72e4cd754
Author: Monadic Cat <[email protected]>
Date:   Tue Jul 8 07:37:53 2025 -0500

    add terms to the website that *I* believe are the default legal position
    
    I believe these terms of use for the website don't change the situation
    from before, because nobody is supposed to have permission to use my
    stuff at all without my saying they do, but I don't want to leave any
    excuses on the table for someone doing something without my permission.

commit ef887551210df67d0d8b4d50dabfbb0812778780
Author: Monadic Cat <[email protected]>
Date:   Mon Jun 30 08:14:50 2025 -0500

    misc work; unify main and test includes; cleanup

commit 40b880ad22a5a057fb414f6d935ee0d38bc4593e
Author: Monadic Cat <[email protected]>
Date:   Sun Jun 15 18:53:23 2025 -0500

    fix no-docs cfg

commit 2e8283971beaf75f053ce1274a4031ffd623da52
Author: Monadic Cat <[email protected]>
Date:   Tue Jun 3 07:25:57 2025 -0500

    doc TermDoc

commit f88e98ef4acddca569e33883344d9cbf56860b03
Author: Monadic Cat <[email protected]>
Date:   Mon Jun 2 19:30:45 2025 -0500

    bind some IRX facilities in Rust

commit f672676ba5def96ef7a62645c0d945c4feda50e1
Author: Monadic Cat <[email protected]>
Date:   Mon Jun 2 19:30:11 2025 -0500

    bind more of libapril::TreeMap in Rust

commit b206b47a2b6d5d4115739a05a2c8c5ac3c44df09
Author: Monadic Cat <[email protected]>
Date:   Sun Jun 1 22:08:41 2025 -0500

    rt.c handles lib mode itself; implement sys_rt_exit in wasm32

commit dda7aa6f96dcecf85ad1a9611c2a3357e389eb49
Author: Monadic Cat <[email protected]>
Date:   Tue May 27 19:56:35 2025 -0500

    add CompilerBugTranslationError irx term; use it to detect missed initialization

commit d3c2a2901d4a9022d22ccc4aa944234ee6535bfb
Author: Monadic Cat <[email protected]>
Date:   Fri May 23 14:41:17 2025 -0500

    add irx term; handle out of context colons

commit 8c93080c7cd4af9820e45182e0c7c4b907662633
Author: Monadic Cat <[email protected]>
Date:   Fri May 23 14:40:06 2025 -0500

    clean up april_parse.{h, c}

commit 1a7e083167c3d5540c2ab7692d4793d4045e94dd
Author: Monadic Cat <[email protected]>
Date:   Fri May 23 14:10:38 2025 -0500

    make april.ts::compile() degrade gracefully with C crashes

commit aeb3a721f79db61ace32f2a4bfcdb851382f4c00
Author: Monadic Cat <[email protected]>
Date:   Fri May 23 09:45:52 2025 -0500

    handle freeing colon parse event

commit 23a0c050c309516615d1710fe6ba8bd20109001f
Author: Monadic Cat <[email protected]>
Date:   Fri May 23 09:43:08 2025 -0500

    rip out old non-streaming parser

commit af61eded9c832f6d16784ac8a108a6724825d56e
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 16:25:10 2025 -0500

    remove some flags for faster compiles in dev

commit b1e2f0cd43d228cb728358283802b440f08132a2
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 16:20:55 2025 -0500

    make inspector focus ir0, use mul instead of *

commit ff793ff4bea59947c6a73ac5952c64ed7fc37e64
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 15:42:08 2025 -0500

    wire up parser and IR0 lowering to web inspector

commit 17f5bf3fa2fe7db982b52b489b287078fdce34b3
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 15:02:05 2025 -0500

    remove unused TS function

commit fce383b2d2a2f26ca5e3be1e937be21abc42fd90
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 15:00:07 2025 -0500

    avoid building formatted string in WASM memory

commit c04f7d15db5e93b22a9e8df04053bf432a5e8dc3
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 06:28:46 2025 -0500

    clean up sys__last_crash_msg on clang_wasm32

commit 4e0d389093aa773ec96c1669194858ce5d9b588d
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 06:28:13 2025 -0500

    get closer to having a working inspector tool

commit 778495499e8d382c1cd9de622ed3463ace038fdb
Author: Monadic Cat <[email protected]>
Date:   Wed May 21 06:06:33 2025 -0500

    grow allocations in place when possible on clang_wasm32

commit eb6c50d6f3197c8d879ec7d10738c6f9e9e8afad
Author: Monadic Cat <[email protected]>
Date:   Mon May 19 22:11:50 2025 -0500

    fix getting slice from empty string

commit 3db26a61e3c1743bc04435be6839a8d1d1930923
Author: Monadic Cat <[email protected]>
Date:   Mon May 19 17:46:51 2025 -0500

    move TS StrSlice to sit next to Slice

commit b71a3e33ed9604786a2d0860d44fc4b86d3ee7fa
Author: Monadic Cat <[email protected]>
Date:   Sun May 18 09:01:50 2025 -0500

    work on playground

commit fbbe3c253661b57b98974b00f12fac651fe2d4a5
Author: Monadic Cat <[email protected]>
Date:   Sun May 18 08:50:17 2025 -0500

    work on better type safety in the TS bindings

commit b6e3340c6ed1e590c6cbfc9875e911426e6ac5e4
Author: Monadic Cat <[email protected]>
Date:   Fri May 16 13:15:48 2025 -0500

    exclude extra generated doc info when no_irx_docs mode is active

commit 3273fb8ef1ba24541cb709a6808b8cecbb7460bf
Author: Monadic Cat <[email protected]>
Date:   Fri May 16 13:05:45 2025 -0500

    finish TODO

commit 6d887c0cfea954387c6729c6f8b1f73154086f9e
Author: Monadic Cat <[email protected]>
Date:   Fri May 16 12:58:22 2025 -0500

    show whether each term is in ir0 or ir1

commit 65471c73b2afca17ecd1b2e51dbdd765d61d0a52
Author: Monadic Cat <[email protected]>
Date:   Fri May 16 10:58:39 2025 -0500

    fix some more irx rule formatting

commit 02dd02a00c8e9699444833c4164dac89e4ce86ec
Author: Monadic Cat <[email protected]>
Date:   Fri May 16 09:36:37 2025 -0500

    adjust formatting a few typing rules

commit ea5a508ea95450fbadae4a7a9a53cd5133a9a968
Author: Monadic Cat <[email protected]>
Date:   Fri May 16 09:25:27 2025 -0500

    introduce enough TS type assertions to deal with dynamic component import

commit 0bccd3065e62436e60ef4c184c9d39e0610f4a3f
Author: Monadic Cat <[email protected]>
Date:   Thu May 15 21:57:44 2025 -0500

    hide inspector in non-dev env for now

commit 7f2f7cfd56033d358101acbf8a67bc6ec8c43d14
Author: Monadic Cat <[email protected]>
Date:   Thu May 15 21:55:55 2025 -0500

    fix site SSR

commit a34757d3e98f1a3cc9e63eec1c1c2107b1e6ae43
Author: Monadic Cat <[email protected]>
Date:   Thu May 15 21:24:35 2025 -0500

    include WIP rules field in IR docs; register type descriptor type

commit ecd317e09d520409132db97ddafea9236f3aadcb
Author: Monadic Cat <[email protected]>
Date:   Thu May 15 21:19:23 2025 -0500

    JS bindings to libapril for the site

commit 57cc123c778cc345541e976515f14b4abcdd058a
Author: Monadic Cat <[email protected]>
Date:   Thu Apr 10 21:14:07 2025 -0500

    clarify sys_lib_cleanup() wording

commit 96c92ecb38258fc8b7477a72da650b61f7f85c15
Author: Monadic Cat <[email protected]>
Date:   Thu Apr 10 19:59:58 2025 -0500

    decide that sys_lib_cleanup() should indeed do cleanup

commit 9238c2cc29bc0bca2f4ea13405af3ad580fd1f55
Author: Monadic Cat <[email protected]>
Date:   Thu Apr 10 19:39:01 2025 -0500

    do sys_lib_cleanup() in wasm32

commit 4f66ec1ef1f34148b87a2c9df386fd5c7e167f7e
Author: Monadic Cat <[email protected]>
Date:   Thu Apr 10 19:05:59 2025 -0500

    fix things up and implement wasm32 support

commit 13e7566b4d93dd81a0989061f32db0bf3638aad3
Author: Monadic Cat <[email protected]>
Date:   Fri Apr 4 10:25:53 2025 -0500

    bring the macro UTF-8 table up to speed as well

commit 69458a697f254531099bd66878390e3b0bd6d48d
Author: Monadic Cat <[email protected]>
Date:   Fri Apr 4 10:09:11 2025 -0500

    improve C string literal to UTF-8 mapping; align with C standards

commit de5200cf698cc7821691f6174bc7716589153227
Author: Monadic Cat <[email protected]>
Date:   Thu Apr 3 19:42:50 2025 -0500

    fmt

commit d47fb49af104da3b10b3979e3fba2c5b3f7fce47
Author: Monadic Cat <[email protected]>
Date:   Thu Apr 3 19:42:02 2025 -0500

    work on IR term specification

commit 7f4ebd12682946b993f38e81b41abae417ccffdf
Author: Monadic Cat <[email protected]>
Date:   Tue Mar 25 23:57:29 2025 -0500

    add colon tokens; support dashes in idents

commit bc474ea628fd543f1b97fd6d7bc5f55879ee7670
Author: Monadic Cat <[email protected]>
Date:   Tue Mar 25 21:58:58 2025 -0500

    rename text conversion func

commit e474035f7baa63b3d03623edfecf10178d345113
Author: Monadic Cat <[email protected]>
Date:   Tue Mar 25 21:56:13 2025 -0500

    delete duplicate text conversion function; add colons and semicolons

commit 5cfa68e0deeb8aa4e03d38f3bfd4b6553f2fcf93
Author: Monadic Cat <[email protected]>
Date:   Tue Mar 25 20:32:16 2025 -0500

    first step toward structured typing rules

commit c7a08d6af78fb245d781241be19d56cd56510077
Author: Monadic Cat <[email protected]>
Date:   Tue Mar 25 20:10:41 2025 -0500

    fmt april_irx.h

commit 82c21cb1ddbfe2fbbb0b65f0dfc48d420e70fa52
Author: Monadic Cat <[email protected]>
Date:   Sat Mar 22 18:14:57 2025 -0500

    delete now unused Makefile

commit 994ad51b1c4a4f4479cd4fae6683f9702fa87986
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 17:48:42 2025 +0100

    bind Buffer::clear()

commit 35d803a62300eee5d635dc2451e959f788a9ce07
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 17:42:28 2025 +0100

    bind a few more buffer methods

commit b1d718a3e8b7a8624da2bdf035b3f7d66cc4193f
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 17:24:40 2025 +0100

    forgot to write Safety for a safety comment

commit 869433d7f157466ae571ef47ed057ad2accfe4af
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 17:12:20 2025 +0100

    cargo fmt

commit 63bf5d02a667abfcd3b525df80372c4095eee53b
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 17:02:00 2025 +0100

    fill out bindings a bit more; document purpose

commit 024552fec7c521f0717153fa5e20205da35a5105
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 15:59:20 2025 +0100

    make Buffer::push() return pushed value on failure

commit 60d2a15a18d4552dc2656d931eefe8528d3009b3
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 15:30:17 2025 +0100

    fill out Buffer<T> binding a little more

commit 3cd4f9c77eef4be86f4cedb6d4dbb98298fde5e2
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 14:34:31 2025 +0100

    adjust generated bindings: no need to prepend enum names

commit 9cb6d67a5f5af7eeabcc5d21dc392840805193b0
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 04:37:46 2025 +0100

    transition ir0 to use irx

commit 322228f3268e6b7dcefe12e36e6cd92d4f20b233
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 04:29:29 2025 +0100

    document IRX::MakePointer

commit 8993d66317608c3513c3019f4e1bb244e033cb3e
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 04:23:58 2025 +0100

    fill out docs in IRX

commit 9bd484cba2c41e15029e8a13405207e06c1700e5
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 02:10:48 2025 +0100

    commit old work on blog

commit c02d854906aff20658bea9e2f0cff955ed100357
Author: Monadic Cat <[email protected]>
Date:   Tue Feb 25 02:09:56 2025 +0100

    commit I forget what

commit 4b96f8f7c454ab5ede4102a14594be29919c4fa4
Author: Monadic Cat <[email protected]>
Date:   Fri Jan 24 11:37:38 2025 -0600

    rustify IR1 term kind enum in generated bindings

commit cbe648ff80488056b73f0b16f911fb64f41f8ad3
Author: Monadic Cat <[email protected]>
Date:   Fri Jan 24 11:33:13 2025 -0600

    fix ir1 header; include in libapril.h

commit 793bbe55971d7e15f2f717ff8d113af85089810e
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 23 23:42:15 2025 -0600

    commit driver stuff that's been sitting a while

commit 893e495f1c2b6ee334ed0a5ce256b6eaf51aa007
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 23 23:29:09 2025 -0600

    write rule for shared IRX terms

commit 64d94eb80895dcb01dba6ef8d12c42a165ba04a7
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 23 23:05:25 2025 -0600

    work on specifying ir1

commit 32c3aa0f299a379f457861733b739d00a61ff3dc
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 23 21:54:16 2025 -0600

    move IR1 terms to IRX

commit 317d7428904e6f88a2b6db664166970eaf8c5cd6
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 23 21:32:36 2025 -0600

    document build flag for excluding docs

commit eb9cc4b26099ff4ab347702aa2d79b96fc08c742
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 23 21:28:17 2025 -0600

    add flag for excluding doc strings

commit 227ec865d0a439126eac23db58b52881051bbabf
Author: Monadic Cat <[email protected]>
Date:   Mon Jan 20 09:56:02 2025 -0600

    list april_irx in main files

commit b071a3944b94efd1da51606734da356622a53e8e
Author: Monadic Cat <[email protected]>
Date:   Mon Jan 20 09:53:17 2025 -0600

    add basic docs extractor

commit e60e4dfe503d8ea1214d4364144e531f90f29900
Author: Monadic Cat <[email protected]>
Date:   Mon Jan 20 09:45:05 2025 -0600

    add ANY ir term list

commit 5a7b4adb950a0c6bf7910d2a8071862ffa74afe6
Author: Monadic Cat <[email protected]>
Date:   Mon Jan 20 09:01:18 2025 -0600

    future proof a demo macro invocation

commit fb0dfc1423d53dd7d60baab0df130d0f1d2735b3
Author: Monadic Cat <[email protected]>
Date:   Mon Jan 20 08:52:39 2025 -0600

    work on shared IR definitions

commit 411be2ba797c3b9af447b6ab3bf2d44e444c3f80
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 9 20:33:49 2025 -0600

    delete unneeded Cargo.lock

commit 3bedbc4e69a7175397e9670e94cdbb8f90328e24
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 9 20:24:20 2025 -0600

    change bindings gen defaults to obviate rust-analyzer feature

commit e243bd176639c1acc68f54ea4b5cf2c90ded7a2d
Author: Monadic Cat <[email protected]>
Date:   Tue Dec 17 00:19:22 2024 -0600

    document a bit more

commit 0aa5bcd6661c390925e09c437a56c165290638cb
Author: Monadic Cat <[email protected]>
Date:   Tue Dec 17 00:11:40 2024 -0600

    extend Rust bindings

commit f37a2216281db68568a9fa9799f8a49c4263a4fd
Author: Monadic Cat <[email protected]>
Date:   Mon Dec 16 22:44:48 2024 -0600

    mark more things repr(transparent)

commit f6579ee1a0ae5d911ed1251d5bf6b7b510814152
Author: Monadic Cat <[email protected]>
Date:   Mon Dec 16 21:50:48 2024 -0600

    split Rust modules out into separate files

commit b13ba7e84d5b0e9a5a0028d36baf68450fc02f84
Author: Monadic Cat <[email protected]>
Date:   Mon Dec 2 08:13:04 2024 -0600

    make Rust ir0::Term's Debug impl call into April

commit 8bcf20e52cfe89e4c2fa92e58c9579eea5edb0a3
Author: Monadic Cat <[email protected]>
Date:   Sun Dec 1 23:35:58 2024 -0600

    update rust nightly; start using Rust 2024 edition

commit 50c3e482983530b63c888df81b729dee630681bb
Author: Monadic Cat <[email protected]>
Date:   Sat Nov 30 23:00:04 2024 -0600

    start drafting a blog post ;)

commit 8c9353f3a4b8699423acecf5f8fbaf62c14922f3
Author: Monadic Cat <[email protected]>
Date:   Sat Nov 30 21:38:06 2024 -0600

    add a couple new pages to the website

commit 3a34184d884604373b6f333b1735b8e460c909bc
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 09:10:11 2024 -0600

    add note to Rust bindings

commit a1c0f701993a714d85080834a5a100bed813b9d8
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:46:28 2024 -0600

    preliminary outline for rustc_codegen_april

commit b08a849cdb41f7edf06c66f9bd52db23396e690f
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:45:40 2024 -0600

    make basic Rust bindings for libapril

commit 8c2b0d2efd33b35a8f4266593e0c30cc58977dcc
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:44:29 2024 -0600

    draft library user header

commit 63a6b761f98dbc57babcbc6ae0101b49afeda6a9
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:41:34 2024 -0600

    add ring buffer to main.c

commit 72a0e72d04c6e792fac97f43d5f51eae4fad8ec5
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:40:24 2024 -0600

    improve portability of integer constants

commit 27bc11d2ddc688837af9c4e6c698f9404e274fb7
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:40:06 2024 -0600

    commit work on things that's sat for a while

commit bd79efe06eaa80b6a4a4f5ecadc8d218bee18ce4
Author: Monadic Cat <[email protected]>
Date:   Fri Nov 29 08:38:34 2024 -0600

    include integer types header from test_sys

commit 8aa092c7848734ec95d67a2b3be3c943213037be
Author: Monadic Cat <[email protected]>
Date:   Wed Nov 13 15:59:55 2024 -0600

    fix push to zero capacity buffer

commit 3c7928e1c1d9daa070ca5d04c3f284e1f0fec595
Author: Monadic Cat <[email protected]>
Date:   Tue Nov 12 20:40:36 2024 -0600

    fix ident expansion and make ring buffer compatible with obj::C

commit 5c2e3c8d8ce6e4e3c31a27bfc0482353cbdc5ead
Author: Monadic Cat <[email protected]>
Date:   Tue Nov 12 20:01:05 2024 -0600

    forward ring buffer methods

commit 7090edc1db677605e730f74805a7c6b90f4feb35
Author: Monadic Cat <[email protected]>
Date:   Tue Nov 12 19:30:13 2024 -0600

    write a ring buffer library

commit 132a1c952304089ddd576545713a10fa6083808d
Author: Monadic Cat <[email protected]>
Date:   Tue Oct 29 13:21:50 2024 -0500

    delete experiment

commit cdf0ec614f36175c27d0ef1b803824944644a8cf
Author: Monadic Cat <[email protected]>
Date:   Tue Oct 29 13:20:37 2024 -0500

    eq; experiment

commit c98425de84ee26851b5196e599da210a59e301fb
Author: Monadic Cat <[email protected]>
Date:   Sat Oct 26 21:53:03 2024 -0500

    unwrap pull parse next

commit d0742df1f2505040480fb161818ca4ed3951131f
Author: Monadic Cat <[email protected]>
Date:   Mon Sep 16 09:17:31 2024 -0500

    move coding conventions out of README

commit 166835ff7a5d62a17beacfa345a76ff48771e50a
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 13 09:18:26 2024 -0500

    speed up ./x.py tccmain

commit 95f0901b8159db48140a46740e852efa03350b21
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 21:08:45 2024 -0500

    update gitignore

commit 12bb536e6104074ceec874e213af536839d3e2ac
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 21:06:46 2024 -0500

    commit update to bootstrap bundle script

commit 85182aa711d16a7438dca0906b01ecf1ddd6d7e2
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 21:06:22 2024 -0500

    commit some docs that've been WIP for a long while

commit 0afbb8952383712094179197e21964f8bf1e6a6d
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 21:05:19 2024 -0500

    commit a bunch of garbage that's laying about

commit 61706bdb69632cb79439c33c1a8425514ec945c8
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 21:04:19 2024 -0500

    cleanup a bit

commit 3962889b526f8991e5eab2f0e7370a319e2ff0f2
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 20:50:00 2024 -0500

    commit some stuff that was laying around

commit d14cf2bcf5d3c3440f1118e8a51071379bea6120
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 15:06:19 2024 -0500

    add tccmain subcommand to build system

commit b508f288578aa3dc0865e51f77e5ddcc993f30ae
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 12:05:52 2024 -0500

    update example lib user

commit 09e4b5aca7bd3cccbefe46d168a1e5ab3dd28beb
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 12 11:55:12 2024 -0500

    Write a pull parser for April source code.
    
    It's really cumbersome to do heap backed recursion in C,
    which is the whole reason IR0 has the structure it does.
    To make translating the AST to IR0 easier, this parser emits
    a flat stream of events, instead of a tree of nodes.
    This likely also will make traversal faster, but that is
    not the primary aim here.

commit 42f8a2979ac491297b542eb19e9730c11a034577
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 13 10:07:06 2024 -0500

    add some options and docs for build size optimization

commit 8c19cc58d802cd70c12e95a224bbcc85974a80a3
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 1 11:47:41 2024 -0500

    document parameter packs; todo

commit 24f4cec9d404f792bf6a02ea7c54902942e10e7e
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 1 11:37:25 2024 -0500

    trim Use term docs

commit fc819d51f6e14d30f7959be3daf7e2cc54d00faa
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 1 11:28:44 2024 -0500

    specify more of ir0

commit d694f0fc6f7ac5f6eb108a9620bc8371639da051
Author: Monadic Cat <[email protected]>
Date:   Wed Jul 31 00:10:42 2024 -0500

    fill out debug printing for IR0

commit 741fc2d661a663facf177319bfa9c40d0b14963a
Author: Monadic Cat <[email protected]>
Date:   Wed Jul 24 11:23:01 2024 -0500

    refactor ir0 TermKind; outline ir0 implementation; add a text function

commit 6f0606bb7aad97c5f6fb01ae715d19d66bd83889
Author: Monadic Cat <[email protected]>
Date:   Mon Jul 22 20:49:14 2024 -0500

    note superseding documentation

commit d5276c659125be44a403efda633fd5e15ed3c451
Author: Monadic Cat <[email protected]>
Date:   Mon Jul 22 19:54:20 2024 -0500

    work on ir0 langref
    
    add an operational definition of the single-use rule for Move-only
    values; add rules for literal terms

commit d81034188024a041f20eb987f49009a9f751a3e0
Author: Monadic Cat <[email protected]>
Date:   Sun Jul 21 00:13:11 2024 -0500

    commit notes on IR design; improve IR0 typing rules

commit 1cd5c67c361af30dafa3ae6c41956d855cb47737
Author: Monadic Cat <[email protected]>
Date:   Fri Jul 12 21:56:14 2024 -0500

    commit notes about memory model

commit 6b6f6b1a992c0f71ac32c9de941bd22a760cd448
Author: Monadic Cat <[email protected]>
Date:   Tue Jul 9 00:43:42 2024 -0500

    support library use of the generic sys

commit bcb7858be2f85e48f4c436b71ed70ba29c49db80
Author: Monadic Cat <[email protected]>
Date:   Tue Jul 9 00:42:41 2024 -0500

    notes on pointers and stuff

commit 25c7753e77ef4d90f464d71c17d9000b30d160ed
Author: Monadic Cat <[email protected]>
Date:   Wed Jul 3 13:23:18 2024 -0500

    add notes to and update the readme

commit 5e2d628313ec877d3ac08bc396054066b2bc28b7
Author: Monadic Cat <[email protected]>
Date:   Sat Jun 29 13:34:26 2024 -0500

    more notes on ir0

commit 19e21645231c5f287faf7c2685c0f9a5f4f7f494
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 28 09:33:02 2024 -0500

    notes on ir0 typing

commit f463df17d90dac21d3371c618fc87ce99d089264
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 28 08:43:39 2024 -0500

    clarify note on ir0

commit 3e11d97dc3396fd833489374a7e9d5e91d6cc893
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 28 07:59:21 2024 -0500

    more notes on ir0

commit c0b93558fd6148cd0ab05b1285ac68dd6c08c3da
Author: Monadic Cat <[email protected]>
Date:   Thu Jun 27 11:28:05 2024 -0500

    add notes on ir0

commit a5ed9030fe8d109871a1dcc5444c2282bc38be1f
Author: Monadic Cat <[email protected]>
Date:   Mon Jun 17 09:13:25 2024 -0500

    change to store indexes in ValueRefs

commit 2d3e9aad6b856f10737f164a58f531390c92ef78
Author: Monadic Cat <[email protected]>
Date:   Mon Jun 17 09:06:36 2024 -0500

    fix memory leak
    
    april_parse_interner_get_key() took ownership of str, but only kept it
    around to free it in Interner's destructor when it didn't already have a
    copy of str in the Interner's table.
    now, we free str immediately if we already have a copy of it.

commit a9343e867e4ac6bbdcb977af35f522dfa63a4b34
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 14 09:48:33 2024 -0500

    add tcc back into the automatic test suite

commit ffb07853b8d358f7452f100072bfd29d8aa83fa9
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 14 09:31:59 2024 -0500

    add chibicc to the automatic test suite

commit 09ac0d2ee336cec0906aa3a25b3d6505ca148dd4
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 14 09:12:00 2024 -0500

    add chibicc support

commit 32955cce23ab5aa9e0668dcd9458de6a1132a098
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 7 11:30:14 2024 -0500

    cleanup and make prerendering smarter

commit 40eeee32aa1502c975f62073d0759644120ab6f4
Author: Monadic Cat <[email protected]>
Date:   Fri Jun 7 09:26:25 2024 -0500

    add routing to website, plus a faq

commit 7dc9c2378e1c8678a8fdd77844dfaf3a8281765a
Author: Monadic Cat <[email protected]>
Date:   Fri May 31 16:07:23 2024 -0500

    add magic macro header and adjust UB macro

commit 377edde2a5496204af156e98f759fa7871bdcd1c
Author: Monadic Cat <[email protected]>
Date:   Fri May 31 09:26:42 2024 -0500

    cleanup old assets

commit ea51b2dbf5cc43d63e40dae57428e3a37bb4ac5d
Author: Monadic Cat <[email protected]>
Date:   Fri May 31 09:13:29 2024 -0500

    make website render at build time

commit 1fb8bc646940d3292052b5050fdec92c1663f30a
Author: Monadic Cat <[email protected]>
Date:   Thu May 30 20:39:20 2024 -0500

    build website using Svelte and Vite

commit 9e7cf510d021289e1764c2510006fb03d8fc314c
Author: Monadic Cat <[email protected]>
Date:   Wed May 8 13:32:17 2024 -0500

    get tree walker value printing working

commit 3dc0e041825e4a4037a3a7a0e071ce9302963f36
Author: Monadic Cat <[email protected]>
Date:   Wed May 8 08:04:58 2024 -0500

    work on ValueRef

commit f1ba8d06ee0c7307fc39d9520a9f86ec04482c25
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 19:58:07 2024 -0500

    add flag to improve backtraces

commit 9d7ef8c51eac2d07d0d1d29286c17291ec978f2b
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 17:30:06 2024 -0500

    work more on unpinning Values

commit bcb6f895f312f86e2840c1f9b7a87bca7242a625
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 17:24:23 2024 -0500

    work toward letting value storage move around

commit c5dc29f5e0b70282377b2d64651bb616e39b7e3b
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 10:28:30 2024 -0500

    rename CRASH to APRIL_CRASH

commit 8e3dcd2cd4223cd00f22a90a3f68f8d6ff06eb5d
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 10:17:47 2024 -0500

    namespace stringify more

commit 534e8e246a0ca9458a65812a26eaa638398f1523
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 10:12:12 2024 -0500

    adjust panics a little

commit 90063cdf77fb5bad92e405f2c94b320a5865eda4
Author: Monadic Cat <[email protected]>
Date:   Tue May 7 09:57:17 2024 -0500

    __LINE__ and __FILE__ are given by C99 and C11

commit f685fe5f5098ab6599bbe59c54a47f38169030e9
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 15:10:08 2024 -0500

    refactor a little; add C source string support

commit eea8714ac69e903e525c8ea52ea985414f777d17
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 13:22:39 2024 -0500

    remove unused source generation stuff

commit e7fd4f15b90ba400b501a7c8f93a7a0ac52fc462
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 12:38:11 2024 -0500

    adjust test harness to allow normal builds

commit 3f8e64c660b37de4522fa53617c7ced499b75064
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 09:30:10 2024 -0500

    adjust sys naming in README

commit 8850219d97579c51dc8b172a6bda042fa51d7120
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 09:19:48 2024 -0500

    since libapril.c now does the defaulting, the user doesn't need to

commit 816afab9239e719cee1d1139bf42718c39733eb7
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 09:19:09 2024 -0500

    add generic sys default

commit e9387a863052eb540b8efdd69b0c27b39c73b38e
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 09:03:37 2024 -0500

    allow example/lib_user.c to have its sys configured externally

commit 5695bffeaf1b8c38e037c857786e98daf2a7ec6c
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 09:01:11 2024 -0500

    write some docs for building; add build options

commit f1f09cb9b79fbff6bc89445a88a409a53961ecfa
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 07:57:02 2024 -0500

    add library use support to generic sys

commit 10a04dbf55e24ccc412193fcb269b66ab088c16e
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 07:52:50 2024 -0500

    adjust example imports

commit 8284ec6aef26b882e3ec69355d84febf29d101b5
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 07:49:45 2024 -0500

    move example lib user code to new examples dir

commit a2ec24f20f0b768fd60d8d214f4e85215bfbb3fc
Author: Monadic Cat <[email protected]>
Date:   Fri May 3 07:49:12 2024 -0500

    update lib_user.c example

commit d8b61393944f0ced07b49ef5445b2d49157f50a0
Author: Monadic Cat <[email protected]>
Date:   Wed May 1 14:19:53 2024 -0500

    genericize signed addition

commit b6de3c2639aeb9768e237a6b41758a2ae270244d
Author: Monadic Cat <[email protected]>
Date:   Wed May 1 13:45:00 2024 -0500

    add test crash hook support to generic sys

commit c63526ed77160f3f1dabb97059f5109b88c484d6
Author: Monadic Cat <[email protected]>
Date:   Wed May 1 13:34:10 2024 -0500

    move io.c import

commit 9aab76ad0581848fb35d3742d6060ad567a9a0b6
Author: Monadic Cat <[email protected]>
Date:   Wed May 1 13:24:31 2024 -0500

    polish the test suite a little

commit ae7400f3aeb19210d6403813b28e72a348fbf4f2
Author: Monadic Cat <[email protected]>
Date:   Wed May 1 13:13:26 2024 -0500

    work on math and testing

commit f02a43702508a1bef3df2560ec4903d32cc9689b
Author: Monadic Cat <[email protected]>
Date:   Thu Feb 15 12:27:10 2024 -0600

    update sys/lib/block.c docs

commit 051fbd9411b617ba1936bcaa49a64925b14dcc21
Author: Monadic Cat <[email protected]>
Date:   Thu Feb 15 12:17:03 2024 -0600

    work

commit cad73612685716b18f3a52c1c0eabea0727078c6
Author: Monadic Cat <[email protected]>
Date:   Wed Feb 14 13:13:10 2024 -0600

    int.h work

commit 04c5c4d5b55cf3094283333e935076cf309e9661
Author: Monadic Cat <[email protected]>
Date:   Thu Jan 18 10:46:07 2024 -0600

    reorganize driver_sys.h and create sys.h

commit 0b12a5d7c7953fbed2a4f8c0407160dd349d4710
Author: Monadic Cat <[email protected]>
Date:   Sun Jan 14 11:22:19 2024 -0600

    work on stuff

commit b54c5ccdef7e7a79f7d519ba1419a4566da10bb0
Author: Monadic Cat <[email protected]>
Date:   Thu Dec 21 10:07:32 2023 -0600

    sketches

commit b1330ec2689baf7dddf274637012e12771814ef9
Author: Monadic Cat <[email protected]>
Date:   Thu Dec 21 10:06:28 2023 -0600

    new build targets

commit c457811836e462563d9f727d75fb9f978ceadf61
Author: Monadic Cat <[email protected]>
Date:   Wed Dec 20 10:39:15 2023 -0600

    remove stdio where possible

commit 4f404dfaea2109142966e3abe32fd25f5f11a85a
Author: Monadic Cat <[email protected]>
Date:   Wed Dec 20 10:38:35 2023 -0600

    improve build script; have combined object file build

commit 4f037174c3cbe51f2e96a85bf7b8dbf14dbae58d
Author: Monadic Cat <[email protected]>
Date:   Sun Dec 17 13:52:50 2023 -0600

    remove most use of <stdlib.h> header

commit cc15698af6cb6d0172e207f7aec447497ea9fd6d
Author: Monadic Cat <[email protected]>
Date:   Sun Dec 17 13:40:51 2023 -0600

    replace the <string.h> header when freestanding

commit ab10cbfd4337537374df41ce3a1f0d926c57a55f
Author: Monadic Cat <[email protected]>
Date:   Sun Dec 17 04:14:46 2023 -0600

    work; make compiler usable as a library

commit cea36aeac9955ffb5257ee79bd3e2e2ae586657b
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 21 17:13:59 2023 -0500

    work

commit e0fd82b3bfc9c55c0cc08c217fb7f2d71ba56441
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 21 10:41:14 2023 -0500

    implement runtime C string to UTF-8 conversion

commit 597300d3fcfdc2ac279866421e682962a7795cae
Author: Monadic Cat <[email protected]>
Date:   Tue Sep 19 14:13:48 2023 -0500

    add compiler flag; work on librarification of compiler

commit 6de45890d9dd32c14c56f786ed1f989febfadb37
Author: Monadic Cat <[email protected]>
Date:   Tue Sep 19 14:13:10 2023 -0500

    work on type solver

commit 52a23453e6e608632050acd375381a3b8c0dbf25
Author: Monadic Cat <[email protected]>
Date:   Mon Sep 18 00:51:49 2023 -0500

    check return code in build_main(), add compiler flag

commit 1c5b476092b8c9701ed4957f2d7b03aba72426a7
Author: Monadic Cat <[email protected]>
Date:   Sat Sep 16 23:26:21 2023 -0500

    begin work on type inference

commit b2b51661c430363a345918bb0677612265521577
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:41:38 2023 -0500

    explain new clang flag

commit 9796af4325df906edcc8e77848b01c272841ce5b
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:39:29 2023 -0500

    improve x.py category detection, reformat Rules.sql

commit 3b0b036fd1622b7c87d782c7e1dd8841e93561c5
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:21:22 2023 -0500

    update driver_sys.h docs

commit fc6a8152b03edff84cd41e1dcc3aaf26e9f8ea1e
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:17:01 2023 -0500

    rename april_parse_ast_ to april_parse_ast

commit d0b4f98eac9a6510727336623cfc1493e6b58543
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:13:35 2023 -0500

    suppress gen.c runs for now

commit 12f59999e13208832a989e127aae6bc1f5a6676d
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:13:23 2023 -0500

    remove dip include from tests

commit 1efba4444755757a15793fedda77672923baf870
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 09:07:23 2023 -0500

    remove io_read_file_into_buf

commit 247b789fa76b74e92b537b912e632174f2c5ba15
Author: Monadic Cat <[email protected]>
Date:   Fri Sep 15 08:27:42 2023 -0500

    delete dip

commit dcb9ed5ce9559f54a75d964434ee5b678ec57e2d
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 23:03:50 2023 -0500

    parse integers, improve s-exp formatting

commit 92b625b689cc55bb8b979cf5ab2bb98d447c1fe5
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 20:03:16 2023 -0500

    work on parser; fix treemap; fix bitbuf
    
    We now fully initialize treemap nodes, and avoid a use-after-free in
    bitbuf_push_octet. We also have str_to_string now, plus whatever
    else.

commit 6e7a7b9411dffec756bfd20f377528f07b00e538
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 13:16:24 2023 -0500

    add gen target to x.py

commit c316fec4194b4f7202ee830d4e322a8baadb83ff
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 13:14:35 2023 -0500

    update bundle script

commit afe8c6ba2f358df0256131fddc2c3dfb9eb0318f
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 13:03:31 2023 -0500

    AST formatting

commit b984892581f1b60afb4a93ac4e800ab1cbbb414e
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 12:54:19 2023 -0500

    unsigned minimum-width ints are still guaranteed unsigned

commit 4fcef0109d7c77e2efd856e802d09156057861a8
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 12:53:54 2023 -0500

    add string_push_str

commit 654e9a6945f5872cc9ae1b11e6a1d31d91cfc534
Author: Monadic Cat <[email protected]>
Date:   Thu Sep 14 12:49:32 2023 -0500

    fix bitbuf::push_octet; adjust buffer::grow

commit ddb3cd631f82b230df108c5b9393caff33863b81
Author: Monadic Cat <[email protected]>
Date:   Wed Sep 13 18:16:57 2023 -0500

    work

commit c1aa04a3d23957bf433e830434ed759f7b159980
Author: Monadic Cat <[email protected]>
Date:   Wed Sep 13 17:12:58 2023 -0500

    work

commit 0a40cc1a5653ed500e1438a079afd6ce9cab4d18
Author: Monadic Cat <[email protected]>
Date:   Wed Sep 13 14:32:45 2023 -0500

    implement test batching

commit c201ccc5c503b68badd3a5a116fd991eeec307b6
Author: Monadic Cat <[email protected]>
Date:   Wed Sep 13 12:20:52 2023 -0500

    report flag category during test-all

commit bc39aae18517405d85253490e0d98a531cb2d993
Author: Monadic Cat <[email protected]>
Date:   Wed Sep 13 12:01:27 2023 -0500

    avoid separate translation unit for test harness

commit a6f4265960d96d88d03ea360fea37fe5fd0cc35f
Author: Monadic Cat <[email protected]>
Date:   Wed Sep 13 00:25:14 2023 -0500

    work

commit 1c1b00e692d77129447edfa16346bf1324cd8bc0
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 17 13:57:54 2023 -0500

    additional work

commit 5b0c74ded6e43507f8d46bf01463b3748338735a
Author: Monadic Cat <[email protected]>
Date:   Sat Aug 12 17:49:45 2023 -0500

    make alloc_dangling() return valid pointer

commit e0996d4fb756afecfad25b672ec8c9766ab3840e
Author: Monadic Cat <[email protected]>
Date:   Sat Aug 12 17:49:08 2023 -0500

    preliminary IO facilities for the generic sys implementation

commit 72c63f52a8fec186c6ea2d8e1808aeb3eb6ecf9e
Author: Monadic Cat <[email protected]>
Date:   Sat Aug 12 17:48:48 2023 -0500

    build system and testing improvements

commit c6ed10a40d4ea43869142f932c3fcc0d38078979
Author: Monadic Cat <[email protected]>
Date:   Sat Aug 12 01:05:19 2023 -0500

    improve build system wrt shared objects

commit 620dc32220ef74ee43aa7d4827d875944ead50c6
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 10 18:02:54 2023 -0500

    switch to building shared objects by default

commit 401a5b1868dcacb9be51a294bb1781e46ac80ad5
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 10 10:30:12 2023 -0500

    fix file leak

commit 2a0e4a115787e97283b0243b50975fc36252a1a6
Author: Monadic Cat <[email protected]>
Date:   Thu Aug 10 10:09:33 2023 -0500

    improve lexer

commit 827f23210df8bfcfc8e52e82d20e4a7440f3fb99
Author: Monadic Cat <[email protected]>
Date:   Wed Aug 9 23:29:29 2023 -0500

    continue work on text processing, and lexer

commit 85d27df5e7c0474cbe4165404d6e10f9e0529148
Author: Monadic Cat <[email protected]>
Date:   Wed Aug 9 20:01:50 2023 -0500

    fixup text.c

commit 51e9c51efca87bb0d1ae882680f0c42c07cefbcc
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 8 14:39:56 2023 -0500

    improve bundle script

commit bbac3c158b059de48f7e8adfc779ee14f28c0383
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 8 14:32:11 2023 -0500

    implement ucd method forwards

commit 9392573632ef5ef7c4b11e13f65258d415a905e0
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 8 14:17:29 2023 -0500

    silence warning in test harness

commit ac1820e5c6f0ad3671d3e64115770c352652d4b9
Author: Monadic Cat <[email protected]>
Date:   Tue Aug 8 14:15:43 2023 -0500

    more work

commit a42fc3dc17def0638e160b72b3191364850ba636
Author: Monadic Cat <[email protected]>
Date:   Mon Jul 24 23:12:27 2023 -0500

    simplify sys init call sites

commit b0b8bb67e5b5972743bc207b75f6ac560bccf304
Author: Monadic Cat <[email protected]>
Date:   Mon Jul 24 22:09:26 2023 -0500

    initialize driver_sys in test harness

commit f5d01a1d94b0586a95addd26737d81495039e2bf
Author: Monadic Cat <[email protected]>
Date:   Mon Jul 24 21:48:07 2023 -0500

    progress

commit 1788520b2b93408c2eee41a09093efd664f7b867
Author: Monadic Cat <[email protected]>
Date:   Wed Jul 12 01:28:52 2023 -0500

    adjust all build scripts to use BUILD_OUT_DIR instead of out/

commit 43355533e8ea157f83f52fad3f60af6ff7d231b8
Author: Monadic Cat <[email protected]>
Date:   Wed Jul 12 01:00:10 2023 -0500

    commit new consistent state

commit a44cd951f634dc4f694a514342454273f980aaf1
Author: Monadic Cat <[email protected]>
Date:   Fri Jul 7 11:07:15 2023 -0500

    commit beginnings of this project
    
    i've been working on this for a while already, but haven't gotten
    around to putting it in a git repo yet