Ideas Lab

Real problems people complain about online, pulled every morning and scored out of 100. Build, validate, or skip. How scoring works

Ideas
4,820
BUILD
702
Sources
8
Last sync
2h ago
210 ideas
Design & Creative

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:

GitHub4y agoToolDesign & Creative

65FL score
0Sign in to vote