add supported range section

This commit is contained in:
Yuichi Nishiwaki 2013-11-14 13:57:53 +09:00
parent 132959eed8
commit 104a8574ab
1 changed files with 43 additions and 0 deletions

View File

@ -16,6 +16,49 @@
- advanced REPL support (multi-line input, etc)
- tiny & portable library (all functions will be in `libpicrin.so`)
## Supported Range
| section | status | comments |
|-|-|-|
| 2.2 Whitespace and comments | incomplete | block comments are not implemented |
| 2.3 Other notations | incomplete | #e #i #b #o #d #x |
| 2.4 Datum labels | no | unsupported |
| 3.1 Variables, syntactic keywords, and regions | | |
| 3.2 Disjointness of types | yes | |
| 3.3 External representations | | |
| 3.4 Storage model | yes | |
| 3.5 Proper tail recursion | incomplete | apply, call/cc, call/values, eval are not yet |
| 4.1.1 Variable references | yes | |
| 4.1.2 Literal expressions | yes | `(quote <datum> )` |
| 4.1.3 Procedure calls | yes | In picrin `()` is self-evaluating |
| 4.1.4 Procedures | yes | `(lambda <fomals> <body>)` |
| 4.1.5 Conditionals | yes | `(if <test> <consequent> [ <alternate> ])`. In picrin `(if #f #f)` returns `#f` |
| 4.1.6 Assignments | yes | `(set! <var> <expr>)` |
| 4.1.7 Inclusion | no | `include` and `include-ci` |
| 4.2.1 Conditionals | incomplete | TODO: `cond-expand` |
| 4.2.2 Binding constructs | incomplete | TODO: `let-values`, `let*-values` |
| 4.2.3 Sequencing | yes | |
| 4.2.4 Iteration | no | |
| 4.2.5 Delayed evaluation | N/A | |
| 4.2.6 Dynamic bindings | no | TODO: `make-parameter`, `parameterize` in C level |
| 4.2.7 Exception handling | no | `guard` syntax. |
| 4.2.8 Quasiquotation | incomplete | nested is unsupported |
| 4.2.9 Case-lambda | N/A | |
| 4.3.1 Bindings constructs for syntactic keywords | no | Instead, picrin provides so-called legacy macro facility (`define-macro`). |
| 4.3.2 Pattern language | no | see above. |
| 4.3.3 Signaling errors in macro transformers | no | see above. |
| 5.1 Programs | yes | |
| 5.2 Import declarations | no | |
| 5.3.1 Top level definitions | yes | |
| 5.3.2 Internal definitions | no | |
| 5.3.3 Multiple-value definitions | no | |
| 5.4 Syntax definitions | no | see notes on section 4.3.1. |
| 5.5 Recored-type definitions | no | |
| 5.6.1 Library Syntax | no | |
| 5.6.2 Library example | N/A | |
| 5.7 The REPL | yes | |
## Homepage
Currently picrin is hosted on Github. You can freely send a bug report or pull-request, and fork the repository.