Herbrand Constraints in HAL View Full Text


Ontology type: schema:Chapter     


Chapter Info

DATE

2004

AUTHORS

Bart Demoen , María García de la Banda , Warwick Harvey , Kim Marriott , David Overton , Peter J. Stuckey

ABSTRACT

Mercury is a logic programming language that is considerably faster than traditional Prolog implementations, but lacks support for full unification. HAL is a new constraint logic programming language specifically designed to support the construction of and experimentation with constraint solvers, and which compiles to Mercury. In this paper we describe the HAL Herbrand constraint solver and show how by using PARMA bindings, rather than the standard WAM representation, we can implement a solver that is compatible with Mercury’s term representation. This allows HAL to make use of Mercury’s more efficient procedures for handling ground terms, and thus achieve Mercury-like efficiency while supporting full unification. An important feature of HAL is its support for user-extensible dynamic scheduling since this facilitates the creation of propagation-based constraint solvers. We have therefore designed the HAL Herbrand constraint solver to support dynamic scheduling. We provide experiments to illustrate the efficiency of the resulting system, and systematically compare the effect of different declarations such as type, mode and determinism on the resulting code. More... »

PAGES

499-538

Identifiers

URI

http://scigraph.springernature.com/pub.10.1007/978-3-540-25951-0_15

DOI

http://dx.doi.org/10.1007/978-3-540-25951-0_15

