2004
AUTHORSBart Demoen , María García de la Banda , Warwick Harvey , Kim Marriott , David Overton , Peter J. Stuckey
ABSTRACTMercury 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... »
PAGES499-538
Program Development in Computational Logic
ISBN
978-3-540-22152-4
978-3-540-25951-0
http://scigraph.springernature.com/pub.10.1007/978-3-540-25951-0_15
DOIhttp://dx.doi.org/10.1007/978-3-540-25951-0_15
DIMENSIONShttps://app.dimensions.ai/details/publication/pub.1011386661
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
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