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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: de la Banda, María García, Stuckey, Peter J., Harvey, Warwick, Marriott, Kim
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&amp;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