DIMENSIONS

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


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/08", 
        "inDefinedTermSet": "http://purl.org/au-research/vocabulary/anzsrc-for/2008/", 
        "name": "Information and Computing Sciences", 
        "type": "DefinedTerm"
      }, 
      {
        "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"
      }
    ], 
    "author": [
      {
        "affiliation": {
          "alternateName": "Department of Computer Science, Catholic University Leuven, Belgium", 
          "id": "http://www.grid.ac/institutes/grid.5596.f", 
          "name": [
            "Department of Computer Science, Catholic University Leuven, Belgium"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Demoen", 
        "givenName": "Bart", 
        "id": "sg:person.016365417761.57", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016365417761.57"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer Science & Software Engineering, Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Computer Science & Software Engineering, Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "de la Banda", 
        "givenName": "Mar\u00eda Garc\u00eda", 
        "id": "sg:person.016350443307.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer Science & Software Engineering, Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Computer Science & Software Engineering, Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Harvey", 
        "givenName": "Warwick", 
        "id": "sg:person.016110070307.54", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016110070307.54"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer Science & Software Engineering, Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Computer Science & Software Engineering, Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Marriott", 
        "givenName": "Kim", 
        "id": "sg:person.014375607254.44", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "School of Computer Science & Software Engineering, Monash University, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1002.3", 
          "name": [
            "School of Computer Science & Software Engineering, Monash University, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Overton", 
        "givenName": "David", 
        "id": "sg:person.010610677675.98", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010610677675.98"
        ], 
        "type": "Person"
      }, 
      {
        "affiliation": {
          "alternateName": "Department of Computer Science & Software Engineering, University of Melbourne, Australia", 
          "id": "http://www.grid.ac/institutes/grid.1008.9", 
          "name": [
            "Department of Computer Science & Software Engineering, University of Melbourne, Australia"
          ], 
          "type": "Organization"
        }, 
        "familyName": "Stuckey", 
        "givenName": "Peter J.", 
        "id": "sg:person.012243374043.93", 
        "sameAs": [
          "https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93"
        ], 
        "type": "Person"
      }
    ], 
    "datePublished": "2004", 
    "datePublishedReg": "2004-01-01", 
    "description": "Mercury is a logic programming language that is considerably faster than traditional Prolog implementations, but lacks support for full unification. HAL is a new constraint logic programming language specifically designed to support the construction of and experimentation with constraint solvers, and which compiles to Mercury. In this paper we describe the HAL Herbrand constraint solver and show how by using PARMA bindings, rather than the standard WAM representation, we can implement a solver that is compatible with Mercury\u2019s term representation. This allows HAL to make use of Mercury\u2019s more efficient procedures for handling ground terms, and thus achieve Mercury-like efficiency while supporting full unification. An important feature of HAL is its support for user-extensible dynamic scheduling since this facilitates the creation of propagation-based constraint solvers. We have therefore designed the HAL Herbrand constraint solver to support dynamic scheduling. We provide experiments to illustrate the efficiency of the resulting system, and systematically compare the effect of different declarations such as type, mode and determinism on the resulting code.", 
    "editor": [
      {
        "familyName": "Bruynooghe", 
        "givenName": "Maurice", 
        "type": "Person"
      }, 
      {
        "familyName": "Lau", 
        "givenName": "Kung-Kiu", 
        "type": "Person"
      }
    ], 
    "genre": "chapter", 
    "id": "sg:pub.10.1007/978-3-540-25951-0_15", 
    "inLanguage": "en", 
    "isAccessibleForFree": false, 
    "isPartOf": {
      "isbn": [
        "978-3-540-22152-4", 
        "978-3-540-25951-0"
      ], 
      "name": "Program Development in Computational Logic", 
      "type": "Book"
    }, 
    "keywords": [
      "logic programming language", 
      "constraint solver", 
      "programming language", 
      "dynamic scheduling", 
      "constraint logic programming language", 
      "new constraint logic programming language", 
      "term representation", 
      "traditional Prolog implementations", 
      "propagation-based constraint solver", 
      "full unification", 
      "Prolog implementation", 
      "scheduling", 
      "different declarations", 
      "solver", 
      "important features", 
      "language", 
      "representation", 
      "implementation", 
      "ground term", 
      "code", 
      "experimentation", 
      "efficiency", 
      "constraints", 
      "support", 
      "unification", 
      "creation", 
      "system", 
      "features", 
      "efficient procedure", 
      "experiments", 
      "determinism", 
      "construction", 
      "terms", 
      "use", 
      "HAL", 
      "types", 
      "Declaration", 
      "procedure", 
      "mode", 
      "effect", 
      "binding", 
      "paper", 
      "mercury"
    ], 
    "name": "Herbrand Constraints in HAL", 
    "pagination": "499-538", 
    "productId": [
      {
        "name": "dimensions_id", 
        "type": "PropertyValue", 
        "value": [
          "pub.1011386661"
        ]
      }, 
      {
        "name": "doi", 
        "type": "PropertyValue", 
        "value": [
          "10.1007/978-3-540-25951-0_15"
        ]
      }
    ], 
    "publisher": {
      "name": "Springer Nature", 
      "type": "Organisation"
    }, 
    "sameAs": [
      "https://doi.org/10.1007/978-3-540-25951-0_15", 
      "https://app.dimensions.ai/details/publication/pub.1011386661"
    ], 
    "sdDataset": "chapters", 
    "sdDatePublished": "2022-05-10T10:53", 
    "sdLicense": "https://scigraph.springernature.com/explorer/license/", 
    "sdPublisher": {
      "name": "Springer Nature - SN SciGraph project", 
      "type": "Organization"
    }, 
    "sdSource": "s3://com-springernature-scigraph/baseset/20220509/entities/gbq_results/chapter/chapter_435.jsonl", 
    "type": "Chapter", 
    "url": "https://doi.org/10.1007/978-3-540-25951-0_15"
  }
]
 

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-540-25951-0_15'

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-540-25951-0_15'

Turtle is a human-readable linked data format.

curl -H 'Accept: text/turtle' 'https://scigraph.springernature.com/pub.10.1007/978-3-540-25951-0_15'

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-540-25951-0_15'


 

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

149 TRIPLES      23 PREDICATES      69 URIs      62 LITERALS      7 BLANK NODES

