| 1 | # VVhitespace # |
| 2 | |
| 3 | Welcome to VVhitespace! |
| 4 | |
| 5 | VVhitespace is a programming language that descends from Whitespace, making a |
| 6 | small number of changes with the intention of *taming* the language, providing |
| 7 | the tools necessary to build non-trivial, whitespace-only applications. As a |
| 8 | proof of concept, the repository includes an implementation of Hunt the Wumpus |
| 9 | written in VVhitespace. |
| 10 | |
| 11 | Only the characters `[Space]`, `[Tab]`, `[VTab]` and `[LineFeed]` have meaning |
| 12 | in VVhitespace. All other characters are considered comments. For this reason, |
| 13 | VVhitespace programs may be embedded in other documents, including in the |
| 14 | source code of other languages. |
| 15 | |
| 16 | The language repository contains several parts: |
| 17 | |
| 18 | - A compiler, `vvc`, accepts human-readable VVhitespace source code and |
| 19 | translates it to true VVhitespace code. |
| 20 | |
| 21 | - An interpreter, `vvi`, accepts true VVhitespace files as generated by `vvc` |
| 22 | and executes them according to the language rules. |
| 23 | |
| 24 | - A library of useful functions including enhanced stack operations, printf, |
| 25 | math operations including random number generation, heap operations, string |
| 26 | manipulations and user interactions, and bitwise logic functions. |
| 27 | |
| 28 | - Hunt the Wumpus, a text game in which you explore a randomly connected set |
| 29 | of caverns, avoiding deep pits and giant cave bats, all while shooting |
| 30 | arrows at a Wumpus that wants to eat a tasty, meaty human like yourself! |
| 31 | |
| 32 | - Examples including code commentary that demonstrate VVhitespace and the |
| 33 | stdlib. |
| 34 | |
| 35 | - Tests for both the VVhitespace language and the stdlib. Intended to |
| 36 | increase confidence for users that want to tinker with the internals, both |
| 37 | test suites come with a README explaining how to run the tests and extend them |
| 38 | as necessary. |
| 39 | |
| 40 | Obtain VVhitespace at <https://git.subgeniuskitty.com/vvhitespace/.git>. |
| 41 | |
| 42 | See `README.md` for more information. |
| 43 | |