Citations

To cite the Hop software, please use the following Biblatex entry.

@software{ hiphop,
   title = {Hop, multitier Web Programming},
   author = {Berry, G{\'e}rard and Serrano, Manuel},
   year = {2011},
   institution = {Inria},
   url = {http://hop.inria.fr/hiphop}
}

For referring to the current release, please use:

@softwareversion{ hop-1.1.2,
  version = {1.1.2},
  year = {2021},
  month = {April},
  file = {ftp://ftp-sop.inria.fr/indes/fp/HipHop/hop-1.1.2},
  crossref = {hop}
}

References

Berry. G. , Serrano M. HipHop.js: (A)Synchronous Web Reactive Programming Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2020), London, UK, Jun, 2020
pdf
We present HipHop.js, a synchronous reactive language that adds synchronous concurrency and preemption to Inspired from Esterel, HipHop.js simplifies the programming of non-trivial temporal behaviors as found in complex web interfaces or IoT controllers and the cooperation between synchronous and asynchronous activities. HipHop.js is compiled into plain sequential and executes on unmodified runtime environments. We use three examples to present and discuss HipHop.js: a simple web login form to introduce the language and show how it differs from and two real life examples, a medical prescription pillbox and an interactive music system that show why concurrency and preemption help programming such temporal applications.
Vidal C., Berry G., Serrano M. Hiphop.js: a language to orchestrate web applications Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018, Pau, France, Apr, 2018
Berry G., Serrano M. Hop and HipHop : Multitier Web Orchestration Proceedings of the ICDCIT 2014 conference, , Feb, 2014
pdf
Rich applications merge classical computing, client-server concurrency, web-based interfaces, and the complex time- and event-based reactive programming found in embedded systems. To handle them, we extend the Hop web programming platform by HipHop, a domain-specific language dedicated to event-based process orchestration. Borrowing the synchronous reactive model of Esterel, HipHop is based on synchronous concurrency and preemption primitives that are known to be key components for the modular design of complex reactive behaviors. HipHop departs from Esterel by its ability to handle the dynamicity of Web applications, thanks to the reflexivity of Hop. Using a music player example, we show how to modularly build a non-trivial Hop application using HipHop orchestration code.
Berry G., Nicolas C., Serrano M. HipHop: A Synchronous Reactive Extension for Hop Proceedings of the PLASTIC'11 workshop, Portland, USA, Oct, 2011
pdf
HOP is a SCHEME-based language and system to build rich multi-tier web applications. We present HIPHOP, a new language layer within HOP dedicated to request and event orchestration. HIPHOP follows the synchronous reactive model of the Esterel and ReactiveC languages, originally developed for embedded systems programming. It is based on synchronous concurrency and preemption primitives, which are known to be key components for the modular design of complex temporal behaviors. Although the language is concurrent, the generated code is purely sequential and thread-free; HIPHOP is translated to HOP for the server side and to straight JavaScript for the client side. With a music playing example, we show how to modularly buid non-trivial orchestration code with HIPHOP