{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,21]],"date-time":"2025-06-21T04:10:35Z","timestamp":1750479035860},"publisher-location":"Berlin, Heidelberg","reference-count":37,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540489375"},{"type":"electronic","value":"9783540489382"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11924661_1","type":"book-chapter","created":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T13:42:39Z","timestamp":1161956559000},"page":"1-25","source":"Crossref","is-referenced-by-count":8,"title":["Type Processing by Constraint Reasoning"],"prefix":"10.1007","author":[{"given":"Peter J.","family":"Stuckey","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Martin","family":"Sulzmann","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeremy","family":"Wazny","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"1_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"252","DOI":"10.1007\/BFb0017444","volume-title":"Principles and Practice of Constraint Programming - CP97","author":"S. Abdennadher","year":"1997","unstructured":"Abdennadher, S.: Operational semantics and confluence of constraint propagation rules. In: Smolka, G. (ed.) CP 1997. LNCS, vol.\u00a01330, pp. 252\u2013266. Springer, Heidelberg (1997)"},{"key":"1_CR2","doi-asserted-by":"publisher","first-page":"17","DOI":"10.1145\/176454.176460","volume":"2","author":"M. Beaven","year":"1993","unstructured":"Beaven, M., Stansifer, R.: Explaining type errors in polymorphic languages. ACM Letters on Programming Languages\u00a02, 17\u201330 (1993)","journal-title":"ACM Letters on Programming Languages"},{"key":"1_CR3","unstructured":"Cheney, J., Hinze, R.: First-class phantom types. Technical Report CUCIS TR2003-1901, Cornell University (2003)"},{"key":"1_CR4","doi-asserted-by":"publisher","first-page":"193","DOI":"10.1145\/507635.507659","volume-title":"Proc. of ICFP 2001","author":"O. Chitil","year":"2001","unstructured":"Chitil, O.: Compositional explanation of types and algorithmic debugging of type errors. In: Proc. of ICFP 2001, pp. 193\u2013204. ACM Press, New York (2001)"},{"key":"1_CR5","first-page":"217","volume-title":"Proc. of the 22nd Australian Computer Science Conference","author":"B. Demoen","year":"1999","unstructured":"Demoen, B., de la Banda, M.G., Stuckey, P.J.: Type constraint solving for parametric and ad-hoc polymorphism. In: Proc. of the 22nd Australian Computer Science Conference, pp. 217\u2013228. Springer, Heidelberg (1999)"},{"key":"1_CR6","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"49","DOI":"10.1007\/978-3-540-24725-8_5","volume-title":"Programming Languages and Systems","author":"G.J. Duck","year":"2004","unstructured":"Duck, G.J., Peyton-Jones, S., Stuckey, P.J., Sulzmann, M.: Sound and decidable type inference for functional dependencies. In: Schmidt, D. (ed.) ESOP 2004. LNCS, vol.\u00a02986, pp. 49\u201363. Springer, Heidelberg (2004)"},{"issue":"1","key":"1_CR7","doi-asserted-by":"publisher","first-page":"37","DOI":"10.1016\/0167-6423(95)00007-0","volume":"27","author":"D. Duggan","year":"1996","unstructured":"Duggan, D., Bent, F.: Explaining type inference. Science of Computer Programming\u00a027(1), 37\u201383 (1996)","journal-title":"Science of Computer Programming"},{"key":"1_CR8","series-title":"Lecture Notes in Computer Science","volume-title":"Constraint Programming: Basics and Trends","author":"T. Fr\u00fchwirth","year":"1995","unstructured":"Fr\u00fchwirth, T.: Constraint handling rules. In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol.\u00a0910. Springer, Heidelberg (1995)"},{"key":"1_CR9","doi-asserted-by":"publisher","first-page":"32","DOI":"10.1145\/888251.888256","volume-title":"Proc. of PPDP 2003","author":"M.G. Banda de la","year":"2003","unstructured":"de la Banda, M.G., Stuckey, P.J., Wazny, J.: Finding all minimal unsatisfiable constraints. In: Proc. of PPDP 2003, pp. 32\u201343. ACM Press, New York (2003)"},{"key":"1_CR10","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"284","DOI":"10.1007\/3-540-36575-3_20","volume-title":"Programming Languages and Systems","author":"C. Haack","year":"2003","unstructured":"Haack, C., Wells, J.B.: Type error slicing in implicitly typed higher-order languages. In: Degano, P. (ed.) ESOP 2003. LNCS, vol.\u00a02618, pp. 284\u2013301. Springer, Heidelberg (2003)"},{"key":"1_CR11","unstructured":"Haskell 98 language report, \n                    \n                      http:\/\/research.microsoft.com\/Users\/simonpj\/haskell98-revised\/haskell98-report-html\/"},{"key":"1_CR12","unstructured":"Heeren, B., Hage, J.: Parametric type inferencing for Helium. Technical Report UU-CS-2002-035, Utrecht University (2002)"},{"key":"1_CR13","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"253","DOI":"10.1007\/978-3-540-30557-6_19","volume-title":"Practical Aspects of Declarative Languages","author":"B. Heeren","year":"2005","unstructured":"Heeren, B., Hage, J.: Type class directives. In: Hermenegildo, M.V., Cabeza, D. (eds.) PADL 2004. LNCS, vol.\u00a03350, pp. 253\u2013267. Springer, Heidelberg (2005)"},{"key":"1_CR14","unstructured":"Heeren, B., Hage, J., Swierstra, D.: Generalizing Hindley-Milner type inference algorithms. Technical Report UU-CS-2002-031, Utrecht University (2002)"},{"key":"1_CR15","unstructured":"Helium home page, \n                    \n                      http:\/\/www.cs.uu.nl\/~afie\/helium\/"},{"key":"1_CR16","unstructured":"Hugs home page, \n                    \n                      http:\/\/www.haskell.org\/hugs\/"},{"key":"1_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"230","DOI":"10.1007\/3-540-46425-5_15","volume-title":"Programming Languages and Systems","author":"M.P. Jones","year":"2000","unstructured":"Jones, M.P.: Type classes with functional dependencies. In: Smolka, G. (ed.) ESOP 2000. LNCS, vol.\u00a01782, pp. 230\u2013244. Springer, Heidelberg (2000)"},{"key":"1_CR18","unstructured":"Lee, O., Yi, K.: A generalized let-polymorphic type inference algorithm. Technical Memorandum ROPAS-2000-5, National Creative Research Center, Korea Advanced Institute of Science and Technology (March 2000)"},{"key":"1_CR19","doi-asserted-by":"publisher","first-page":"397","DOI":"10.1109\/LICS.2005.21","volume-title":"20th IEEE Symposium on Logic in Computer Science (LICS 2005)","author":"M.J. Maher","year":"2005","unstructured":"Maher, M.J.: Herbrand constraint abduction. In: 20th IEEE Symposium on Logic in Computer Science (LICS 2005), pp. 397\u2013406. IEEE Computer Society Press, Los Alamitos (2005)"},{"key":"1_CR20","doi-asserted-by":"crossref","DOI":"10.7551\/mitpress\/5625.001.0001","volume-title":"Programming with Constraints: an Introduction","author":"K. Marriott","year":"1998","unstructured":"Marriott, K., Stuckey, P.J.: Programming with Constraints: an Introduction. MIT Press, Cambridge (1998)"},{"key":"1_CR21","unstructured":"McAdam, B.J.: Generalising techniques for type debugging. Trends in Functional Programming, 49\u201357 (March 2000)"},{"key":"1_CR22","doi-asserted-by":"publisher","first-page":"348","DOI":"10.1016\/0022-0000(78)90014-4","volume":"17","author":"R. Milner","year":"1978","unstructured":"Milner, R.: A theory of type polymorphism in programming. Journal of Computer and System Sciences\u00a017, 348\u2013375 (1978)","journal-title":"Journal of Computer and System Sciences"},{"key":"1_CR23","unstructured":"nhc98 home page, \n                    \n                      haskell.org\/nhc98\/"},{"key":"1_CR24","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1145\/1086365.1086374","volume-title":"Proc. of ICFP 2005","author":"H. Nilsson","year":"2005","unstructured":"Nilsson, H.: Dynamic optimization for functional reactive programming using generalized algebraic data types. In: Proc. of ICFP 2005, pp. 54\u201365. ACM Press, New York (2005)"},{"key":"1_CR25","doi-asserted-by":"publisher","first-page":"89","DOI":"10.1145\/964001.964009","volume-title":"Proc. of POPL 2004","author":"F. Pottier","year":"2004","unstructured":"Pottier, F., Gauthier, N.: Polymorphic typed defunctionalization. In: Proc. of POPL 2004, pp. 89\u201398. ACM Press, New York (2004)"},{"key":"1_CR26","unstructured":"Sheard, T., Pasalic, E.: Meta-programming with built-in type equality. In: Fourth International Workshop on Logical Frameworks and Meta-Languages (2004)"},{"key":"1_CR27","volume-title":"Mathematical Logic","author":"J.R. Shoenfield","year":"1967","unstructured":"Shoenfield, J.R.: Mathematical Logic. Addison-Wesley, Reading (1967)"},{"issue":"6","key":"1_CR28","doi-asserted-by":"publisher","first-page":"1216","DOI":"10.1145\/1108970.1108974","volume":"27","author":"P.J. Stuckey","year":"2005","unstructured":"Stuckey, P.J., Sulzmann, M.: A theory of overloading. ACM Transactions on Programming Languages and Systems\u00a027(6), 1216\u20131269 (2005)","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"1_CR29","unstructured":"Stuckey, P.J., Sulzmann, M., Wazny, J.: The Chameleon type debugger (tool demonstration). In: Ronsse, M. (ed.) Proceedings of the Fifth International Workshop on Automated Debugging, pp. 247\u2013260 (2003), \n                    \n                      http:\/\/arxiv.org\/html\/cs.SE\/0309027"},{"key":"1_CR30","doi-asserted-by":"publisher","first-page":"72","DOI":"10.1145\/871895.871903","volume-title":"Proceedings of the ACM SIGPLAN 2003 Haskell Workshop","author":"P.J. Stuckey","year":"2003","unstructured":"Stuckey, P.J., Sulzmann, M., Wazny, J.: Interactive type debugging in Haskell. In: Juring, J. (ed.) Proceedings of the ACM SIGPLAN 2003 Haskell Workshop, pp. 72\u201383. ACM Press, New York (2003)"},{"key":"1_CR31","doi-asserted-by":"publisher","first-page":"80","DOI":"10.1145\/1017472.1017486","volume-title":"Proceedings of the ACM SIGPLAN 2004 Haskell Workshop","author":"P.J. Stuckey","year":"2004","unstructured":"Stuckey, P.J., Sulzmann, M., Wazny, J.: Improving type error diagnosis. In: Proceedings of the ACM SIGPLAN 2004 Haskell Workshop, pp. 80\u201391. ACM Press, New York (2004)"},{"key":"1_CR32","unstructured":"Sulzmann, M., Wazny, J.: Chameleon, \n                    \n                      http:\/\/www.comp.nus.edu.sg\/~sulzmann\/chameleon"},{"key":"1_CR33","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"47","DOI":"10.1007\/11737414_5","volume-title":"Functional and Logic Programming","author":"M. Sulzmann","year":"2006","unstructured":"Sulzmann, M., Wazny, J., Stuckey, P.J.: A framework for extended algebraic data types. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol.\u00a03945, pp. 47\u201364. Springer, Heidelberg (2006)"},{"key":"1_CR34","first-page":"60","volume-title":"Proc. of POPL 1989","author":"P. Wadler","year":"1989","unstructured":"Wadler, P., Blott, S.: How to make ad-hoc polymorphism less ad-hoc. In: Proc. of POPL 1989, pp. 60\u201376. ACM Press, New York (1989)"},{"key":"1_CR35","unstructured":"Wazny, J.: Type inference and type error diagnosis for Hindley\/Milner with extensions. PhD thesis, University of Melbourne (2006), \n                    \n                      http:\/\/www.comp.nus.edu.sg\/~sulzmann\/chameleon\/thesis.ps.gz"},{"key":"1_CR36","doi-asserted-by":"publisher","first-page":"224","DOI":"10.1145\/604131.604150","volume-title":"Proc. of POPL 2003","author":"H. Xi","year":"2003","unstructured":"Xi, H., Chen, C., Chen, G.: Guarded recursive datatype constructors. In: Proc. of POPL 2003, pp. 224\u2013235. ACM Press, New York (2003)"},{"key":"1_CR37","unstructured":"Yang, J., Wells, J., Trinder, P., Michaelson, G.: Improved type error reporting. In: Proceedings of 12th International Workshop on Implementation of Functional Languages, pp. 71\u201386 (2000)"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11924661_1.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,27]],"date-time":"2021-04-27T07:45:09Z","timestamp":1619509509000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11924661_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540489375","9783540489382"],"references-count":37,"URL":"https:\/\/doi.org\/10.1007\/11924661_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2006]]}}}