- The Release announcement has a high-level summary of changes.
- Details are in the raw git change log. Some of these changes may not affect the release tarball (e.g. tool changes).
- INSTALL. How to install OSH. This text file is also at the root of the tarball.
- OSH Quick Reference, with Examples (in progress).
This document underlies the OSH
help
builtin. It also gives a rough overview of what features OSH implements.
- Lines of source, counted in differented ways:
- oil-osh-cloc. The core of Oil, as measured by the cloc tool.
- src. The whole Oil repo organized by type of source file.
- parser. How big is the parser?
- runtime. How big is the runtime?
- Lines of dependencies:
- pydeps. Oil code plus the Python standard library.
- nativedeps. Oil code plus A slice of CPython.
- Bytecode Metrics
- overview - Compare OPy vs. CPython.
- oil-with-opy - Oil compiled with OPy.
- oil-with-cpython - Oil compiled with CPython (for comparison).
- src-bin-ratio-with-opy - How big is the compiled output?
- Native Code Metrics
- Spec Tests. Test OSH behavior against that of existing shells.
- Wild Tests. Parsing and translating thousands of shell scripts with OSH.
- Unit Tests. Python unit test results.
More tests:
- Gold Tests. Comparisons against bash (using implicit assertions, no golden output.)
- osh2oil Tests. Test the conversion of OSH to Oil.
- parse-errors. A list of all parse errors.
- runtime-errors. A list of all runtime errors.
- osh-usage. Misc tests of the
osh
binary. - oshc-deps. Tests for a subcommand in progress.
- arena. Testing an invariant for the parser.
The OPy compiler is used to compile Oil to bytecode, but isn't itself part of the release.
Tree-shaking:
- Test build and install on OS X
- OSH Parser Performance. How fast does OSH parse compared to other shells?
- OSH Runtime. How fast does OSH run compared to other shells?
- Virtual Memory Baseline. How much memory do shells use at startup?
- OVM Build. How long does it take for end users to build Oil? How big is the resulting binary?