.. Crowbar spec documentation master file, created by sphinx-quickstart on Wed Oct 28 15:04:27 2020. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. ******* Crowbar ******* Crowbar: the good parts of C, with a little bit extra. **This is entirely a work-in-progress, and should not be relied upon to be stable (or even accurate) in any way.** Crowbar is a language that is derived from (and, wherever possible, interoperable with) C, and aims to remove as many `footguns`_ and as much needless complexity from C as possible while still being familiar to C developers. .. _footguns: https://en.wiktionary.org/wiki/footgun Ideally, a typical C codebase should be straightforward to rewrite in Crowbar, and any atypical C constructions not supported by Crowbar can be left as C. This site hosts the Crowbar specification. Additional resources you may be interested in: * `sr.ht project hub`_ * `specification PDF`_ * `specification EPUB`_ * `reference compiler`_ .. _sr.ht project hub: https://sr.ht/~boringcactus/crowbar-lang/ .. _specification PDF: /crowbar-spec.pdf .. _specification EPUB: /crowbar-spec.epub .. _reference compiler: https://git.sr.ht/~boringcactus/crowbar-reference-compiler Motivation ========== * `Rust is not a good C replacement `_ Journal ======= * `Crowbar: Defining a good C replacement `_ * `Crowbar: Simplifying C's type names `_ * `Crowbar: Turns out, language development is hard `_ Discuss ======= * `announcement mailing list `_ * `permanent discussion mailing list `_ * ephemeral discussions via IRC: #crowbar-lang on freenode (`join via irc `_, `join via web `_) .. toctree:: :maxdepth: 2 :hidden: :numbered: vs-c tagged-unions types safety errors syntax LICENSE Indices and tables ================== * :ref:`genindex` * :ref:`search`