aboutsummaryrefslogtreecommitdiff
path: root/docs/CONTRIBUTING.md
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-01-10 18:58:38 +0000
committerAleksey Kladov <[email protected]>2018-01-10 18:58:38 +0000
commit4c10c31be339ef3082f142061d83149af2a30ec8 (patch)
tree2343fbe5933e9d02b557d597c26c350825b6691f /docs/CONTRIBUTING.md
parent5ea7e5fb7ab9f9ed762c8b5220ba01a29796a871 (diff)
D: start documenting stuff
Diffstat (limited to 'docs/CONTRIBUTING.md')
-rw-r--r--docs/CONTRIBUTING.md32
1 files changed, 32 insertions, 0 deletions
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
new file mode 100644
index 000000000..5ae2e830e
--- /dev/null
+++ b/docs/CONTRIBUTING.md
@@ -0,0 +1,32 @@
1The project is in its early stages: contributions are welcome and
2would be **very** helpful, but the project is not *yet* optimized for
3contributors. Moreover, it is doubly experimental, so there's no
4guarantee that any work here would reach production. That said, here
5are some arias where contributions would be **especially** welcome:
6
7
8* Designing internal data structures: RFC only outlines the
9 constraints, it's an open question how to satisfy them in the
10 optimal way. See `ARCHITECTURE.md` for current design questions.
11
12* Porting libsyntax parser to libsyntax2: currently libsyntax2 parses
13 only a tiny subset of Rust. This should be fixed by porting parsing
14 functions from libsyntax one by one.
15
16* Writing validators: by design, libsyntax2 is very lax about the
17 input. For example, the lexer happily accepts unclosed strings. The
18 idea is that there should be a higher level visitor, which walks the
19 syntax tree after parsing and produces all the warnings. Alas,
20 there's no such visitor yet :( Would you like to write one? :)
21
22* Creating tests: it would be tremendously helpful to read each of
23 libsyntax and libsyntax2 parser functions and crate a small separate
24 test cases to cover each and every edge case.
25
26* Building stuff with libsyntax2: it would be really cool to compile
27 libsyntax2 to WASM and add *client side* syntax validation to rust
28 playground!
29
30
31Do take a look at the issue tracker, and try to read other docs in
32this folder.