The main current goal of the project development of Universal General Representation. For replacement dissimilar internal api of rust analyzer.
We must strive to cover the current capabilities of the rast analyzer. The main goal is to get a convenient external API and to satisfy the functionality requirements. The internals here and there can be ugly and bizarre. This is required to move to the stage of integration and discussion.
- Top level query builder for Gremlin dialect
- mm-adt as internal language
- MLIR backend
- Integration with RA
- GPU acceleration
- Pluggable storages
- Materialized view
- Using as a starting point as a single uniform representation for unioning rust compiler and analyzer
- As an external api for any kind of RA or compiler plugins
- User queries - user can write is own queries, they can replace regular text search or regular expression search
- Now the language is present function like macros, they have some limitations as they work at the token level. We could pass to them on the direct handle of the compiler UGR engine. In this case, they would turn into something similar to compiler plugins, for example, they would have access to types, etc. It seems really like new level of metaprogramming but that requires discussion and elaboration.
- Compilation as service - compilation happens continuously while you write code
- Various type of visualization
- Run partially valid code (not finished code) and step by step add pieces and continue execution
- Universal schema and convertor. Dragon makes an effort in this direction, but we don't know, will Uber make the project public or not. This would be a major improvement for people who engaged in date mining or wont extract data in a special format