ghclive: Interactive Haskell interpreter in a browser.

[ application, bsd3, compilers-interpreters, library, program, web ] [ Propose Tags ] [ Report a vulnerability ]

ghclive is an interactive multi-user Haskell interpreter in a browser. It mixes a pastebin with an interpreter and is designed for remote teaching.


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.1.0.1, 0.1.0.2
Dependencies aeson (>0.6 && <0.7), base (>=4 && <5), blaze-html (>0.5), blaze-markup (>0.5), bytestring (>0.9), containers (>0.4), diagrams-lib (>0.5), diagrams-svg (>0.3), directory, file-embed (>0.0.4), ghc-prim, ghclive (>0.0.1), hint (>=0.3 && <0.4), mtl (>=2.0 && <3), text (>0.11), time (>1.3), unix, unordered-containers (>0.2), vector (>0.9), wai (>=1.3 && <1.4), wai-websockets (>1.3), warp (>=1.3 && <1.4), websockets, yesod (>=1.1 && <1.2), yesod-static [details]
License BSD-3-Clause
Author Shae Erisson
Maintainer shae@ScannedInAvian.com
Category Web, Compilers/Interpreters, Application
Home page http://github.com/shapr/ghclive/
Source repo head: git clone http://github.com/shapr/ghclive
Uploaded by ShaeErisson at 2012-08-20T21:14:37Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables ghclive
Downloads 2736 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for ghclive-0.1.0.2

[back to package description]

ghclive

Google Summer of Code 2012 project, GHCi for the web

Requirements

Chrome 21.x Firefox 14.x

Does not work with Firefox 10

Quick start installation

git clone https://github.com/shapr/ghclive.git && cd ghclive && cabal install && ghclive then point your browser to http://localhost:3000

Here's some source code to paste into the editor buffer:

import Diagrams.Prelude
import Prelude
import Network.Web.GHCLive.Display

hilbert = iterate expand mempty where
  expand t = alignBL $ hcat [u, hrule 1, reflectX u] where
             u = vcat [t, vrule 1, rotateBy (3/4) t]

ex = pad 1.1 . centerXY . lw 0.05 $ hilbert!!5

then type ex in the Haskell expression buffer and hit enter!

Prototypes

The prototypes subdirectory contains several quick hacks demonstrating various concepts.