CHR.js']js: A CHR Implementation in Java']JavaScript

被引:3
|
作者
Nogatz, Falco [1 ]
Fruhwirth, Thom [2 ]
Seipel, Dietmar [1 ]
机构
[1] Univ Wurzburg, Dept Comp Sci, D-97074 Wurzburg, Germany
[2] Ulm Univ, Inst Software Engn & Programming Languages, D-89069 Ulm, Germany
来源
关键词
Constraint handling rules; !text type='Java']Java[!/text]Script; Compiler; CONSTRAINT HANDLING RULES; PROLOG;
D O I
10.1007/978-3-319-99906-7_9
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Constraint Handling Rules (CHR) is usually compiled to logic programming languages. While there are implementations for imperative programming languages such as C and Java, its most popular host language remains Prolog. In this paper, we present CHR.JS, a CHR system implemented in JavaScript, that is suitable for both the server-side and interactive client-side web applications. CHR.JS provides (i) an interpreter, which is based on the asynchronous execution model of JavaScript, and (ii) an ahead-of-time compiler, resulting in synchronous constraint solvers with better performances. Because of the great popularity of JavaScript, CHR.JS is the first CHR system that runs on almost all and even mobile devices, without the need for an additional run-time environment. As an example application we present the CHR.JS Playground, an offline-capable web-interface which allows the interactive exploration of CHRs in every modern browser.
引用
收藏
页码:131 / 146
页数:16
相关论文
共 50 条
  • [1] igv.js']js: an embeddable Java']JavaScript implementation of the Integrative Genomics Viewer (IGV)
    Robinson, James T.
    Thorvaldsdottir, Helga
    Turner, Douglass
    Mesirov, Jill P.
    BIOINFORMATICS, 2023, 39 (01)
  • [2] Math.js']js: An Advanced Mathematics Library for Java']JavaScript
    de Jong, Jos
    Mansfield, Eric
    COMPUTING IN SCIENCE & ENGINEERING, 2018, 20 (01) : 20 - 32
  • [3] From bytecode to Java']JavaScript: the Js']Js_of_ocaml compiler
    Vouillon, Jerome
    Balat, Vincent
    SOFTWARE-PRACTICE & EXPERIENCE, 2014, 44 (08): : 951 - 972
  • [4] LittleC.js']js: A Lightweight, Minimal, Extensible, and Embeddable Java']JavaScript Implementation of the C Programming Language
    Federici, Stefano
    PROCEEDINGS OF THE 2ND INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND COGNITIVE INFORMATICS, 2015, : 67 - 71
  • [5] JS']JSExplain: A Double Debugger for Java']JavaScript
    Chargueraud, Arthur
    Schmitt, Alan
    Wood, Thomas
    COMPANION PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE 2018 (WWW 2018), 2018, : 691 - 699
  • [6] BUGSJS']JS: A Benchmark of Java']JavaScript Bugs
    Gyimesi, Peter
    Vancsics, Bela
    Stocco, Andrea
    Mazinanian, Davood
    Beszedes, Arpad
    Ferenc, Rudolf
    Mesbah, Ali
    2019 IEEE 12TH CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2019), 2019, : 90 - 101
  • [7] JS']JSXGraph - Dynamic Mathematics with Java']JavaScript
    Gerhaeuser, Michael
    Valentin, Bianca
    Wassermann, Alfred
    INTERNATIONAL JOURNAL FOR TECHNOLOGY IN MATHEMATICS EDUCATION, 2010, 17 (04): : 211 - 215
  • [8] JS']JSOD: Java']JavaScript obfuscation detector
    AL-Taharwa, Ismail Adel
    Lee, Hahn-Ming
    Jeng, Albert B.
    Wu, Kuo-Ping
    Ho, Cheng-Seen
    Chen, Shyi-Ming
    SECURITY AND COMMUNICATION NETWORKS, 2015, 8 (06) : 1092 - 1107
  • [9] astrojs']js: Java']JavaScript Libraries for Astronomy
    Kapadia, Amit
    Smith, Arfon
    ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXII, 2013, 475 : 299 - 302
  • [10] ACDC-JS']JS: Explorative Benchmarking of Java']JavaScript Memory Management
    Aigner, Martin
    Miller, Alexander
    Huetter, Thomas
    Payer, Hannes
    Kirsch, Christoph M.
    Preishuber, Mario
    ACM SIGPLAN NOTICES, 2015, 50 (02) : 67 - 78