Functional Programming

Functional Programming

Functional Programming

Apr 14, 2015

Announcing: stackage-view

Announcing: stackage-view

Announcing: stackage-view

As part of our announcement of open sourcing ide-backend, there was a video demonstrating a tool called “fpview” (that was our internal name for this tool).

Like many of our tools, after some internal development, we're now releasing it open source here at: stackage-view.

It looks like this:


The README documents the features, but here's a quick rundown:

  • Go to definition: You can double-click any identifier to jump straight to the definition.

  • Type information of any expression or pattern binding. Just

    click any identifier to see its type. Alternatively, you can select

    an expression to see the type of that. Hitting the

    <-> expansion button will expand the selection to a parent node.

The first purpose behind the tool was to target general teams of

people who may not all be using the same tooling (Haskellers are

like cats, they prefer to do their own thing!), some users may be

on Emacs, Vim, or Sublime, FP Eclipse, Leksah, etc. whereas this

read-only tool serves as a way to inspect a codebase with handy

information and jumping available.


The second purpose was to serve as a demonstration and acid test for our combination GHCJS and React library ghcjs-react. It makes for

a nice simple-but-non-trivial demonstration of the library. There

is real-world state handling going on, interacting with third-party

APIs (aside from React itself, the Ace editor).


It also serves as a demonstration of using ide-backend programmatically. If you look in the

source of stackage-view you'll see it's quite straight-forward to

use. To build it, you will need the Git version of ide-backend

found here. Currently it cannot be uploaded to Hackage due to an issue with the -dynamic flag.