What is Percival (percival.ink)?

Updated

Percival is a declarative data query and visualization language for exploring complex datasets, producing interactive graphics, and sharing results. It is aimed at people who need to query data and turn the results into interactive visuals, rather than at general website or application building. If you want a single tool that combines querying and visualization in one declarative language, Percival is in that category; if you only need to drop a chart onto a page or write a general-purpose program, it is not the same kind of tool.

What Percival is

Percival is described as a declarative language. That means you describe what result you want — the query and the visual output — rather than writing step-by-step imperative code for every transformation and drawing operation.

Its stated scope covers three connected tasks:

  • Querying data — exploring complex datasets.
  • Visualizing data — producing interactive graphics.
  • Sharing results — distributing the outputs you create.

What problem it solves

Working with complex datasets often means stitching together separate tools: one for querying, another for charting, and more for making the result interactive or shareable. Percival's premise is to handle query and visualization in a single declarative language, so the path from data to an interactive graphic is shorter and expressed in one place.

How it differs from neighboring tools

Category Typical focus How Percival relates
General-purpose programming language Any software task Percival is specialized for data query and visualization, not general application logic
Ordinary charting tool Drawing a chart from prepared data Percival also covers querying complex datasets and sharing interactive results
Declarative visualization language Describing visual output Percival pairs that with data querying as part of the same language

Who it is for

Percival fits people who:

  • Work with complex datasets and need to explore them.
  • Want interactive graphics, not just static images.
  • Need to share the results of their analysis.
  • Prefer a declarative approach over assembling multiple tools or writing imperative plotting code.

It is not positioned as a general website builder or a replacement for a full programming language.

The short answer

Percival is a declarative language that unifies data querying and interactive visualization, so you can explore complex datasets, produce interactive graphics, and share the results — all within one language rather than across several separate tools.