|
| 1 | +== Contributing to PseudoScript |
| 2 | + |
| 3 | +This is a *brand-surface repo*. The compiler, type checker, borrow |
| 4 | +checker, codegen, and face transformer all live in |
| 5 | +https://github.com/hyperpolymath/affinescript[affinescript]. |
| 6 | + |
| 7 | +=== Where to file what |
| 8 | + |
| 9 | +[width="100%",cols="50%,50%",options="header",] |
| 10 | +|=== |
| 11 | +|Issue |Repo |
| 12 | +|The face transformer mangles my code |
| 13 | +|https://github.com/hyperpolymath/affinescript/issues[affinescript] |
| 14 | + |
| 15 | +|The error message uses the wrong vocabulary for this face |
| 16 | +|https://github.com/hyperpolymath/affinescript/issues[affinescript] — |
| 17 | +the face vocabulary lives in `+lib/face.ml+` |
| 18 | + |
| 19 | +|New language feature needed (extern types, dependent types, etc.) |
| 20 | +|https://github.com/hyperpolymath/affinescript/issues[affinescript] |
| 21 | + |
| 22 | +|Brand README is unclear / wrong |this repo |
| 23 | + |
| 24 | +|Example program doesn’t compile |this repo (and probably also |
| 25 | +affinescript if it’s a transformer bug) |
| 26 | + |
| 27 | +|Tutorial / migration guide additions |this repo |
| 28 | + |
| 29 | +|Add this face to my IDE / build tool |this repo, but expect it to |
| 30 | +depend on affinescript work first |
| 31 | +|=== |
| 32 | + |
| 33 | +=== Local workflow |
| 34 | + |
| 35 | +[source,bash] |
| 36 | +---- |
| 37 | +opam install affinescript # installs the compiler |
| 38 | +git clone https://github.com/hyperpolymath/pseudoscript |
| 39 | +cd pseudoscript |
| 40 | +just hello # smoke-test the example |
| 41 | +just check examples/hello.affine |
| 42 | +just preview examples/hello.affine |
| 43 | +---- |
| 44 | + |
| 45 | +=== Pull requests |
| 46 | + |
| 47 | +* SPDX header on every new file (`+AGPL-3.0-or-later+`). |
| 48 | +* Run `+just hello+` and any other examples added before opening the PR. |
| 49 | +* If you’re touching the face transformer, open the PR against |
| 50 | +https://github.com/hyperpolymath/affinescript[affinescript], not here. |
| 51 | + |
| 52 | +=== Code of conduct |
| 53 | + |
| 54 | +See `+CODE_OF_CONDUCT.md+` (TBD; for now follow the affinescript code of |
| 55 | +conduct). |
0 commit comments