kcl icon indicating copy to clipboard operation
kcl copied to clipboard

KCLVM 2022 roadmap discussion

Open Peefy opened this issue 2 years ago • 1 comments

The KCL language is currently in a stage of rapid development. Therefore, in the future, KCL will continue to iteratively evolve around the goals of stability, ease of use, and ecological expansion. At the same time, the KCL language will be used in more field scenarios for continuous iteration and development. The following are some of the contents of the route planning, welcome to discuss and exchange.

image

  • Documentation improvements: the main content includes KCL specification documentation, KCL Tour documentation, KCL code labs, KCL language courses, KCL best practices Documentation, KCL programming books, etc.
  • language improvements
    • Language feature simplification
    • Language stability improvements
    • Complete package management system
    • Constraints and Policy Capabilities Support
    • Resource order capability supports
  • Compiler improvements
    • The compiler supports parallel parsing, incremental compilation and other features to further improve the performance of the main body of the compiler.
    • The evolution of the front-end architecture of the compiler makes the compiler itself have better scalability. The intermediate IR code is extended based on the abstract syntax tree AST to optimize the code as much as possible. In the future, more language compilers such as BPF will be gradually supported in addition to LLVM. Wait.
    • The compiler itself can compile to WASM, and provide the corresponding Javascript library to support KCL embedded in the browser to compile and execute.
    • Pre-research and exploration of JIT compilation execution based on KCL IR
  • Ecological expansion
    • KCL defines API specification: define your own API/CLI/Plugin and other interface definitions through KCL
    • Ecological expansion of multiple domain languages: Support more domain languages ​​and format integration, such as HCL, Jsonnet and Protobuf and other language support.
    • Complete multi-language API construction: support KCL compilation, syntax checking, automatic query modification, etc., serialization/deserialization, KCL code writing and other core API functions, combined with community strength to support Rust/Python/Java/Go and other languages.

See our roadmap documents: https://kusionstack.io/docs/governance/intro/roadmap#kclvm-%E8%B7%AF%E7%BA%BF%E8%A7%84%E5%88%92

Peefy avatar May 24 '22 02:05 Peefy

The roadmap is basically implemented internally, and it needs to be associated with several big goals and directions.

Peefy avatar Aug 31 '22 05:08 Peefy