Dissemin is shutting down on January 1st, 2025

Published in

Cambridge University Press, Theory and Practice of Logic Programming, 4-5(12), p. 755-773, 2012

DOI: 10.1017/s1471068412000336

Links

Tools

Export citation

Search in Google Scholar

Lightweight compilation of (C)LP to JavaScript

Journal article published in 2012 by Jose F. Morales, Rémy Haemmerlé, Manuel Carro, Manuel V. Hermenegildo ORCID
This paper is available in a repository.
This paper is available in a repository.

Full text: Download

Green circle
Preprint: archiving allowed
Red circle
Postprint: archiving forbidden
Red circle
Published version: archiving forbidden
Data provided by SHERPA/RoMEO

Abstract

AbstractWe present and evaluate a compiler from Prolog (and extensions) to JavaScript which makes it possible to use (constraint) logic programming to develop the client side of web applications while being compliant with current industry standards. Targeting JavaScript makes (C)LP programs executable in virtually every modern computing device with no additional software requirements from the point of view of the user. In turn, the use of a very high-level language facilitates the development of high-quality, complex software. The compiler is a back end of the Ciao system and supports most of its features, including its module system and its rich language extension mechanism based onpackages. We present an overview of the compilation process and a detailed description of the run-time system, including the support for modular compilation into separate JavaScript code. We demonstrate the maturity of the compiler by testing it with complex code such as a CLP(FD) library written in Prolog with attributed variables. Finally, we validate our proposal by measuring the performance of some LP and CLP(FD) benchmarks running on top of major JavaScript engines.