Dissect is a browser based visualisation tool built to help understand/fix type-errors in Standard ML programs. It is built on top of output generated by Skalpel.
This project is being developed as part of a final year dissertation required for completion of a BSc (Hons) Computer Science Degree at Heriot-Watt University.
You just need to clone this repo, and run the helper script provided! You must have an up-to-date version of Skalpel installed on your machine.
For example:
$ git clone https://github.com/CGA1123/dissect.git
$ cd dissect
$ ./dissect <sml_source_file>
The script should open up your browser to http:/localhost:1337
You'll need to open up the generated file through the browser interface,
The generated file will be in the same folder as the source file you provided,
it will have the same name with .viz.json
appended.
dissect
uses output from skalpel
as its data source for the visualisation.
If you want to generate visualisation output for your own Standard ML program you will need to have skalpel
installed on your local machine.
Build instruction for skalpel can be found here.
NOTE:
Both this project & ultra-group/skalpel@new-output are under heavy development and subject big changes.
The JSON output for skalpel
(and therefore input for dissect
) has not yet been finalised.
At the moment output is generated using the following command $ skalpel -z <outfile> -b 1 <file.sml>
The output provided from skalpel is not directly supported!! JSON outputed by skalpel should be wrapped in a top-level JSON object, with one key "data" containing an array of skalpels output, i.e:
{
"data": [
<JSON AS OUTPUTTED BY SKALPEL>
]
}
This is done to make it easier to support multiple error slice being visualised.
Distributed under the terms of the MIT License.
What are the emojis all about?