Home

Awesome

The main purpose of this project is to provide a way to incrementally migrate a large Python codebase onto a statically typed language (Purescript) while still providing Python interop. If you maintain a large Python codebase you probably understand why this is necessary.

The main reason I chose Purescript as the statically typed front-end was that:

This library is architecturally very simple:

The goal is to strike a balance between making the Python code as idiomatic as possible while still keeping the implementation reasonably simple. Also, while I'd like to support as much of Purescript as possible, I'm okay with not supporting some language constructs if they prove too hairy to translate to traditional Python idioms.

I'm not yet fully committed to this project. I only put this up because some people asked to see the code I had so far. I will modify this README to indicate when I'm taking this project more seriously.

In the meantime, if you would like to contribute, I will be very liberal about accepting pull requests.

Right now the project is just a skeleton Compile.hs file showing the rough outline of how things would work along with some example AST translations. This project is so unpolished that it's not even a cabal project yet.