Code for the Oil Shell Blog
TODO: Parsing Bash is Undecidable
andychu/pratt-parsing-demo (other repo) -- Pratt Parsing Without Prototypal Inheritance, Global Variables, Virtual Dispatch, or Java
TODO: Thirteen Incorrect Ways and Two Awkward Ways to Use Arrays
TODO: Example Code in Shell, Awk, and Make
id-kind-func/ - Four Functions and Enum Labelings
forth-like/ - Shell Has a Forth-like Quality
point-free/ - Pipelines Support Vectorized, Point-Free, and Imperative Style
bernstein-fix/ - Bernstein Chaining of ssh and su
bourguet/operator_precedence_parsing - Code for the Shunting Yard Algorithm, and More
hard-coded-descriptors/ - Avoid Directly Manipulating File Descriptors in Shell
git-changelog/ - How to Quickly and Correctly* Generate a Git Log in HTML
args-pattern/ -- TODO: Shell: The Good Parts
redirects-dup/ -- This was for explaining redirects
metaprogramming/ -- Different styles of metaprogramming solving the same problem
python-getopt/ -- Quadratic behavior I noticed when implementing args.py
, never used
py-slots/ -- Slots are not that much faster, but they use much less memory.
empty-arrays/ -- From bash-help thread
dynamic-scope/ -- Never blogged about this
dotd/ -- HN thread about Make
closures/ -- HN thread about use cases for closures
perl/ -- Is Perl an Acceptable Shell?
tools-snapshot/ -- A few people wanted to know whta tools I use to write the blog.
ddmin/ -- Refactoring / rewriting the original ddmin Python code.
fgrep-problem-benchmarks/ -- Grew out of a discussion on the Aho-Corasick algorithm for matching a set of fixed strings.