{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,20]],"date-time":"2025-06-20T21:23:05Z","timestamp":1750454585676},"reference-count":0,"publisher":"Cambridge University Press (CUP)","issue":"6","license":[{"start":{"date-parts":[[2004,6,9]],"date-time":"2004-06-09T00:00:00Z","timestamp":1086739200000},"content-version":"unspecified","delay-in-days":951,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Theory and Practice of Logic Programming"],"published-print":{"date-parts":[[2001,11]]},"abstract":"<jats:p>We present a prescriptive type system with parametric polymorphism and subtyping for \nconstraint logic programs. The aim of this type system is to detect programming errors \nstatically. It introduces a type discipline for constraint logic programs and modules, while \nmaintaining the capabilities of performing the usual coercions between constraint domains, \nand of typing meta-programming predicates, thanks to the exibility of subtyping. The \nproperty of <jats:italic>subject reduction<\/jats:italic> expresses the consistency of a prescriptive type system w.r.t. \nthe execution model: if a program is \u2018well-typed\u2019, then all derivations starting from a \n\u2018well-typed\u2019 goal are again \u2018well-typed\u2019. That property is proved w.r.t. the abstract execution \nmodel of constraint programming which proceeds by accumulation of constraints only, and \nw.r.t. an enriched execution model with type constraints for substitutions. We describe our \nimplementation of the system for type checking and type inference. We report our experimental \nresults on type checking ISO-Prolog, the (constraint) libraries of Sicstus Prolog and other \nProlog programs.<\/jats:p>","DOI":"10.1017\/s1471068401001120","type":"journal-article","created":{"date-parts":[[2008,8,14]],"date-time":"2008-08-14T10:45:57Z","timestamp":1218710757000},"page":"751-777","source":"Crossref","is-referenced-by-count":14,"title":["Typing constraint logic programs"],"prefix":"10.1017","volume":"1","author":[{"given":"FRAN\u00c7OIS","family":"FAGES","sequence":"first","affiliation":[]},{"given":"EMMANUEL","family":"COQUERY","sequence":"additional","affiliation":[]}],"member":"56","published-online":{"date-parts":[[2004,6,9]]},"container-title":["Theory and Practice of Logic Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S1471068401001120","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2019,5,7]],"date-time":"2019-05-07T22:22:29Z","timestamp":1557267749000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S1471068401001120\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001,11]]},"references-count":0,"journal-issue":{"issue":"6","published-print":{"date-parts":[[2001,11]]}},"alternative-id":["S1471068401001120"],"URL":"https:\/\/doi.org\/10.1017\/s1471068401001120","relation":{},"ISSN":["1471-0684","1475-3081"],"issn-type":[{"value":"1471-0684","type":"print"},{"value":"1475-3081","type":"electronic"}],"subject":[],"published":{"date-parts":[[2001,11]]}}}