Software Libraries

This may include code which is not just libraries, but that is pending better organization.

anyhow seems fairly heavily used throughout Rust projects. It was one of the first libraries I came across while starting to work with Rust in earnest (through working on gstreamer). The code is nice and clean with well-documented key files, and the project overall seems like a nice demonstration of how to implement a compatibility layer in Rust. For narrow uses it seems as though making use of the standard Error trait may be sufficient, but this certainly seems like a valuable tool for building maintainable, portable software which is likely a core aspect of the Rust model when compared to providing or expecting a broad standard library (which is something I'd want to find or write a description of at some point).

exec-path-from-shell is a fairly widely used module to make sure that values from interactive shells are available to Emacs on OS X and elsewhere. The logic is a fairly straightforward invocation and parsing of an interactive shell. The code itself is small with most of it being in support of adapting around use so this can act as a readily usable module rather than more of a code library (which could be reduced to a few small functions).

bit-struct is a library I quickly skimmed through while looking at options for C-style bitfields in Scheme. It provides a range of macros to provide this type of functionality but I ultimately landed on the opinion that composed logic for serialization/deserialization would be far simpler.

yaml-rust provides YAML parsing and emitting in a form that at least seems worth repurposing. The most up-to-date YAML logic for Rust seems potentially elusive, or this project is just old as it has remained good enough. The code is a fairly specialized state machine type flow with a split between lexing/scanning and parsing. I'll be looking to build on this as part of thoughts around application programming, but may also look at generalizing some of the behavior a bit (and also looking for a more grammar-y alternative.

gash is a fun project to implement a POSIX shell in Guile. There's plenty of ideas to borrow from in the code, though my evolving opinions steered me away from this project for the time being.