announcing hadui - a web front UI for interactive stack projects

13 views
Skip to first unread message

Compl Yue

unread,
Oct 22, 2019, 6:16:22 AM10/22/19
to haskell-stack
Hello Haskellers here,

I started Haskelling recently and found `stack` the de-facto tool for that purpose, with modern software engineering capabilities. 

I'm driven by interactive plotting needs of internal demands from my team, and after disappointed by IHaskell and some other openly available pieces, I decided to roll my own  tool. It progressed so far to come with hadui https://github.com/complyue/hadui . I'm going to integrate BokehJS into it.

hadui is tightly coupled with `stack`, I'd like you folks to have a look at it and let me know your thoughts about.

hadui-demo-2-fe.png



Best regards,
Compl

Compl Yue

unread,
Oct 23, 2019, 3:33:23 AM10/23/19
to haskell-stack
I have updated the home page with more info, copy to here to keep you posted.
There're new examples added too, please checkout the home page.


Orientation

hadui is data science oriented, it is not suitable as a general purpose web framework.

all exported functions from all modules in the stack project of matter, are exposed to frontend in a flat space. this is ideal to support analytical workflows, but overly open or even prohibitive to support business workflows.

Platform Support

  • macOS - regularly used on Mojave
  • Linux - regularly used on Ubuntu 18.04
  • Windows - should work in Docker in theory, not attempted yet

GHC

currently you have to be comfortable to compile yourself an experimental version of GHC 8.6.5 with :frontend cmd to start using hadui.

do this trick to incorporate it into your stack's GHC installation.

the mod to GHC is very light, should be no difficulty to migrate to other GHC versions, but as time being, not attempted yet. a MR to GHC is thought of but not carried out yet.

Compl Yue

unread,
Oct 26, 2019, 3:29:14 AM10/26/19
to haskell-stack
Some updates, excerpt from the home page https://github.com/complyue/hadui

Orientation

hadui is data science oriented, It is not suitable as a general purpose web framework.

All exported functions from all modules in the stack project of matter, are exposed to frontend in a flat name space. this is ideal to support analytical workflows, but overly open or even prohibitive to support business workflows.

Support (or lack thereof)

Commercial support has not been planned, community is not formed yet, but hadui is an important part of my internal tool chain at work, it is:

  • macOS - regularly used on Mojave
  • Linux - regularly used on Ubuntu 18.04
  • Windows - should work in Docker in theory, not attempted yet

GHC and Stack

hadui is geared to run upon the latest LTS Haskell supported by Stackage, but currently an experimental version of GHC 8.6.5 is necessarily used as the compiler, while it can be automatically installed by stack for macOS and Linux on x64 hardware. You are encouraged to compile from source if on other platforms or the automatically installed bindist does not work for you.

The mod to GHC is very light - simply added :frontend cmd to allow a Frontend plugin be used with GHCi mode, (pending issue at https://gitlab.haskell.org/ghc/ghc/issues/17348) it should be no difficulty to migrate to other GHC versions. so far an MR to GHC is thought of but not carried out yet. Until the official stock release of GHC has it merged, I would be maintaining custom branches matching the GHC version chosen by latest LTS Haskell which is 8.6.5 by lts 14.11 at time of speaking.

Typical Usage

Data analysts use a browser to submit scripts (in native Haskell, for parameters, simple job control etc.) to trigger number crunching in the backend (a single Haskell process or a swarm of computing nodes), and to see results plotted back to the browser - more windows opened to show Bokeh figures (this feature yet under construction).

hadui-vscode-int-fe

Programmers have hadui-dev as the default build tool run an ever going build task in their HIE enabled VSCode environment, to develop crunching code in stack projects.

hadui-vscode-int-be


Reply all
Reply to author
Forward
0 new messages