---
title: Development Status
sidebar_label: Development Status
---


Parsica is early stage, so expect things to break all the time. 

This is a rough wishlist of features to do before 1.0:

### Done

- [x] API Documentation
- [x] All essential parsers
- [x] Basic error messages
- [x] PHPUnit tooling
- [x] Recursive parsers
- [x] Versioned documentation
- [x] Essential combinators
- [x] JSON parser
- [x] Parser position in error messages
- [x] Expression parser helpers
- [x] Tutorial

### TODO 

- [ ] Streaming input
- [ ] Change the behaviour of or, add try and lookAhead
- [ ] Better parser assertions
- [ ] Better exceptions
- [ ] Character categories
- [ ] Comparison tests for canonical and performant implementations
- [ ] Debug trees
- [ ] Inliner
- [ ] Lexer
- [ ] Monoidal parser types
- [ ] More [monad combinators](https://hackage.haskell.org/package/base-4.14.0.0/docs/Control-Monad.html#v:-62--61--62-) 
- [ ] Other popular test frameworks
- [ ] [Permutation phrases](https://www.cs.ox.ac.uk/jeremy.gibbons/wg21/meeting56/loeh-paper.pdf)
- [ ] Parser state
- [ ] Profiling & performance
- [ ] Publish documentation in e-reader and pdf formats

