version 0.3.0


HipHop.js: Synchronous Multitier JavaScript Reactive Programming

HipHop.js is an Hop.js DLS for orchestrating web applications. HipHop.js helps programming and maintaining Web applications where the orchestration of asynchronous tasks is complex.

How to use it?

Pretty simple:

You are now ready.


Here is a seminal example of synchronous programming languages. This program simulates a machine that has three input buttons. It waits for buttons A and B to be clicked before emitting the signal "O". The machine is reset when button "R" is pressed, whatever its current state.

"use hiphop";

service abro() {
   return <html>
       <script src="hiphop" lang="hopscript"/>
       <script defer>
          hiphop machine prg( in A, in B, in R, out O ) {
             do {
                fork {
                   await( );
                } par {
                   await( );
                emit O();
             } every( )
          prg.addEventListener( "O", v => alert( "got O: " + v ) );
       <button onclick=~{prg.react( "A" )}>A</button>
       <button onclick=~{prg.react( "B" )}>B</button>
       <button onclick=~{prg.react( "R" )}>R</button>