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

被引:2
|
作者
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.
    [J]. BIOINFORMATICS, 2023, 39 (01)
  • [2] Math.js']js: An Advanced Mathematics Library for Java']JavaScript
    de Jong, Jos
    Mansfield, Eric
    [J]. 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
    [J]. 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
    [J]. PROCEEDINGS OF THE 2ND INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTING AND COGNITIVE INFORMATICS, 2015, : 67 - 71
  • [5] JS']JSXGraph - Dynamic Mathematics with Java']JavaScript
    Gerhaeuser, Michael
    Valentin, Bianca
    Wassermann, Alfred
    [J]. INTERNATIONAL JOURNAL FOR TECHNOLOGY IN MATHEMATICS EDUCATION, 2010, 17 (04): : 211 - 215
  • [6] JS']JSExplain: A Double Debugger for Java']JavaScript
    Chargueraud, Arthur
    Schmitt, Alan
    Wood, Thomas
    [J]. COMPANION PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE 2018 (WWW 2018), 2018, : 691 - 699
  • [7] BUGSJS']JS: A Benchmark of Java']JavaScript Bugs
    Gyimesi, Peter
    Vancsics, Bela
    Stocco, Andrea
    Mazinanian, Davood
    Beszedes, Arpad
    Ferenc, Rudolf
    Mesbah, Ali
    [J]. 2019 IEEE 12TH CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2019), 2019, : 90 - 101
  • [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
    [J]. SECURITY AND COMMUNICATION NETWORKS, 2015, 8 (06) : 1092 - 1107
  • [9] astrojs']js: Java']JavaScript Libraries for Astronomy
    Kapadia, Amit
    Smith, Arfon
    [J]. ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XXII, 2013, 475 : 299 - 302
  • [10] KCF.js']js: A Java']Javascript Library for Knowledge Cards Fusion
    Wang, Haofen
    Fang, Zhijia
    Ruan, Tong
    [J]. PROCEEDINGS OF THE 25TH INTERNATIONAL CONFERENCE ON WORLD WIDE WEB (WWW'16 COMPANION), 2016, : 267 - 270