Mode Checking in HAL
Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. However, mode checking in such languages is...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Buchkapitel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
container_end_page | 1284 |
---|---|
container_issue | |
container_start_page | 1270 |
container_title | |
container_volume | 1861 |
creator | de la Banda, María García Stuckey, Peter J. Harvey, Warwick Marriott, Kim |
description | Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. However, mode checking in such languages is difficult since the compiler is required to appropriately re-order literals in the predicate’s definition for each predicate mode declaration. The task is further complicated by the need to handle complex instantiations which interact with type declarations, higher order functions and predicates, and automatic initialization of solver variables. Here we give the first formal treatment of mode checking in strongly typed CLP languages which require reordering of clause body literals during mode checking. We also sketch the mode checking algorithms used in the HAL compiler. |
doi_str_mv | 10.1007/3-540-44957-4_85 |
format | Book Chapter |
fullrecord | <record><control><sourceid>proquest_pasca</sourceid><recordid>TN_cdi_pascalfrancis_primary_1381475</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>EBC3071603_91_1289</sourcerecordid><originalsourceid>FETCH-LOGICAL-p268t-b108ee79561756e047c10c3e23ab531b3aac74aa3a5f591ca432c265900a99ae3</originalsourceid><addsrcrecordid>eNo9UDtPwzAQNk8RlW4MjB1YXe58di4eqwooUhELzJZj3Da0JCUOA_-e9CFuOel7Sd8nxC3CGAH4nqTRILW2hqV2hTkRQ8sF9eAe41ORYY4oibQ9--dyZstwLjIgUNKypkuRcW6ZUTFfiWFKn9AfKdUrMnHz0nzE0XQVw7qql6OqHs0m82txsfCbFIfHPxDvjw9v05mcvz49TydzuVV50ckSoYiRrcmRTR5Bc0AIFBX50hCW5H1g7T15szAWg9ekgsqNBfDW-kgDcXfI3foU_GbR-jpUyW3b6su3vw6pQM2ml40PstQz9TK2rmyadXIIbreUI9cXd_tV3G6p3qCPuW3z_RNT5-LOEWLdtX4TVn7bxTY5AsYcyFl0qApLf_FmYlw</addsrcrecordid><sourcetype>Index Database</sourcetype><iscdi>true</iscdi><recordtype>book_chapter</recordtype><pqid>EBC3071603_91_1289</pqid></control><display><type>book_chapter</type><title>Mode Checking in HAL</title><source>Springer Books</source><creator>de la Banda, María García ; Stuckey, Peter J. ; Harvey, Warwick ; Marriott, Kim</creator><contributor>Pereira, Luis M ; Stuckey, Peter J ; Lau, Kung-Kiu ; Palamidessi, Catuscia ; Kerber, Manfred ; Lloyd, John ; Sagiv, Yehoshua ; Furbach, Ulrich ; Dahl, Veronica ; Lloyd, John ; Furbach, Ulrich ; Pereira, Luís Moniz ; Kerber, Manfred ; Palamidessi, Catuscia ; Dahl, Veronica ; Lau, Kung-Kiu ; Sagiv, Yehoshua ; Stuckey, Peter J.</contributor><creatorcontrib>de la Banda, María García ; Stuckey, Peter J. ; Harvey, Warwick ; Marriott, Kim ; Pereira, Luis M ; Stuckey, Peter J ; Lau, Kung-Kiu ; Palamidessi, Catuscia ; Kerber, Manfred ; Lloyd, John ; Sagiv, Yehoshua ; Furbach, Ulrich ; Dahl, Veronica ; Lloyd, John ; Furbach, Ulrich ; Pereira, Luís Moniz ; Kerber, Manfred ; Palamidessi, Catuscia ; Dahl, Veronica ; Lau, Kung-Kiu ; Sagiv, Yehoshua ; Stuckey, Peter J.</creatorcontrib><description>Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. However, mode checking in such languages is difficult since the compiler is required to appropriately re-order literals in the predicate’s definition for each predicate mode declaration. The task is further complicated by the need to handle complex instantiations which interact with type declarations, higher order functions and predicates, and automatic initialization of solver variables. Here we give the first formal treatment of mode checking in strongly typed CLP languages which require reordering of clause body literals during mode checking. We also sketch the mode checking algorithms used in the HAL compiler.</description><identifier>ISSN: 0302-9743</identifier><identifier>ISBN: 9783540677970</identifier><identifier>ISBN: 3540677976</identifier><identifier>EISSN: 1611-3349</identifier><identifier>EISBN: 9783540449577</identifier><identifier>EISBN: 3540449574</identifier><identifier>DOI: 10.1007/3-540-44957-4_85</identifier><identifier>OCLC: 769771277</identifier><identifier>LCCallNum: Q334-342</identifier><language>eng</language><publisher>Germany: Springer Berlin / Heidelberg</publisher><subject>Applied sciences ; Artificial intelligence ; Computer science; control theory; systems ; Constraint Solver ; Exact sciences and technology ; Logic Program ; Miscellaneous ; Program Variable ; Regular Tree ; Solver Type</subject><ispartof>Computational Logic -- CL 2000, 2000, Vol.1861, p.1270-1284</ispartof><rights>Springer-Verlag Berlin Heidelberg 2000</rights><rights>2000 INIST-CNRS</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><relation>Lecture Notes in Computer Science</relation></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Uhttps://ebookcentral.proquest.com/covers/3071603-l.jpg</thumbnail><linktopdf>$$Uhttps://link.springer.com/content/pdf/10.1007/3-540-44957-4_85$$EPDF$$P50$$Gspringer$$H</linktopdf><linktohtml>$$Uhttps://link.springer.com/10.1007/3-540-44957-4_85$$EHTML$$P50$$Gspringer$$H</linktohtml><link.rule.ids>309,310,779,780,784,789,790,793,4050,4051,27925,38255,41442,42511</link.rule.ids><backlink>$$Uhttp://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=1381475$$DView record in Pascal Francis$$Hfree_for_read</backlink></links><search><contributor>Pereira, Luis M</contributor><contributor>Stuckey, Peter J</contributor><contributor>Lau, Kung-Kiu</contributor><contributor>Palamidessi, Catuscia</contributor><contributor>Kerber, Manfred</contributor><contributor>Lloyd, John</contributor><contributor>Sagiv, Yehoshua</contributor><contributor>Furbach, Ulrich</contributor><contributor>Dahl, Veronica</contributor><contributor>Lloyd, John</contributor><contributor>Furbach, Ulrich</contributor><contributor>Pereira, Luís Moniz</contributor><contributor>Kerber, Manfred</contributor><contributor>Palamidessi, Catuscia</contributor><contributor>Dahl, Veronica</contributor><contributor>Lau, Kung-Kiu</contributor><contributor>Sagiv, Yehoshua</contributor><contributor>Stuckey, Peter J.</contributor><creatorcontrib>de la Banda, María García</creatorcontrib><creatorcontrib>Stuckey, Peter J.</creatorcontrib><creatorcontrib>Harvey, Warwick</creatorcontrib><creatorcontrib>Marriott, Kim</creatorcontrib><title>Mode Checking in HAL</title><title>Computational Logic -- CL 2000</title><description>Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. However, mode checking in such languages is difficult since the compiler is required to appropriately re-order literals in the predicate’s definition for each predicate mode declaration. The task is further complicated by the need to handle complex instantiations which interact with type declarations, higher order functions and predicates, and automatic initialization of solver variables. Here we give the first formal treatment of mode checking in strongly typed CLP languages which require reordering of clause body literals during mode checking. We also sketch the mode checking algorithms used in the HAL compiler.</description><subject>Applied sciences</subject><subject>Artificial intelligence</subject><subject>Computer science; control theory; systems</subject><subject>Constraint Solver</subject><subject>Exact sciences and technology</subject><subject>Logic Program</subject><subject>Miscellaneous</subject><subject>Program Variable</subject><subject>Regular Tree</subject><subject>Solver Type</subject><issn>0302-9743</issn><issn>1611-3349</issn><isbn>9783540677970</isbn><isbn>3540677976</isbn><isbn>9783540449577</isbn><isbn>3540449574</isbn><fulltext>true</fulltext><rsrctype>book_chapter</rsrctype><creationdate>2000</creationdate><recordtype>book_chapter</recordtype><recordid>eNo9UDtPwzAQNk8RlW4MjB1YXe58di4eqwooUhELzJZj3Da0JCUOA_-e9CFuOel7Sd8nxC3CGAH4nqTRILW2hqV2hTkRQ8sF9eAe41ORYY4oibQ9--dyZstwLjIgUNKypkuRcW6ZUTFfiWFKn9AfKdUrMnHz0nzE0XQVw7qql6OqHs0m82txsfCbFIfHPxDvjw9v05mcvz49TydzuVV50ckSoYiRrcmRTR5Bc0AIFBX50hCW5H1g7T15szAWg9ekgsqNBfDW-kgDcXfI3foU_GbR-jpUyW3b6su3vw6pQM2ml40PstQz9TK2rmyadXIIbreUI9cXd_tV3G6p3qCPuW3z_RNT5-LOEWLdtX4TVn7bxTY5AsYcyFl0qApLf_FmYlw</recordid><startdate>2000</startdate><enddate>2000</enddate><creator>de la Banda, María García</creator><creator>Stuckey, Peter J.</creator><creator>Harvey, Warwick</creator><creator>Marriott, Kim</creator><general>Springer Berlin / Heidelberg</general><general>Springer Berlin Heidelberg</general><general>Springer</general><scope>FFUUA</scope><scope>IQODW</scope></search><sort><creationdate>2000</creationdate><title>Mode Checking in HAL</title><author>de la Banda, María García ; Stuckey, Peter J. ; Harvey, Warwick ; Marriott, Kim</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-p268t-b108ee79561756e047c10c3e23ab531b3aac74aa3a5f591ca432c265900a99ae3</frbrgroupid><rsrctype>book_chapters</rsrctype><prefilter>book_chapters</prefilter><language>eng</language><creationdate>2000</creationdate><topic>Applied sciences</topic><topic>Artificial intelligence</topic><topic>Computer science; control theory; systems</topic><topic>Constraint Solver</topic><topic>Exact sciences and technology</topic><topic>Logic Program</topic><topic>Miscellaneous</topic><topic>Program Variable</topic><topic>Regular Tree</topic><topic>Solver Type</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>de la Banda, María García</creatorcontrib><creatorcontrib>Stuckey, Peter J.</creatorcontrib><creatorcontrib>Harvey, Warwick</creatorcontrib><creatorcontrib>Marriott, Kim</creatorcontrib><collection>ProQuest Ebook Central - Book Chapters - Demo use only</collection><collection>Pascal-Francis</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>de la Banda, María García</au><au>Stuckey, Peter J.</au><au>Harvey, Warwick</au><au>Marriott, Kim</au><au>Pereira, Luis M</au><au>Stuckey, Peter J</au><au>Lau, Kung-Kiu</au><au>Palamidessi, Catuscia</au><au>Kerber, Manfred</au><au>Lloyd, John</au><au>Sagiv, Yehoshua</au><au>Furbach, Ulrich</au><au>Dahl, Veronica</au><au>Lloyd, John</au><au>Furbach, Ulrich</au><au>Pereira, Luís Moniz</au><au>Kerber, Manfred</au><au>Palamidessi, Catuscia</au><au>Dahl, Veronica</au><au>Lau, Kung-Kiu</au><au>Sagiv, Yehoshua</au><au>Stuckey, Peter J.</au><format>book</format><genre>bookitem</genre><ristype>CHAP</ristype><atitle>Mode Checking in HAL</atitle><btitle>Computational Logic -- CL 2000</btitle><seriestitle>Lecture Notes in Computer Science</seriestitle><date>2000</date><risdate>2000</risdate><volume>1861</volume><spage>1270</spage><epage>1284</epage><pages>1270-1284</pages><issn>0302-9743</issn><eissn>1611-3349</eissn><isbn>9783540677970</isbn><isbn>3540677976</isbn><eisbn>9783540449577</eisbn><eisbn>3540449574</eisbn><abstract>Recent constraint logic programming (CLP) languages, such as HAL and Mercury, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. However, mode checking in such languages is difficult since the compiler is required to appropriately re-order literals in the predicate’s definition for each predicate mode declaration. The task is further complicated by the need to handle complex instantiations which interact with type declarations, higher order functions and predicates, and automatic initialization of solver variables. Here we give the first formal treatment of mode checking in strongly typed CLP languages which require reordering of clause body literals during mode checking. We also sketch the mode checking algorithms used in the HAL compiler.</abstract><cop>Germany</cop><pub>Springer Berlin / Heidelberg</pub><doi>10.1007/3-540-44957-4_85</doi><oclcid>769771277</oclcid><tpages>15</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 0302-9743 |
ispartof | Computational Logic -- CL 2000, 2000, Vol.1861, p.1270-1284 |
issn | 0302-9743 1611-3349 |
language | eng |
recordid | cdi_pascalfrancis_primary_1381475 |
source | Springer Books |
subjects | Applied sciences Artificial intelligence Computer science control theory systems Constraint Solver Exact sciences and technology Logic Program Miscellaneous Program Variable Regular Tree Solver Type |
title | Mode Checking in HAL |
url | https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-08T02%3A23%3A20IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_pasca&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=bookitem&rft.atitle=Mode%20Checking%20in%20HAL&rft.btitle=Computational%20Logic%20--%20CL%202000&rft.au=de%20la%20Banda,%20Mar%C3%ADa%20Garc%C3%ADa&rft.date=2000&rft.volume=1861&rft.spage=1270&rft.epage=1284&rft.pages=1270-1284&rft.issn=0302-9743&rft.eissn=1611-3349&rft.isbn=9783540677970&rft.isbn_list=3540677976&rft_id=info:doi/10.1007/3-540-44957-4_85&rft_dat=%3Cproquest_pasca%3EEBC3071603_91_1289%3C/proquest_pasca%3E%3Curl%3E%3C/url%3E&rft.eisbn=9783540449577&rft.eisbn_list=3540449574&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=EBC3071603_91_1289&rft_id=info:pmid/&rfr_iscdi=true |