Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ezelikman authored Feb 14, 2023
1 parent 234f672 commit bc1687c
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# 🐍 Parsel

**Parsel** is a natural language framework for writing programs for any target language using code language models. Parsel considers multiple implementations for each function, searching sets of implementations to find programs passing unit tests (more generally, program constraints). It can be used for many kinds of algorithmic tasks, e.g. code synthesis, robotic planning, and theorem proving.

- 🕸️ [Website](http://zelikman.me/parselpaper/)
- 📜 [Preprint](https://arxiv.org/abs/2212.10561)
- 🐦 Twitter threads: [Current paper version](https://twitter.com/ericzelikman/status/1618426056163356675), [automatic test generation](https://twitter.com/ericzelikman/status/1622605951835705344), and [automatic function naming](https://twitter.com/ericzelikman/status/1625593237946912768).

## Installation
To get use this repo, it should be enough to just:

```
git clone https://github.com/ezelikman/parsel.git
pip install openai
```
## Notebook
We provide an [intro notebook](https://github.com/ezelikman/parsel/blob/main/parsel.ipynb) showing how to interact with Parsel.

## Examples
In order to run this project, here are some example commands:
- `python parsel.py programs/problem_solving.ss` will run and transpile the program in the file `programs/problem_solving.ss`.
- `python parsel.py programs/collatz_recursion.ss` shows an example of a recursive function.
Expand All @@ -10,6 +29,8 @@ In order to run this project, here are some example commands:

In general, to configure Parsel for a new target programming, you'll need to create a new file in `consts/` and add it to `consts/__init__.py`. In addition, to use the OpenAI models, you'll need to create a `keys/codex_key.txt` file in the format `organization_id:api_key`.

## Citation

If you find this repo or the paper useful in your research, please feel free to cite [our paper](https://arxiv.org/abs/2212.10561):
```
@misc{zelikman2022parsel,
Expand Down

0 comments on commit bc1687c

Please sign in to comment.