Visual tool to spot odd runtime behaviour of Haskell programs.
Go to file
2021-11-16 13:59:09 +01:00
client bump version of rollup-plugin-svelte to work with newer nodejs versions 2021-11-16 13:59:09 +01:00
data GRIN eventlog with -N4 2020-06-12 21:50:06 +02:00
doc new screenshot 2020-07-27 13:28:05 +02:00
server make ext-stg/ghc-wpc optional ; modpak endpoints 2020-09-28 19:26:23 +02:00
.gitignore Gitignore 2020-06-12 19:25:21 +03:00
desgin-notes add notes 2020-07-27 12:29:08 +02:00
eventlog-notes add notes 2020-07-27 12:29:08 +02:00
README.md Update README.md 2021-02-24 17:52:20 +01:00

Haskell Code Spot

Visual tool to spot odd runtime behaviour of Haskell programs.
Keywords: data scientist, GHC eventlog, UI experiments, creative/live coding

NOTE: GHC-WPC is optional, Haskell Code Spot works with vanilla GHC eventlog out of the box.

Blog

Learn these for coding

Quick Start Guide

In one terminal:

$ (cd server && stack build && stack exec code-spot-server)

In another terminal:

$ (cd client/src && npm install && npm run dev)

Now open http://localhost:5000/ in your browser!

You will see a visualisation of data/grin.eventlog (change in client/src/App.svelte).

How to build your eventlog

If stack project is used, profiling must be enabled. After compiled with profiling, one need to run it with RTS options plh.

stack build --profile --executable-profiling --library-profiling
stack exec --profile EXECUTABLE -- ARGUMENTS +RTS -p -l -h

Previews:

This project is still in the proof-of-concept phase, but we had a great fun implementing the initial version of heap inspections and the step-by-step debugger. All of these features are based on visualizing the EventLog from GHC.

Heap Live

Heap Size

Cost Center based stack trace in step-by-step style. See the demo video.