NOTE: This is a draft - I am just making it public to make it easier for me to use in certain perverse situtations.
Thing.... Description
- Github repository: https://github.com/wraith1995/syntax/
- Documentation https://wraith1995.github.io/syntax/
First, create a repository on GitHub with the same name as this project, and then run the following commands:
git init -b main
git add .
git commit -m "init commit"
git remote add origin git@github.com:wraith1995/syn.git
git push -u origin main
Finally, install the environment and the pre-commit hooks with
make install
You are now ready to start development on your project! The CI/CD pipeline will be triggered when you open a pull request, merge to main, or when you create a new release.
To finalize the set-up for publishing to PyPi or Artifactory, see here. For activating the automatic documentation with MkDocs, see here. To enable the code coverage reports, see here.
- Create an API Token on Pypi.
- Add the API Token to your projects secrets with the name
PYPI_TOKEN
by visiting this page. - Create a new release on Github.
- Resolve serious disagreements on the nature of validation beyond types. The possibility of internal type conversion, types of types and their handling, shittyness of python typing module.
- Different types of iteration methods: depth vs. breadth, external or internal, dup vs no dup, dup notion, ocality, local ordering, Nones, Names, Flattening. General Collections.abc interfance questions (sets, functions, etc...)
- The problem of matching over an IR that does not yet exist.
- Extension of existing ADTs or merging of ADTS
- Basic documentation.
- Vistior patterns
- Custom show or at least better show.
- Python front end instead of text. See (2).
- Functorial IRs
- Logging intergration
- Github integrations
- Variations on the lambda calc implementation for examples. Add these to tests.
- Attrs vs. Dataclasses. Attrs might save some boiler plate, but it outside standard python.
- Greater variation on internal errors and consistenty with python.
- psf black
- Ref Mutability and selective mutalability/frozeness - ability to express cfg
- Integration with mypy/pyright/whwatever
- Function recursion helpers
- Folding/tree systems
Pretty printing:
Expr, stmt, graph
Create a new tag in the form *.*.*
.
For more details, see here.
Repository initiated with fpgmaas/cookiecutter-poetry.