LLR-based interpreter #5468
Labels
a:language-interpreted
Interpreter implementation and Rust API for it (slint-interpreter crate) (mO,bT)
enhancement
New feature or request
The current interpreter is trying to interpret the data structures from the compiler's object_tree.
It doesn't use the LLR that was written to reduce duplication between Rust and C++ generator.
But it could try to interpret the LLR instead.
(The LLR stands for low level representation, and is a representation of the Slint file suitable for compilation. It's datastructures are in the
i-slint-compiler::llr
module)Advantages:
Send
and serializable, and we could do the compilation in another thread or process than the visualization. (So the LSP's preview could show a spinner indicator when the preview is being re-compiled)(If we re-write the interpreter like so, it might also be worth considering not using the dynamic_type approach that uses lots of unsafe, but use another approach that put each Item and property on the heap. This would remove lots of complex unsafe code which is currently in the interpreter)
The text was updated successfully, but these errors were encountered: