diff options
author | Kartik Agaram <vc@akkartik.com> | 2019-02-25 00:17:46 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2019-02-25 01:50:53 -0800 |
commit | c442a5ad806b6cccbb3ec4c5744b14b0c1f31a01 (patch) | |
tree | 318fb1d56e7ee3c750635d3326ad0739dfdacefe /Readme.md | |
parent | e5998f74ac29bb4bf2aedfdd6fbea801ffdb08f6 (diff) | |
download | mu-c442a5ad806b6cccbb3ec4c5744b14b0c1f31a01.tar.gz |
4987 - support `browse_trace` tool in SubX
I've extracted it into a separate binary, independent of my Mu prototype. I also cleaned up my tracing layer to be a little nicer. Major improvements: - Realized that incremental tracing really ought to be the default. And to minimize printing traces to screen. - Finally figured out how to combine layers and call stack frames in a single dimension of depth. The answer: optimize for the experience of `browse_trace`. Instructions occupy a range of depths based on their call stack frame, and minor details of an instruction lie one level deeper in each case. Other than that, I spent some time adjusting levels everywhere to make `browse_trace` useful.
Diffstat (limited to 'Readme.md')
-rw-r--r-- | Readme.md | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/Readme.md b/Readme.md index 54af1049..f1dd1be6 100644 --- a/Readme.md +++ b/Readme.md @@ -403,7 +403,19 @@ c) Try running the tests: d) Check out [the programming environment](https://github.com/akkartik/mu/tree/master/edit#readme), the largest app built so far in Mu. -e) Look at the `build` scripts. Mu's compilation process is itself designed to +e) Check out the tracing infrastructure which gives you a maps-like zoomable +UI for browsing Mu's traces: + + ```shell + $ ./mu --trace nqueens.mu # just an example + saving trace to 'last_run' + $ ./browse_trace/browse_trace last_run + # hit 'q' to exit + ``` + +For more details see the [Readme](browse_trace/Readme.md). + +f) Look at the `build` scripts. Mu's compilation process is itself designed to support staged learning. Each of the scripts (`build0`, `build1`, `build2`, etc.) is self-contained and can compile the project by itself. Successive versions add new features and configurability -- and complexity -- to the |