Subject Predicate Object
1 sg:pub.10.1007/978-3-540-25951-0_15 schema:about anzsrc-for:08
2 anzsrc-for:0803
3 schema:author N8b384b48c4ce4d42bc3fd3e827435543
4 schema:datePublished 2004
5 schema:datePublishedReg 2004-01-01
6 schema:description Mercury is a logic programming language that is considerably faster than traditional Prolog implementations, but lacks support for full unification. HAL is a new constraint logic programming language specifically designed to support the construction of and experimentation with constraint solvers, and which compiles to Mercury. In this paper we describe the HAL Herbrand constraint solver and show how by using PARMA bindings, rather than the standard WAM representation, we can implement a solver that is compatible with Mercury’s term representation. This allows HAL to make use of Mercury’s more efficient procedures for handling ground terms, and thus achieve Mercury-like efficiency while supporting full unification. An important feature of HAL is its support for user-extensible dynamic scheduling since this facilitates the creation of propagation-based constraint solvers. We have therefore designed the HAL Herbrand constraint solver to support dynamic scheduling. We provide experiments to illustrate the efficiency of the resulting system, and systematically compare the effect of different declarations such as type, mode and determinism on the resulting code.
7 schema:editor Na4b5203123f04d1798a95a891b883c80
8 schema:genre chapter
9 schema:inLanguage en
10 schema:isAccessibleForFree false
11 schema:isPartOf N858b4cb52bc04070a4fed7da8298332f
12 schema:keywords Declaration
13 HAL
14 Prolog implementation
15 binding
16 code
17 constraint logic programming language
18 constraint solver
19 constraints
20 construction
21 creation
22 determinism
23 different declarations
24 dynamic scheduling
25 effect
26 efficiency
27 efficient procedure
28 experimentation
29 experiments
30 features
31 full unification
32 ground term
33 implementation
34 important features
35 language
36 logic programming language
37 mercury
38 mode
39 new constraint logic programming language
40 paper
41 procedure
42 programming language
43 propagation-based constraint solver
44 representation
45 scheduling
46 solver
47 support
48 system
49 term representation
50 terms
51 traditional Prolog implementations
52 types
53 unification
54 use
55 schema:name Herbrand Constraints in HAL
56 schema:pagination 499-538
57 schema:productId Nb9ac366dac6d46e8942a05ea90c1b53b
58 Ndb40a6ea5e684779a6ced97653153a71
59 schema:publisher N3f8b889eaebd443cbec025cce7592ad8
60 schema:sameAs https://app.dimensions.ai/details/publication/pub.1011386661
61 https://doi.org/10.1007/978-3-540-25951-0_15
62 schema:sdDatePublished 2022-05-10T10:53
63 schema:sdLicense https://scigraph.springernature.com/explorer/license/
64 schema:sdPublisher N2eaaf1bbc06c4003b243830761aa3715
65 schema:url https://doi.org/10.1007/978-3-540-25951-0_15
66 sgo:license sg:explorer/license/
67 sgo:sdDataset chapters
68 rdf:type schema:Chapter
69 N2eaaf1bbc06c4003b243830761aa3715 schema:name Springer Nature - SN SciGraph project
70 rdf:type schema:Organization
71 N3633871351bc41ef86e4c7d1c841b49b rdf:first sg:person.016350443307.93
72 rdf:rest N7425fbb3fc504847bc3f0d4df6e35af5
73 N3f8b889eaebd443cbec025cce7592ad8 schema:name Springer Nature
74 rdf:type schema:Organisation
75 N4137f65f79aa4fd98f49c7922001d997 schema:familyName Bruynooghe
76 schema:givenName Maurice
77 rdf:type schema:Person
78 N5324960db44e41378d9eb79aa4dcd9f4 rdf:first sg:person.010610677675.98
79 rdf:rest N927f24ce4cd444f3855b049086cb0d77
80 N696d0e8e13e14e84af41559d49a00e4d schema:familyName Lau
81 schema:givenName Kung-Kiu
82 rdf:type schema:Person
83 N7425fbb3fc504847bc3f0d4df6e35af5 rdf:first sg:person.016110070307.54
84 rdf:rest Ncdabb719e17e4c39a8b194d053fc94cd
85 N858b4cb52bc04070a4fed7da8298332f schema:isbn 978-3-540-22152-4
86 978-3-540-25951-0
87 schema:name Program Development in Computational Logic
88 rdf:type schema:Book
89 N8b384b48c4ce4d42bc3fd3e827435543 rdf:first sg:person.016365417761.57
90 rdf:rest N3633871351bc41ef86e4c7d1c841b49b
91 N927f24ce4cd444f3855b049086cb0d77 rdf:first sg:person.012243374043.93
92 rdf:rest rdf:nil
93 Na4b5203123f04d1798a95a891b883c80 rdf:first N4137f65f79aa4fd98f49c7922001d997
94 rdf:rest Nda533776e4ab479ba66080fe266963cb
95 Nb9ac366dac6d46e8942a05ea90c1b53b schema:name doi
96 schema:value 10.1007/978-3-540-25951-0_15
97 rdf:type schema:PropertyValue
98 Ncdabb719e17e4c39a8b194d053fc94cd rdf:first sg:person.014375607254.44
99 rdf:rest N5324960db44e41378d9eb79aa4dcd9f4
100 Nda533776e4ab479ba66080fe266963cb rdf:first N696d0e8e13e14e84af41559d49a00e4d
101 rdf:rest rdf:nil
102 Ndb40a6ea5e684779a6ced97653153a71 schema:name dimensions_id
103 schema:value pub.1011386661
104 rdf:type schema:PropertyValue
105 anzsrc-for:08 schema:inDefinedTermSet anzsrc-for:
106 schema:name Information and Computing Sciences
107 rdf:type schema:DefinedTerm
108 anzsrc-for:0803 schema:inDefinedTermSet anzsrc-for:
109 schema:name Computer Software
110 rdf:type schema:DefinedTerm
111 sg:person.010610677675.98 schema:affiliation grid-institutes:grid.1002.3
112 schema:familyName Overton
113 schema:givenName David
114 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.010610677675.98
115 rdf:type schema:Person
116 sg:person.012243374043.93 schema:affiliation grid-institutes:grid.1008.9
117 schema:familyName Stuckey
118 schema:givenName Peter J.
119 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.012243374043.93
120 rdf:type schema:Person
121 sg:person.014375607254.44 schema:affiliation grid-institutes:grid.1002.3
122 schema:familyName Marriott
123 schema:givenName Kim
124 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.014375607254.44
125 rdf:type schema:Person
126 sg:person.016110070307.54 schema:affiliation grid-institutes:grid.1002.3
127 schema:familyName Harvey
128 schema:givenName Warwick
129 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016110070307.54
130 rdf:type schema:Person
131 sg:person.016350443307.93 schema:affiliation grid-institutes:grid.1002.3
132 schema:familyName de la Banda
133 schema:givenName María García
134 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016350443307.93
135 rdf:type schema:Person
136 sg:person.016365417761.57 schema:affiliation grid-institutes:grid.5596.f
137 schema:familyName Demoen
138 schema:givenName Bart
139 schema:sameAs https://app.dimensions.ai/discover/publication?and_facet_researcher=ur.016365417761.57
140 rdf:type schema:Person
141 grid-institutes:grid.1002.3 schema:alternateName School of Computer Science & Software Engineering, Monash University, Australia
142 schema:name School of Computer Science & Software Engineering, Monash University, Australia
143 rdf:type schema:Organization
144 grid-institutes:grid.1008.9 schema:alternateName Department of Computer Science & Software Engineering, University of Melbourne, Australia
145 schema:name Department of Computer Science & Software Engineering, University of Melbourne, Australia
146 rdf:type schema:Organization
147 grid-institutes:grid.5596.f schema:alternateName Department of Computer Science, Catholic University Leuven, Belgium
148 schema:name Department of Computer Science, Catholic University Leuven, Belgium
149 rdf:type schema:Organization
 




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


...