--- css_files: web/release-index.css all_docs_url: - version_url: - ---
This is the home page for version 0.7.pre8 of Oil, a Unix shell. To use it,
- Download a source tarball.
- Build and install it, as described in INSTALL.
These steps take 30 to 60 seconds on most machines. After that, you can
oshrc file, which is described in the
Test results, metrics, and benchmarks are shown below.
- Details are in the raw git change log. Not all changes affect the release tarball.
- I sometimes write a release announcement with a high-level description of changes.
Oil has three major sources of docs:
- The Doc Overview links to all other docs, including the Manual and Oil Language Reference. It's work in progress. Up-to-date docs include:
- Github Wiki for oilshell/oil
- The Oil Deployments wiki page has other ways of getting Oil. These versions may not be up-to-date.
- Lines of source, counted in different ways:
- Lines of dependencies:
- Bytecode Metrics
- Native Code Metrics
Main Test Suites
- Oil Spec Tests. Test new Oil language features.
- OSH Spec Tests. Test OSH with existing shells, and compare their behavior.
- Wild Tests. Parse and translate thousands of shell scripts with OSH.
- Unit Tests. Python unit test results.
- Gold Tests. Compare OSH 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 shell runtime errors.
- oil-runtime-errors. Oil language runtime errors.
- arena. Testing an invariant for the parser.
- osh-usage. Misc tests of the
- oshc-deps. Tests for a subcommand in progress.
- opyc. Tests for the opyc tool.
- Smoosh test suite (from mgree/smoosh):
The OPy compiler is used to compile Oil to bytecode, but isn't itself part of the release.
- 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?
These files may help you understand how Oil is implemented, i.e. with domain-specific languages and code generation.
- _devbuild/gen/id.h. A list of language elements, used in the lexer and in multiple parsers and evaluators.
- The regex-based lexer uses two stages of code generation:
- frontend/syntax.asdl. The syntax tree for OSH and Oil.
- oil_lang/grammar.pgen2. The expression grammar for Oil. In contrast, the OSH parsers are hand-written.
Also see the oilshell/oil repository.