Motivation: DAPHNE has its own domain-specific language for integrated data analysis pipelines called DaphneDSL. DaphneDSL syntax is inspired by languages like Python, R, and C. Tooling support for these languages makes working with them not just easier, but also more enjoyable. DaphneDSL is currently lacking tooling such as syntax highlighting or auto completion. Popular tools such as tree-titter and the Language-Server-Protocol (LSP) help to make it possible for languages to have editor agnostic tooling support. DaphneDSL is lowered to DaphneIR in our MLIR based compiler. MLIR already provides LSP support for .mlir files, but not for custom dialects such as DaphneIR.
Task: Bring popular language tooling features to DaphneDSL and DaphneIR. This should include syntax highlighting, goto definition, and more complicated features such as autocompletion, hover, diagnostics, and display inlay hints such as inferred type and shape information to the developer.
The goal is to bring these language tooling features to DaphneDSL through an LSP client with support for the popular text editor VS Code. Clients for other editors can also be developed. For DaphneIR we want to extend the mlir-lsp-server following their documentation.
Motivation: DAPHNE has its own domain-specific language for integrated data analysis pipelines called DaphneDSL. DaphneDSL syntax is inspired by languages like Python, R, and C. Tooling support for these languages makes working with them not just easier, but also more enjoyable. DaphneDSL is currently lacking tooling such as syntax highlighting or auto completion. Popular tools such as tree-titter and the Language-Server-Protocol (LSP) help to make it possible for languages to have editor agnostic tooling support. DaphneDSL is lowered to DaphneIR in our MLIR based compiler. MLIR already provides LSP support for
.mlir
files, but not for custom dialects such as DaphneIR.Task: Bring popular language tooling features to DaphneDSL and DaphneIR. This should include syntax highlighting, goto definition, and more complicated features such as autocompletion, hover, diagnostics, and display inlay hints such as inferred type and shape information to the developer.
The goal is to bring these language tooling features to DaphneDSL through an LSP client with support for the popular text editor VS Code. Clients for other editors can also be developed. For DaphneIR we want to extend the
mlir-lsp-server
following their documentation.Resources: VS Code Language Server Extension Guide Minimum Viable VS Code Language Server Extension MLIR LSP