Frequently Asked Questions

How does Fluid work? When you load a Fluid visualisation, the interpreter builds a dependence graph capturing how data flows through the program. This graph is used to add various interactions to the chart (so that, for example, selecting an element in the output highlights the corresponding parts of the input). See our ESOP 2025 preprint for details.

Why not do this for Python/R/Julia? Fine-grained dependency tracking for Python or R would be difficult: both languages have key libraries that depend heavily on C. Julia has less of a C dependency and could be a feasible target, although it would still probably require modifying the interpreter. Our approach is to develop a pure functional dialect of Python, for which we can then provide our own version of libraries like numpy.

What's next for the language? Most likely a gradual type system, better tooling and performance improvements.