Commit 70c79061 authored by Tom Niget's avatar Tom Niget Committed by Xavier Thompson

Update README and install instructions

parent 9c7915df
...@@ -4,32 +4,29 @@ Typon is a two-part project to bring practical GIL-free concurrency to Python: ...@@ -4,32 +4,29 @@ Typon is a two-part project to bring practical GIL-free concurrency to Python:
1. [`typon-concurrency`](https://lab.nexedi.com/typon/typon-concurrency), a C++ concurrency runtime 1. [`typon-concurrency`](https://lab.nexedi.com/typon/typon-concurrency), a C++ concurrency runtime
2. typon-compiler (this repository), a compiler from Python syntax into C++ 2. typon-compiler (this repository), a compiler from Python syntax into C++
## Directory structure ## Getting started
### `docs`, documentation
Currently using Sphinx.
### `include`, standard library and compiler primitives/intrisics
TODO.
### `runtime`, concurrency runtime (Git submodule)
See the [runtime repository](https://lab.nexedi.com/typon/typon-concurrency).
### `trans`, transpiler ### Install
This repository, TODO. #### From code
## Getting started
```bash ```bash
git clone https://lab.nexedi.com/typon/typon-compiler.git --recursive git clone https://lab.nexedi.com/typon/typon-compiler.git --recursive
python3 -m venv typenv python3 -m venv typenv
source typenv/bin/activate source typenv/bin/activate
pip install ./typon-compiler pip install ./typon-compiler
apt install libfmt-dev liburing-dev python3.12-dev libssl-dev ```
#### From PyPI
```
pip install typon
```
### Install dependencies
```
apt install g++-13 libfmt-dev liburing-dev python3.12-dev libssl-dev
``` ```
## Basic usage ## Basic usage
...@@ -43,11 +40,30 @@ typon [-o/--output output] [-d/--debug] [-v/--verbose] input ...@@ -43,11 +40,30 @@ typon [-o/--output output] [-d/--debug] [-v/--verbose] input
Once generated, the C++ code file can be compiled using your compiler of choice: Once generated, the C++ code file can be compiled using your compiler of choice:
``` ```
$(CXX) -O3 input.cpp $(typon --cpp-flags) $(CXX) -O3 $(typon --cpp-flags) input.cpp
``` ```
Currently, you'll get the best support with G++ 13. Currently, you'll get the best support with G++ 13.
## Directory structure
### `docs`, documentation
Currently using Sphinx.
### `include`, standard library and compiler primitives/intrinsics
TODO.
### `runtime`, concurrency runtime (Git submodule)
See the [runtime repository](https://lab.nexedi.com/typon/typon-concurrency).
### `trans`, transpiler
This repository, TODO.
## Test harness ## Test harness
`cd` into the `trans` directory, set up your `.env` file (you can copy the `.env.example` file), and run `python3 test_runner.py`. `cd` into the `trans` directory, set up your `.env` file (you can copy the `.env.example` file), and run `python3 test_runner.py`.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment