~boringcactus/crowbar-spec

ref: e82766f684f04888b141b71e1c46a5c04f33a43a crowbar-spec/index.rst -rw-r--r-- 2.3 KiB
e82766f6 — Melody Horn specify requirements more conventionally 1 year, 4 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
*******
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 at https://crowbar-lang.org and at `<gemini://crowbar-lang.org>`_.
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 <https://drewdevault.com/2019/03/25/Rust-is-not-a-good-C-replacement.html>`_

Journal
=======

* `Crowbar: Defining a good C replacement <https://www.boringcactus.com/2020/09/28/crowbar-1-defining-a-c-replacement.html>`_
* `Crowbar: Simplifying C's type names <https://www.boringcactus.com/2020/10/13/crowbar-2-simplifying-c-type-names.html>`_
* `Crowbar: Turns out, language development is hard <https://www.boringcactus.com/2020/10/19/crowbar-3-this-is-tough.html>`_

Discuss
=======

* `announcement mailing list <https://lists.sr.ht/~boringcactus/crowbar-lang-announce>`_
* `permanent discussion mailing list <https://lists.sr.ht/~boringcactus/crowbar-lang-devel>`_
* ephemeral discussions via IRC: #crowbar-lang on freenode (`join via irc <ircs://chat.freenode.net/#crowbar-lang>`_, `join via web <https://webchat.freenode.net/#crowbar-lang>`_)

Chapters
========

..  toctree::
    :maxdepth: 2
    :numbered:

    vs-c
    safety
    errors
    language/index
    LICENSE
    todo
    acknowledgements

.. only:: html

    Indices and tables
    ==================

    * :ref:`genindex`
    * :ref:`crowbar-element`
    * :ref:`search`