Hop (software)

Hop
Paradigmmulti-paradigm
Designed byManuel Serrano
First appeared2006
Stable release
3.6.0 / June 26, 2025; 15 months ago (2025-06-26)
Typing disciplinestrong, dynamic
LicenseGPL 2+
Websitehop.inria.fr Edit this at Wikidata
Influenced by
Scheme
Institut national de recherche en informatique et en automatique
Formation1967
Region served
France

Hop is a Lisp-like programming language by Manuel Serrano for web 2.0 and also the name of the server (server and proxy) that implements this language. It is written in Bigloo Scheme. It is a project funded by INRIA.

Language design

Hop is a stratified language, which means that a single program file contains instructions for both the server and the client. The server executes CPU demanding computations and operations that require system privileges for accessing files or other resources. The clients (of which there may be many such as browsers, cell phones, etc.) are dedicated to executing actions related to the programming of the graphical user interfaces.

(define-service (server-date)             ; 1
  (current-date))                         ; 2

(<HTML>                                   ; 4
  (<BUTTON>                               ; 5
    :onclick ~(with-hop ($server-date)    ; 6
                  (lambda (h) (alert h))) ; 7
      "Server time"))                     ; 8

The code snippet above illustrates a few concepts.

Issues

Given its recent introduction, Hop currently exhibits a number of weaknesses.

References

  1. ↑ http://hop.inria.fr/usr/local/lib/hop/2.2.0/weblets/home/articles/hop-lang/article.html [dead link]
  2. 1 2 YouTube: HOP: A Language for Programming the Web 2.0 starting at 33:50.