Rholang Debugging tools
PROJECT
Fiscal Host: Open Source Collective
Tracing sends and identifying the source code identity of unforgable names in the log to facilitate debugging
About
Mature computer languages come with powerful debugging tools. Currently Rholang has no debugging tools. Debugging is tedious and difficult slowing development and requiring greater expertise.
Given adequate tools Rholang programming can be simple because Rholang is a simple language.
Commonly you run your Rholang program and get no result giving you no clue about what is wrong. I preprocessor trace is being considered to insert a send to a trace channel (e.g. stderr, result) filename, line, and text of the receive expression in the "for" statement.
A simple preprocessor that inserts a send in par with the action of a every "for" is an expedient way to make Rholang more usable but not enough to help with some kinds of bugs.
In Rholang our data includes unforgable names. But we have no way to determine the name used and context in the source code of the random sequence of characters seen in the log representing the unforgable name. Name in the source code are replaced by generic x1, x2, x3 and these in tern are assigned actual vales at run time. If we enhance rnode to support a debugging mode mapping both translations we can associate the unforgable names with the name in the contex it has in the source code. This debug mode is a fairly difficult to develop but ultimately necessary for us to resolve really nasty Rholang bugs.
Given adequate tools Rholang programming can be simple because Rholang is a simple language.
Commonly you run your Rholang program and get no result giving you no clue about what is wrong. I preprocessor trace is being considered to insert a send to a trace channel (e.g. stderr, result) filename, line, and text of the receive expression in the "for" statement.
A simple preprocessor that inserts a send in par with the action of a every "for" is an expedient way to make Rholang more usable but not enough to help with some kinds of bugs.
In Rholang our data includes unforgable names. But we have no way to determine the name used and context in the source code of the random sequence of characters seen in the log representing the unforgable name. Name in the source code are replaced by generic x1, x2, x3 and these in tern are assigned actual vales at run time. If we enhance rnode to support a debugging mode mapping both translations we can associate the unforgable names with the name in the contex it has in the source code. This debug mode is a fairly difficult to develop but ultimately necessary for us to resolve really nasty Rholang bugs.
NOTE REGARDING CRYPTOCURRENCY CONTRIBUTIONS (MAY 2023)
The Open Collective platform has disabled cryptocurrency donations. Should you wish to make a donation using cryptocurrency, please contact us through this platform, using the Contact function.
The Open Collective platform has disabled cryptocurrency donations. Should you wish to make a donation using cryptocurrency, please contact us through this platform, using the Contact function.
Our team
ReshP
Core Contributor
Jim Whitescarver
Admin
Felix
Core Contributor
Mcwig
Core Contributor
Rafzalan
Core Contributor
kunj
Core Contributor
David Asamonye
Core Contributor
rapiddenis
Core Contributor
momchilov
Core Contributor
Peter Harris
Admin
Ottotto
Core Contributor
Mopsy
Core Contributor
frank.scheuer
Core Contributor
Steve
Core Contributor
CoolDrT_gb
Core Contributor
TonyTQL
Core Contributor
Tom
Core Contributor
NeilD
Core Contributor
Valentine
Core Contributor
Haider
Core Contributor
Toby
Core Contributor
DarrylN
Core Contributor
John Tewksbury
Core Contributor
Dan Connolly
Admin
patrickmockri...
Admin
Contribute
Become a financial contributor.