Live programming ideas

This is a meta issue to describe what we want to implement in relation to live programming: * [ ] Line counting: now that the Erlang VM JIT supports [built-in code coverage](https://www.erlang.org/doc/apps/kernel/code.html#get_coverage/2), we can probably enable it for modules either by default, via a configuration or via a Kino function, and show line counts directly on the gutter * [ ] Variable explorer: this is a feature known in many notebook platforms but those platforms have global state. A variable explorer in Livebook would need to be per cell. This probably requires a side-pane or similar alongside the cell to list variables with previews of their content (perhaps even a good opportunity to add a general search/autocomplete tied to the cell). See previous issue #179. * [x] Module explorer: we can show which modules each section defines under the Sections pane in the sidebar * [x] Example-live programming: the canonical introduction, "Usable Live Programming", introduces two concepts: probes and traces. In Elixir, we could translate those to doctests and `dbg`. The idea is to automatically run doctests and have their output in a specific frame with a re-run button. * [ ] dbg time slicing: currently `dbg` only keeps the first/last value. We want to allow it to register several values but, not only that, have a frame that shows have the values of multiple `dbg`s changed over time, in order. For example with you have a loop with a nested loop, we should have all `dbg` in order and control how they were emitted. See proof of concept here: https://szymonkaliski.com/projects/live-coding-livebook --- References on probing/example-based live programming: * [Usable live programming](https://www.microsoft.com/en-us/research/publication/usable-live-programming/) * [Example-based live programming for everyone: building language-agnostic tools for live programming with LSP and GraalVM](https://dl.acm.org/doi/10.1145/3426428.3426919) * [Log-it:

GitHubToolDesign & CreativeSource
0Sign in to voteCopy link

FL score

65

out of 100

Verdict

VALIDATE

high confidence

Competition

No competitor data yet

Trend

No signal yet

A set of live programming enhancements for Elixir's Livebook to improve code coverage visibility, variable inspection, and debugging.

The pain

Developers using Livebook and Elixir lack integrated live programming tools that provide real-time insights into code execution and state per cell.

The gap

Existing notebook platforms do not support per-cell variable exploration or advanced live debugging features tailored to Elixir's runtime.

Build angle

The features leverage Erlang VM capabilities and Livebook's architecture, making it feasible for a small team or individual to implement incrementally.

Strengths

  • Leverages existing Erlang VM and Livebook infrastructure
  • Addresses a real pain point for Elixir developers
  • Modular features allow phased development and testing

Risks

  • Niche market limits monetization and growth potential
  • Unclear if users will pay for these enhancements
  • Requires deep technical expertise and maintenance effort

Questions about this idea?

FlyBot reads the scoring and gives you a second opinion on “Live programming ideas”.

Open FlyBot