Skip to content


Subversion checkout URL

You can clone with
Download ZIP
tree: 7e24c140da
Fetching contributors…

Cannot retrieve contributors at this time

169 lines (130 sloc) 8.759 kB
<!DOCTYPE html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>The Utrecht Haskell Compiler JavaScript Backend Page - Utrecht Haskell Compiler: JavaScript back end</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" media="all" />
<link rel="stylesheet" type="text/css" href="css/bootstrap-responsive.min.css" media="all" />
<link rel="stylesheet" type="text/css" href="css/prettify.css" media="all" />
<link rel="stylesheet" type="text/css" href="css/application.css" media="all" />
<!-- <link rel="stylesheet" type="text/css" href="syntax.css" media="all" /> -->
<!-- <link rel="stylesheet" type="text/css" href="style.css" media="all" /> -->
<div class="container">
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<a class="brand" href="#"><img src="images/uhc-logo.png" alt="" title=""/></a>
<div class="nav-collapse">
<ul class="nav">
<li class="active">
<a href="/uhc-js/">Home</a>
<li class="">
<a href="/uhc-js/documentation.html">Documentation</a>
<div id="header">
<h1>The Utrecht Haskell Compiler JavaScript Backend Page</h1>
<div id="body">
<div class='container'>
<div class='row'>
<div class='span3 bs-docs-sidebar'>
<ul class='nav nav-list bs-docs-sidenav' data-offset-top='132' data-spy='affix'>
<!-- <li><a href="#getting_started">Getting Started</a></li><li><a href="#communicating_with_javascript">Communicating with JavaScript</a></li><li class="active"><a href="#examples__practice">Examples / Practice</a></li> -->
<div class='span9 content'>
<div class='alert'>
This page is currently under construction. In the mean time please
consider looking at the reports <a href=''>Improving the
UHC JavaScript Backend</a> (Jurriën Stutterheim) and <a href=''>Getting
Rid of JavaScript with Haskell</a> (Alessandro Vermeulen). Also take a look at
<a href=''>Haskell:
The JavaScript Problem</a>.
<h2 id='a_short_introduction_how_to_get_started'>A short introduction: how to get started</h2>
<p>Please report bugs in the UHC-JS backend or in the UHC-JS library in the <a href=''>GitHub Issue Tracker</a>. Please note that UHC related issues will eventually get their own issue tracker once the UHC has been moved to GitHub. Also consider joining <a href='irc://'>#uhcjs</a> on FreeNode.</p>
<h2 id='demo'>Demo</h2>
<p>The JCU app discussed in &#8220;Getting Rid of JavaScript with Haskell&#8221; has been put online by <a href=''>Chris Done</a>.</p>
<p>Go to the <a href=''>instance</a>. And log in with username &#8220;; and password &#8220;123456&#8221;. And check out the <a href=''>source code</a>. For installation instructions please refer to the section &#8220;Locations and Setup&#8221; in &#8220;Getting Rid of JavaScript with Haskell&#8221;.</p>
<h2 id='resources'>Resources</h2>
<li><a href=''>Improving the UHC JavaScript Backend</a> - Jurriën Stutterheim</li>
<li><a href=''>Getting Rid of JavaScript with Haskell</a> - Alessandro Vermeulen</li>
<li><a href=''>The JavaScript Problem (Haskell Wiki)</a></li>
<li><a href=''>The UHC Blog</a></li>
<li><a href=''>The UHC Wiki</a> and <a href=''>Getting started</a>. Be sure to pick the <a href=''>js</a> branch on the repo for latest developments.</li>
<li><a href=''>UHC JS Backend Quick Start</a> - Chris Done</li>
<li><a href=''>Client-Side Haskell code</a> - Alessandro Vermeulen</li>
<h2 id='installation_instructions'>Installation instructions</h2>
<p>Clone the latest version of the JavaScript branch of UHC. This is somewhat risky but new features will be found here first.</p>
<p>Make sure you have the dependencies, also make sure you have GHC installed:</p>
<div class='highlight'><pre><code class='bash'>cabal install uulib uuagc
<p>Now build the UHC:</p>
<div class='highlight'><pre><code class='bash'><span class='lineno'>1</span> <span class='nv'>$&gt;</span> <span class='nb'>cd </span>somewhere
<span class='lineno'>2</span> <span class='nv'>$&gt;</span> git clone git://
<span class='lineno'>3</span> <span class='nv'>$&gt;</span> <span class='nb'>cd </span>uhc
<span class='lineno'>4</span> <span class='nv'>$&gt;</span> git checkout js
<span class='lineno'>5</span> <span class='nv'>$&gt;</span> <span class='nb'>cd </span>EHC
<span class='lineno'>6</span> <span class='nv'>$&gt;</span> autoconf
<span class='lineno'>7</span> <span class='nv'>$&gt;</span> ./configure
<span class='lineno'>8</span> <span class='nv'>$&gt;</span> make uhc
<p>Optionally perform a <code>make install</code>.</p>
<h3 id='installation_script_for_jcuhs'>Installation script for JCU-HS</h3>
<p>An installation script for installing the JCU app together with its dependencies is available from <a href='' title='A Ruby Script to install JCU and dependencies.'>this gist</a>. Currently the script does <strong>not</strong> build nor install UHC for you.</p>
<p>If you trust us you may run the following command directly from your shell. It will run the installer in your current working directory:</p>
<div class='highlight'><pre><code class='ruby'><span class='n'>ruby</span> <span class='o'>&lt;</span><span class='p'>(</span><span class='n'>curl</span> <span class='o'>-</span><span class='n'>s</span> <span class='n'>https</span><span class='ss'>:/</span><span class='o'>/</span><span class='n'>raw</span><span class='o'>.</span><span class='n'>github</span><span class='o'>.</span><span class='n'>com</span><span class='o'>/</span><span class='n'>gist</span><span class='o'>/</span><span class='mi'>1902090</span><span class='o'>/</span><span class='n'>e2a0508cea4bd4bc3abeed87b054e32e1c99931e</span><span class='o'>/</span><span class='n'>install</span><span class='o'>.</span><span class='n'>rb</span><span class='p'>)</span>
<p>Follow the on screen instructions when running the installer.</p>
<script src="js/jquery-1.8.0.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript" src="js/prettify.js"></script>
<script type="text/javascript" src="js/lang-hs.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-28927322-1']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
<script type="text/javascript">
$(function() {
window.prettyPrint && prettyPrint();
var $sidenav = $('.bs-docs-sidenav');
$('.content h2').each(function(i, header) {
var $header = $(header);
var li = $('<li><a href="#' + $header.attr('id') + '">' + $header.text() + '</a></li>')
Jump to Line
Something went wrong with that request. Please try again.