What future features do we have in mind for Comma? Here's what we're planning.
View Raku-level concurrency in the timeline view
Provide insight into threads, locks,
awaits and parallel loops without the need to instrument
start blocks, and
shipped so far.)
Extract base class or role feature
Add a refactor to extract some methods or attributes to a base class or role. (Basic version shipped, more features to come.)
Annotate some regex infinite loops
Annotate constructs such as
<.ws>* and other quantified zero-width
elements that might cause a Raku regex to not progress.
(Intraprocedural analysis implemented, interprocedural to come.)
Provide in-IDE support for creating a release of a module, uploading it to the Zef ecosystem.
Heap snapshot history
Implement navigation back through the history of viewed objects in a heap snapshot.
Exclude loaded meta-objects in heap snapshots
Heap snapshots include numerous objects representing types and routines from the Raku standard library or from libraries. These can distract from seeing how memory is being used at runtime.
Trigger heap snapshot collection from the debugger
Provide a way to capture a heap snapshot while debugging.
Occasional heap snapshot collection
Provide options for configuring heap snapshot collection to take place at different intervals, rather than happening on every single GC, which results in a huge amount of data being collected in a longer-running process.
View GC runs in the timeline view
Provide a means to see when GC runs take place in the timeline view.
View outstanding awaits in the debugger
Provide visibility into code suspended at an
await expression that
has yet to produce a result, to help better understand stuck programs.
Code evaluation in the debugger
Add the ability to evaluate Raku expressions in the debugger.
Concurrency bug analysis
Identify and report on common mistakes that might be made when working with Raku concurrency and parallelism features.