From 4cb9d6b74e88ae248fe4e042c81eb125bedb00ba Mon Sep 17 00:00:00 2001 From: Yin Wang Date: Mon, 25 Apr 2022 14:37:35 +0800 Subject: [PATCH] update readme --- README.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 37e1ba7..a6008ec 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,18 @@ # PySonar2 - a semantic indexer for Python with interprocedural type inference PySonar2 is a semantic indexer library for Python, designed for batch processing of large code -bases. +bases. The resulting index can be used to build code browsers and code search engines. -Because Python is a highly dynamic language, to create index of high accuracy and quality, PySonar2 -performs interprocedural analysis to infer types. Because of this, PySonar2 generally produces -better index than Python IDEs, while at the same time sacrificing real-time indexing capabilities of -IDEs. +Python is a highly dynamic language. To achieve high accuracy and quality, PySonar2 performs +interprocedural analysis to infer types. PySonar2 generally produces better index than Python IDEs, +while at the same time sacrificing real-time update capabilities of IDEs. Notice the term "type inference" here is descriptive rather than prescriptive, meaning the inferred types describe how the code is actually used, but does not prescribe how they must be used. So the way -type inference works here is different from the Hindley-Milner type system. +type inference works here is different from type systems (e.g. Hindley-Milner system). PySonar2 has been the underlying indexing engine for several large-scale code navigation services, -such as Google's internal Code Search, sourcegraph.com and insight.io (now part of -Elastic). +such as Google's internal Code Search, sourcegraph.com and insight.io (now part of elastic).