!! Arthur's Plan of Work and TODO List

This plan covers work on [OrcO] and [Orctimizer] mainly to make them more stable and practical and then work on a larger-scale motivating example.
This work has two basic tracks: OrcO and [Orctimizer].
In both cases, the goal is to make something stable to work with.
However, for Orctimizer there is research to be done once we have Orctimizer working in a way that allows it to be used on larger scale Orc(O) programs.

! OrcO Work

''On hold while I focus on the Orctimizer for PLDI'18''

These issues duplicate information from the [tracking issue|https://github.com/orc-lang/orc/issues/174] on Github.

* Implement [OrcO] type system and type checker.
* Improve [OrcO] standard library.
* Document [OrcO].
* Maybe handle some of the usability enhancements.

! [Orctimizer]/[PorcE] Work

''This is the current project as of Nov 2017. The target is a PLDI'18 submission.''

* Perform benchmarking against Python (async and sequential) (2 week)
* Evaluate additional optimizations that will be needed
* Experiment with a "concurrency knob" which changes the amount of concurrency remaining the output program
** Including investigating runtime Truffle reoptimization based on environment changes (CPU load, etc)


As needed by motivating examples do the following:
* Implement [Porc] ~JavaScript backend for Porc