diff --git a/README.md b/README.md index 1fdfa8d..8549cb9 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ source code (as opposed to bytecode-level instrumentation). Pyccolo can be used (and has been used) to implement various kinds of dynamic analysis tools and other instrumentation: - Code coverage (see [pyccolo/examples/coverage.py](https://github.com/smacke/pyccolo/blob/master/pyccolo/examples/coverage.py)) -- Syntactic macros such as quasiquotes (like [MacroPy's](https://macropy3.readthedocs.io/en/latest/reference.html#quasiquote) or quick lambdas; see [pyccolo/examples/quasiquote.py)](https://github.com/smacke/pyccolo/blob/master/pyccolo/examples/quasiquote.py) and [pyccolo/examples/quick_lambda.py)](https://github.com/smacke/pyccolo/blob/master/pyccolo/examples/quick_lambda.py)) +- Syntactic macros such as quasiquotes (like [MacroPy's](https://macropy3.readthedocs.io/en/latest/reference.html#quasiquote)) or quick lambdas; see [pyccolo/examples/quasiquote.py](https://github.com/smacke/pyccolo/blob/master/pyccolo/examples/quasiquote.py) and [pyccolo/examples/quick_lambda.py](https://github.com/smacke/pyccolo/blob/master/pyccolo/examples/quick_lambda.py) - Syntax-augmented Python (3.8 and up, see [pyccolo/examples/null_coalesce.py](https://github.com/smacke/pyccolo/blob/master/pyccolo/examples/null_coalesce.py)) - Dynamic dataflow analysis performed by [nbsafety](https://github.com/nbsafety-project/nbsafety) - Tools to find unused imports at runtime (candidates for lazy importing)