Skip to content

Visual tool to spot odd runtime behaviour of Haskell programs.

Notifications You must be signed in to change notification settings

grin-compiler/haskell-code-spot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.