Skip to content
This repository has been archived by the owner on Jun 29, 2021. It is now read-only.
/ dissect Public archive

A tool to visualise type error slices generated by Skalpel

License

Notifications You must be signed in to change notification settings

CGA1123/dissect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Dissect: Visualise Skalpel Type-Error Slices

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.

Installing

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.

Dependencies

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.

Licence

Distributed under the terms of the MIT License.


What are the emojis all about?

About

A tool to visualise type error slices generated by Skalpel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published