CHR.js: A CHR Implementation in JavaScript View Full Text


Ontology type: schema:Chapter     


Chapter Info

DATE

2018

AUTHORS

Falco Nogatz , Thom Frühwirth , Dietmar Seipel

ABSTRACT

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 runtime 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. More... »

PAGES

131-146

References to SciGraph publications

  • 2001. Adaptive Constraint Handling with CHR in Java in PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING — CP 2001
  • 2004. The Refined Operational Semantics of Constraint Handling Rules in LOGIC PROGRAMMING
  • 2005. Analyses, Optimizations and Extensions of Constraint Handling Rules: Ph.D. Summary in LOGIC PROGRAMMING
  • 2015. Constraint Handling Rules - What Else? in RULE TECHNOLOGIES: FOUNDATIONS, TOOLS, AND APPLICATIONS
  • 1999. Compiling Constraint Handling Rules into Prolog with Attributed Variables in PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING
  • 2008. CHR for Imperative Host Languages in CONSTRAINT HANDLING RULES
  • Book

    TITLE

    Rules and Reasoning

    ISBN

    978-3-319-99905-0
    978-3-319-99906-7

    Identifiers

    URI

    http://scigraph.springernature.com/pub.10.1007/978-3-319-99906-7_9

    DOI

    http://dx.doi.org/10.1007/978-3-319-99906-7_9

    DIMENSIONS

    https://app.dimensions.ai/details/publication/pub.1106333291


    Indexing Status Check whether this publication has been indexed by Scopus and Web Of Science using the SN Indexing Status Tool
    Incoming Citations Browse incoming citations for this publication using opencitations.net

    JSON-LD is the canonical representation for SciGraph data.

    TIP: You can open this SciGraph record using an external JSON-LD service: JSON-LD Playground Google SDTT

    [
      {
        "@context": "https://springernature.github.io/scigraph/jsonld/sgcontext.json", 
        "about": [
          {
            "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/0803", 
            "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
            "name": "Computer Software", 
            "type": "DefinedTerm"
          }, 
          {
            "id": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/08", 
            "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
            "name": "Information and Computing Sciences", 
            "type": "DefinedTerm"
          }
        ], 
        "author": [
          {
            "affiliation": {
              "alternateName": "University of W\u00fcrzburg", 
              "id": "https://www.grid.ac/institutes/grid.8379.5", 
              "name": [
                "University of W\u00fcrzburg"
              ], 
              "type": "Organization"
            }, 
            "familyName": "Nogatz", 
            "givenName": "Falco", 
            "id": "sg:person.014750135572.53", 
            "sameAs": [
              "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014750135572.53"
            ], 
            "type": "Person"
          }, 
          {
            "affiliation": {
              "alternateName": "University of Ulm", 
              "id": "https://www.grid.ac/institutes/grid.6582.9", 
              "name": [
                "Ulm University"
              ], 
              "type": "Organization"
            }, 
            "familyName": "Fr\u00fchwirth", 
            "givenName": "Thom", 
            "id": "sg:person.013750414271.15", 
            "sameAs": [
              "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013750414271.15"
            ], 
            "type": "Person"
          }, 
          {
            "affiliation": {
              "alternateName": "University of W\u00fcrzburg", 
              "id": "https://www.grid.ac/institutes/grid.8379.5", 
              "name": [
                "University of W\u00fcrzburg"
              ], 
              "type": "Organization"
            }, 
            "familyName": "Seipel", 
            "givenName": "Dietmar", 
            "id": "sg:person.014335443074.50", 
            "sameAs": [
              "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014335443074.50"
            ], 
            "type": "Person"
          }
        ], 
        "citation": [
          {
            "id": "sg:pub.10.1007/978-3-319-21542-6_2", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1010556081", 
              "https://doi.org/10.1007/978-3-319-21542-6_2"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.1145/317636.317779", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1016636192"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.1145/964001.964011", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1017795938"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/10704567_7", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1023548039", 
              "https://doi.org/10.1007/10704567_7"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/978-3-540-27775-0_7", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1043968221", 
              "https://doi.org/10.1007/978-3-540-27775-0_7"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/978-3-540-27775-0_7", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1043968221", 
              "https://doi.org/10.1007/978-3-540-27775-0_7"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/978-3-540-92243-8_7", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1044172067", 
              "https://doi.org/10.1007/978-3-540-92243-8_7"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.1080/088395100117043", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1045379272"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/11562931_44", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1046245782", 
              "https://doi.org/10.1007/11562931_44"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/11562931_44", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1046245782", 
              "https://doi.org/10.1007/11562931_44"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.1016/s1571-0661(04)80344-x", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1048612190"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "sg:pub.10.1007/3-540-45578-7_18", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1051810129", 
              "https://doi.org/10.1007/3-540-45578-7_18"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.1017/s1471068414000192", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1054070116"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.4204/eptcs.234.4", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1072356041"
            ], 
            "type": "CreativeWork"
          }, 
          {
            "id": "https://doi.org/10.1109/esem.2015.7321196", 
            "sameAs": [
              "https://app.dimensions.ai/details/publication/pub.1095017115"
            ], 
            "type": "CreativeWork"
          }
        ], 
        "datePublished": "2018", 
        "datePublishedReg": "2018-01-01", 
        "description": "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 runtime 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.", 
        "editor": [
          {
            "familyName": "Benzm\u00fcller", 
            "givenName": "Christoph", 
            "type": "Person"
          }, 
          {
            "familyName": "Ricca", 
            "givenName": "Francesco", 
            "type": "Person"
          }, 
          {
            "familyName": "Parent", 
            "givenName": "Xavier", 
            "type": "Person"
          }, 
          {
            "familyName": "Roman", 
            "givenName": "Dumitru", 
            "type": "Person"
          }
        ], 
        "genre": "chapter", 
        "id": "sg:pub.10.1007/978-3-319-99906-7_9", 
        "inLanguage": [
          "en"
        ], 
        "isAccessibleForFree": false, 
        "isPartOf": {
          "isbn": [
            "978-3-319-99905-0", 
            "978-3-319-99906-7"
          ], 
          "name": "Rules and Reasoning", 
          "type": "Book"
        }, 
        "name": "CHR.js: A CHR Implementation in\u00a0JavaScript", 
        "pagination": "131-146", 
        "productId": [
          {
            "name": "doi", 
            "type": "PropertyValue", 
            "value": [
              "10.1007/978-3-319-99906-7_9"
            ]
          }, 
          {
            "name": "readcube_id", 
            "type": "PropertyValue", 
            "value": [
              "8d4025f9995d86aa7b5cb1bd67ea04d6e0491e7a9fa37068864b9d3a5790ef2a"
            ]
          }, 
          {
            "name": "dimensions_id", 
            "type": "PropertyValue", 
            "value": [
              "pub.1106333291"
            ]
          }
        ], 
        "publisher": {
          "location": "Cham", 
          "name": "Springer International Publishing", 
          "type": "Organisation"
        }, 
        "sameAs": [
          "https://doi.org/10.1007/978-3-319-99906-7_9", 
          "https://app.dimensions.ai/details/publication/pub.1106333291"
        ], 
        "sdDataset": "chapters", 
        "sdDatePublished": "2019-04-15T22:38", 
        "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
        "sdPublisher": {
          "name": "Springer Nature - SN SciGraph project", 
          "type": "Organization"
        }, 
        "sdSource": "s3://com-uberresearch-data-dimensions-target-20181106-alternative/cleanup/v134/2549eaecd7973599484d7c17b260dba0a4ecb94b/merge/v9/a6c9fde33151104705d4d7ff012ea9563521a3ce/jats-lookup/v90/0000000001_0000000264/records_8693_00000605.jsonl", 
        "type": "Chapter", 
        "url": "http://link.springer.com/10.1007/978-3-319-99906-7_9"
      }
    ]
     

    Download the RDF metadata as:  json-ld nt turtle xml License info

    HOW TO GET THIS DATA PROGRAMMATICALLY:

    JSON-LD is a popular format for linked data which is fully compatible with JSON.

    curl -H 'Accept: application/ld+json' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-99906-7_9'

    N-Triples is a line-based linked data format ideal for batch operations.

    curl -H 'Accept: application/n-triples' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-99906-7_9'

    Turtle is a human-readable linked data format.

    curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-99906-7_9'

    RDF/XML is a standard XML format for linked data.

    curl -H 'Accept: application/rdf+xml' 'https://scigraph.springernature.com/pub.10.1007/978-3-319-99906-7_9'


     

    This table displays all metadata directly associated to this object as RDF triples.

    142 TRIPLES      23 PREDICATES      40 URIs      20 LITERALS      8 BLANK NODES

    Subject Predicate Object
    1 sg:pub.10.1007/978-3-319-99906-7_9 schema:about anzsrc-for:08
    2 anzsrc-for:0803
    3 schema:author Nd435900e039a4343b49c59d7ea7a9678
    4 schema:citation sg:pub.10.1007/10704567_7
    5 sg:pub.10.1007/11562931_44
    6 sg:pub.10.1007/3-540-45578-7_18
    7 sg:pub.10.1007/978-3-319-21542-6_2
    8 sg:pub.10.1007/978-3-540-27775-0_7
    9 sg:pub.10.1007/978-3-540-92243-8_7
    10 https://doi.org/10.1016/s1571-0661(04)80344-x
    11 https://doi.org/10.1017/s1471068414000192
    12 https://doi.org/10.1080/088395100117043
    13 https://doi.org/10.1109/esem.2015.7321196
    14 https://doi.org/10.1145/317636.317779
    15 https://doi.org/10.1145/964001.964011
    16 https://doi.org/10.4204/eptcs.234.4
    17 schema:datePublished 2018
    18 schema:datePublishedReg 2018-01-01
    19 schema:description 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 runtime 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.
    20 schema:editor N8d9b48e162264fa880ecb2ede0f63bf1
    21 schema:genre chapter
    22 schema:inLanguage en
    23 schema:isAccessibleForFree false
    24 schema:isPartOf N5bb63b34a3aa4be4ad17a6436464a4b0
    25 schema:name CHR.js: A CHR Implementation in JavaScript
    26 schema:pagination 131-146
    27 schema:productId Na197d67591cd4437ad4c5c562700c027
    28 Nbf59c7a7f2da4ad5b680d64cbb8f24be
    29 Neadeebe34da242ce86bf52bdbb981110
    30 schema:publisher Nd33298b5bb5a4cfba4361ce8efb0a3b4
    31 schema:sameAs https://app.dimensions.ai/details/publication/pub.1106333291
    32 https://doi.org/10.1007/978-3-319-99906-7_9
    33 schema:sdDatePublished 2019-04-15T22:38
    34 schema:sdLicense https://scigraph.springernature.com/explorer/license/
    35 schema:sdPublisher Nc2e01d3d210b4be99271eb161390b67a
    36 schema:url http://link.springer.com/10.1007/978-3-319-99906-7_9
    37 sgo:license sg:explorer/license/
    38 sgo:sdDataset chapters
    39 rdf:type schema:Chapter
    40 N1d592ace05934cc68d87993f2d9402e2 rdf:first sg:person.014335443074.50
    41 rdf:rest rdf:nil
    42 N1e1c93a783d840168854edb06025c085 rdf:first sg:person.013750414271.15
    43 rdf:rest N1d592ace05934cc68d87993f2d9402e2
    44 N21bf70f8366b4487aa3eee6652f51469 schema:familyName Ricca
    45 schema:givenName Francesco
    46 rdf:type schema:Person
    47 N5bb63b34a3aa4be4ad17a6436464a4b0 schema:isbn 978-3-319-99905-0
    48 978-3-319-99906-7
    49 schema:name Rules and Reasoning
    50 rdf:type schema:Book
    51 N73c31424c43043c8b952f7774079850f rdf:first Nd015bb22aef34dc9b891d9bf13698317
    52 rdf:rest rdf:nil
    53 N8d9b48e162264fa880ecb2ede0f63bf1 rdf:first Naf3f16568c7b43ab8520b023e936788e
    54 rdf:rest Na39643920bad4a83b70e0eb230887f7e
    55 N8fe8c1bff9534c35a64cf604f4fd9e13 schema:familyName Parent
    56 schema:givenName Xavier
    57 rdf:type schema:Person
    58 Na197d67591cd4437ad4c5c562700c027 schema:name doi
    59 schema:value 10.1007/978-3-319-99906-7_9
    60 rdf:type schema:PropertyValue
    61 Na39643920bad4a83b70e0eb230887f7e rdf:first N21bf70f8366b4487aa3eee6652f51469
    62 rdf:rest Nda9bb122a3cd48b696ad3697cf6e1818
    63 Naf3f16568c7b43ab8520b023e936788e schema:familyName Benzmüller
    64 schema:givenName Christoph
    65 rdf:type schema:Person
    66 Nbf59c7a7f2da4ad5b680d64cbb8f24be schema:name dimensions_id
    67 schema:value pub.1106333291
    68 rdf:type schema:PropertyValue
    69 Nc2e01d3d210b4be99271eb161390b67a schema:name Springer Nature - SN SciGraph project
    70 rdf:type schema:Organization
    71 Nd015bb22aef34dc9b891d9bf13698317 schema:familyName Roman
    72 schema:givenName Dumitru
    73 rdf:type schema:Person
    74 Nd33298b5bb5a4cfba4361ce8efb0a3b4 schema:location Cham
    75 schema:name Springer International Publishing
    76 rdf:type schema:Organisation
    77 Nd435900e039a4343b49c59d7ea7a9678 rdf:first sg:person.014750135572.53
    78 rdf:rest N1e1c93a783d840168854edb06025c085
    79 Nda9bb122a3cd48b696ad3697cf6e1818 rdf:first N8fe8c1bff9534c35a64cf604f4fd9e13
    80 rdf:rest N73c31424c43043c8b952f7774079850f
    81 Neadeebe34da242ce86bf52bdbb981110 schema:name readcube_id
    82 schema:value 8d4025f9995d86aa7b5cb1bd67ea04d6e0491e7a9fa37068864b9d3a5790ef2a
    83 rdf:type schema:PropertyValue
    84 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
    85 schema:name Information and Computing Sciences
    86 rdf:type schema:DefinedTerm
    87 anzsrc-for:0803 schema:inDefinedTermSet anzsrc-for:
    88 schema:name Computer Software
    89 rdf:type schema:DefinedTerm
    90 sg:person.013750414271.15 schema:affiliation https://www.grid.ac/institutes/grid.6582.9
    91 schema:familyName Frühwirth
    92 schema:givenName Thom
    93 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.013750414271.15
    94 rdf:type schema:Person
    95 sg:person.014335443074.50 schema:affiliation https://www.grid.ac/institutes/grid.8379.5
    96 schema:familyName Seipel
    97 schema:givenName Dietmar
    98 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014335443074.50
    99 rdf:type schema:Person
    100 sg:person.014750135572.53 schema:affiliation https://www.grid.ac/institutes/grid.8379.5
    101 schema:familyName Nogatz
    102 schema:givenName Falco
    103 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014750135572.53
    104 rdf:type schema:Person
    105 sg:pub.10.1007/10704567_7 schema:sameAs https://app.dimensions.ai/details/publication/pub.1023548039
    106 https://doi.org/10.1007/10704567_7
    107 rdf:type schema:CreativeWork
    108 sg:pub.10.1007/11562931_44 schema:sameAs https://app.dimensions.ai/details/publication/pub.1046245782
    109 https://doi.org/10.1007/11562931_44
    110 rdf:type schema:CreativeWork
    111 sg:pub.10.1007/3-540-45578-7_18 schema:sameAs https://app.dimensions.ai/details/publication/pub.1051810129
    112 https://doi.org/10.1007/3-540-45578-7_18
    113 rdf:type schema:CreativeWork
    114 sg:pub.10.1007/978-3-319-21542-6_2 schema:sameAs https://app.dimensions.ai/details/publication/pub.1010556081
    115 https://doi.org/10.1007/978-3-319-21542-6_2
    116 rdf:type schema:CreativeWork
    117 sg:pub.10.1007/978-3-540-27775-0_7 schema:sameAs https://app.dimensions.ai/details/publication/pub.1043968221
    118 https://doi.org/10.1007/978-3-540-27775-0_7
    119 rdf:type schema:CreativeWork
    120 sg:pub.10.1007/978-3-540-92243-8_7 schema:sameAs https://app.dimensions.ai/details/publication/pub.1044172067
    121 https://doi.org/10.1007/978-3-540-92243-8_7
    122 rdf:type schema:CreativeWork
    123 https://doi.org/10.1016/s1571-0661(04)80344-x schema:sameAs https://app.dimensions.ai/details/publication/pub.1048612190
    124 rdf:type schema:CreativeWork
    125 https://doi.org/10.1017/s1471068414000192 schema:sameAs https://app.dimensions.ai/details/publication/pub.1054070116
    126 rdf:type schema:CreativeWork
    127 https://doi.org/10.1080/088395100117043 schema:sameAs https://app.dimensions.ai/details/publication/pub.1045379272
    128 rdf:type schema:CreativeWork
    129 https://doi.org/10.1109/esem.2015.7321196 schema:sameAs https://app.dimensions.ai/details/publication/pub.1095017115
    130 rdf:type schema:CreativeWork
    131 https://doi.org/10.1145/317636.317779 schema:sameAs https://app.dimensions.ai/details/publication/pub.1016636192
    132 rdf:type schema:CreativeWork
    133 https://doi.org/10.1145/964001.964011 schema:sameAs https://app.dimensions.ai/details/publication/pub.1017795938
    134 rdf:type schema:CreativeWork
    135 https://doi.org/10.4204/eptcs.234.4 schema:sameAs https://app.dimensions.ai/details/publication/pub.1072356041
    136 rdf:type schema:CreativeWork
    137 https://www.grid.ac/institutes/grid.6582.9 schema:alternateName University of Ulm
    138 schema:name Ulm University
    139 rdf:type schema:Organization
    140 https://www.grid.ac/institutes/grid.8379.5 schema:alternateName University of Würzburg
    141 schema:name University of Würzburg
    142 rdf:type schema:Organization
     




    Preview window. Press ESC to close (or click here)


    ...