{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,8]],"date-time":"2023-10-08T11:50:59Z","timestamp":1696765859852},"reference-count":35,"publisher":"Springer Science and Business Media LLC","issue":"1-2","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Higher-Order Symb Comput"],"published-print":{"date-parts":[[2011,6]]},"DOI":"10.1007\/s10990-011-9070-3","type":"journal-article","created":{"date-parts":[[2011,6,14]],"date-time":"2011-06-14T20:28:06Z","timestamp":1308083286000},"page":"3-39","source":"Crossref","is-referenced-by-count":7,"title":["Improving type error messages for generic Java"],"prefix":"10.1007","volume":"24","author":[{"given":"Nabil","family":"el Boustani","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jurriaan","family":"Hage","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2011,6,15]]},"reference":[{"key":"9070_CR1","first-page":"131","volume-title":"Proceedings of the ACM SIGPLAN 2009 Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM\u201909)","author":"N. Boustani el","year":"2009","unstructured":"el Boustani, N., Hage, J.: Improving type error messages for Generic Java. In: Puebla, G., Vidal, G. (eds.) Proceedings of the ACM SIGPLAN 2009 Symposium on Partial Evaluation and Semantics-Based Program Manipulation (PEPM\u201909), pp. 131\u2013140. ACM Press, New York (2009)"},{"key":"9070_CR2","doi-asserted-by":"crossref","first-page":"5","DOI":"10.1145\/1706356.1706360","volume-title":"Proceedings of the ACM SIGPLAN 2010 Workshop on Partial Evaluation and Program Manipulation (PEPM\u201910)","author":"N. Boustani el","year":"2010","unstructured":"el Boustani, N., Hage, J.: Corrective hints for type incorrect Generic Java programs. In: Gallagher, J., Voigtl\u00e4nder, J. (eds.) Proceedings of the ACM SIGPLAN 2010 Workshop on Partial Evaluation and Program Manipulation (PEPM\u201910), pp. 5\u201314. ACM Press, New York (2010)"},{"key":"9070_CR3","doi-asserted-by":"crossref","first-page":"207","DOI":"10.1145\/582153.582176","volume-title":"Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages","author":"L. Damas","year":"1982","unstructured":"Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Conference Record of the Ninth Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico, January 1982, pp. 207\u2013212. ACM Press, New York (1982)"},{"key":"9070_CR4","first-page":"24","volume-title":"264, Centrum voor Wiskunde en Informatica (CWI)","author":"T.B. Dinesh","year":"1998","unstructured":"Dinesh, T.B., Tip, F.: A slicing-based approach for locating type errors. In: 264, Centrum voor Wiskunde en Informatica (CWI), p.\u00a024 (1998). ISSN 1386-369X"},{"key":"9070_CR5","doi-asserted-by":"crossref","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. Sci. Comput. Program. 27, 37\u201383 (1996)","journal-title":"Sci. Comput. Program."},{"key":"9070_CR6","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1145\/1297027.1297029","volume-title":"OOPSLA\u201907: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications","author":"T. Ekman","year":"2007","unstructured":"Ekman, T., Hedin, G.: The JastAdd extensible Java compiler. In: OOPSLA\u201907: Proceedings of the 22nd Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems and Applications, pp.\u00a01\u201318. ACM, New York (2007)"},{"key":"9070_CR7","volume-title":"Java(TM) Language Specification","author":"J. Gosling","year":"2005","unstructured":"Gosling, J., Joy, B., Steele, G., Bracha, G.: Java(TM) Language Specification, 3rd edn. Addison-Wesley Professional, Reading (2005)","edition":"3"},{"key":"9070_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"284","DOI":"10.1007\/3-540-36575-3_20","volume-title":"Proceedings of the 12th European Symposium on Programming (ESOP)","author":"C. Haack","year":"2003","unstructured":"Haack, C., Wells, J.B.: Type error slicing in implicitly typed higher-order languages. In: Proceedings of the 12th European Symposium on Programming (ESOP). Lecture Notes in Computer Science, vol. 2618, pp. 284\u2013301. Springer, Berlin (2003)"},{"key":"9070_CR9","first-page":"199","volume-title":"Implementation of Functional Languages\u2014IFL 2006","author":"J. Hage","year":"2007","unstructured":"Hage, J., Heeren, B.: Heuristics for type error discovery and recovery. In: Horv\u00e1th, Z., Zs\u00f3k, V., Butterfield, A. (eds.) Implementation of Functional Languages\u2014IFL 2006, vol. 4449, pp. 199\u2013216. Springer, Heidelberg (2007)"},{"key":"9070_CR10","doi-asserted-by":"crossref","first-page":"163","DOI":"10.1016\/j.entcs.2009.03.021","volume":"236","author":"J. Hage","year":"2009","unstructured":"Hage, J., Heeren, B.: Strategies for solving constraints in type and effect systems. Electron. Notes Theor. Comput. Sci. 236, 163\u2013183 (2009). Proceedings of the 3rd International Workshop on Views On Designing Complex Architectures (VODCA 2008)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"issue":"1","key":"9070_CR11","doi-asserted-by":"crossref","first-page":"37","DOI":"10.1016\/S0167-6423(02)00109-0","volume":"47","author":"G. Hedin","year":"2003","unstructured":"Hedin, G., Magnusson, E.: The JastAdd system\u2014an aspect-oriented compiler construction system. Sci. Comput. Program. 47(1), 37\u201358 (2003). http:\/\/www.cs.lth.se\/~gorel\/publications\/2003-JastAdd-SCP-Preprint.pdf","journal-title":"Sci. Comput. Program."},{"key":"9070_CR12","unstructured":"Heeren, B.: Top quality type error messages. PhD thesis, Universiteit Utrecht, The Netherlands (2005). http:\/\/www.cs.uu.nl\/people\/bastiaan\/phdthesis"},{"key":"9070_CR13","first-page":"3","volume-title":"Eighth International Conference on Functional Programming","author":"B. Heeren","year":"2003","unstructured":"Heeren, B., Hage, J., Swierstra, S.D.: Scripting the type inference process. In: Eighth International Conference on Functional Programming, pp. 3\u201313. ACM Press, New York (2003)"},{"key":"9070_CR14","series-title":"Aachner Informatik-Berichte","first-page":"63","volume-title":"Proceedings of 12th International Workshop on Implementation of Functional Languages (IFL 00)","author":"F. Huch","year":"2000","unstructured":"Huch, F., Chitil, O., Simon, A.: Typeview: a tool for understanding type errors. In: Mohnen, M., Koopman, P. (eds.) Proceedings of 12th International Workshop on Implementation of Functional Languages (IFL 00). Aachner Informatik-Berichte, pp. 63\u201369 (2000)"},{"issue":"1","key":"9070_CR15","doi-asserted-by":"crossref","first-page":"25","DOI":"10.1080\/08993400500056530","volume":"15","author":"M.C. Jadud","year":"2005","unstructured":"Jadud, M.C.: A first look at novice compilation behaviour using BlueJ. Comput. Sci. Educ. 15(1), 25\u201340 (2005)","journal-title":"Comput. Sci. Educ."},{"key":"9070_CR16","unstructured":"Langer, A.: Java generics FAQs\u2014frequently asked questions (2008). http:\/\/www.angelikalanger.com\/GenericsFAQ\/JavaGenericsFAQ.html"},{"issue":"4","key":"9070_CR17","doi-asserted-by":"crossref","first-page":"707","DOI":"10.1145\/291891.291892","volume":"20","author":"O. Lee","year":"1998","unstructured":"Lee, O., Yi, K.: Proofs about a folklore let-polymorphic type inference algorithm. ACM Trans. Program. Lang. Syst. 20(4), 707\u2013723 (1998)","journal-title":"ACM Trans. Program. Lang. Syst."},{"key":"9070_CR18","first-page":"79","volume-title":"Proceedings of the First Asian Workshop on Programming Languages and Systems","author":"O. Lee","year":"2000","unstructured":"Lee, O., Yi, K.: A generalization of hybrid let-polymorphic type inference algorithms. In: Proceedings of the First Asian Workshop on Programming Languages and Systems, pp. 79\u201388. National University of Singapore, Singapore (2000)"},{"key":"9070_CR19","doi-asserted-by":"crossref","first-page":"63","DOI":"10.1145\/1159876.1159887","volume-title":"ML\u201906: Proceedings of the 2006 Workshop on ML","author":"B. Lerner","year":"2006","unstructured":"Lerner, B., Grossman, D., Chambers, C.: Seminal: searching for ml type-error messages. In: ML\u201906: Proceedings of the 2006 Workshop on ML, pp.\u00a063\u201373. ACM, New York (2006)"},{"key":"9070_CR20","series-title":"LNCS","first-page":"139","volume-title":"Implementation of Functional Languages (IFL\u201998)","author":"B.J. McAdam","year":"1998","unstructured":"McAdam, B.J.: On the Unification of Substitutions in Type Inference. In: Hammond, K., Davie, A.J.T., Clack, C. (eds.) Implementation of Functional Languages (IFL\u201998), London, UK. LNCS, vol. 1595, pp.\u00a0139\u2013154. Springer, Berlin (1998)"},{"key":"9070_CR21","first-page":"87","volume-title":"Trends in Functional Programming","author":"B.J. McAdam","year":"2002","unstructured":"McAdam, B.J.: How to repair type errors automatically. In: Hammond, K., Curtis, S. (eds.) Trends in Functional Programming, Intellect, Bristol, UK, vol. 3, pp. 87\u201398 (2002)"},{"key":"9070_CR22","doi-asserted-by":"crossref","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. J. Comput. Syst. Sci. 17, 348\u2013375 (1978)","journal-title":"J. Comput. Syst. Sci."},{"key":"9070_CR23","unstructured":"Nordlander, J., Carlsson, M., Gill, A., Lindgren, P., von Sydow, B.: The Timber homepage (2008). http:\/\/www.timber-lang.org"},{"key":"9070_CR24","unstructured":"Odersky, M.: The Scala homepage (2008). http:\/\/www.scala-lang.org\/"},{"key":"9070_CR25","unstructured":"Rahli, V., Wells, J.B., Kamareddine, F.: A constraint system for a SML type error slicer. Tech. Rep. HW-MACS-TR-0079, Herriot Watt University, Edinburgh, Scotland (2010)"},{"key":"9070_CR26","first-page":"137","volume-title":"Artificial Intelligence: A Modern Approach","author":"S. Russell","year":"2003","unstructured":"Russell, S., Norvig, P.: Artificial Intelligence: A Modern Approach, 2nd edn., pp. 137\u2013151. Pearson Education, Upper Saddle River (2003). Chap.\u00a05","edition":"2"},{"key":"9070_CR27","doi-asserted-by":"crossref","first-page":"505","DOI":"10.1145\/1449764.1449804","volume-title":"Proceedings of the 23rd Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA\u201908)","author":"D. Smith","year":"2008","unstructured":"Smith, D., Cartwright, R.: Java type inference is broken: can we fix it. In: Proceedings of the 23rd Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA\u201908), pp. 505\u2013524. ACM, New York (2008)"},{"key":"9070_CR28","doi-asserted-by":"crossref","first-page":"72","DOI":"10.1145\/871895.871903","volume-title":"Haskell\u201903: Proceedings of the ACM SIGPLAN Workshop on Haskell","author":"P.J. Stuckey","year":"2003","unstructured":"Stuckey, P.J., Sulzmann, M., Wazny, J.: Interactive type debugging in Haskell. In: Haskell\u201903: Proceedings of the ACM SIGPLAN Workshop on Haskell, pp. 72\u201383. ACM Press, New York (2003)"},{"key":"9070_CR29","doi-asserted-by":"crossref","first-page":"80","DOI":"10.1145\/1017472.1017486","volume-title":"Haskell\u201904: Proceedings of the ACM SIGPLAN Workshop on Haskell","author":"P.J. Stuckey","year":"2004","unstructured":"Stuckey, P.J., Sulzmann, M., Wazny, J.: Improving type error diagnosis. In: Haskell\u201904: Proceedings of the ACM SIGPLAN Workshop on Haskell, pp. 80\u201391. ACM Press, New York (2004)"},{"key":"9070_CR30","doi-asserted-by":"crossref","first-page":"1289","DOI":"10.1145\/967900.968162","volume-title":"Proceedings of the 2004 ACM Symposium on Applied Computing (SAC\u201904)","author":"M. Torgersen","year":"2004","unstructured":"Torgersen, M., Hansen, C.P., Ernst, E., von\u00a0der Ah\u00e9, P., Bracha, G., Gafter, N.: Adding wildcards to the Java programming language. In: Proceedings of the 2004 ACM Symposium on Applied Computing (SAC\u201904), pp. 1289\u20131296. ACM Press, New York (2004)"},{"key":"9070_CR31","first-page":"44","volume-title":"Conference Record of the 13th Annual ACM Symposium on Principles of Programming Languages","author":"J.A. Walz","year":"1986","unstructured":"Walz, J.A., Johnson, G.F.: A maximum flow approach to anomaly isolation in unification-based incremental type inference. In: Conference Record of the 13th Annual ACM Symposium on Principles of Programming Languages, St. Petersburg, FL, pp. 44\u201357 (1986)"},{"key":"9070_CR32","first-page":"38","volume-title":"13th Annual ACM Symp. on Principles of Prog. Languages","author":"M. Wand","year":"1986","unstructured":"Wand, M.: Finding the source of type errors. In: 13th Annual ACM Symp. on Principles of Prog. Languages, pp. 38\u201343 (1986)"},{"key":"9070_CR33","series-title":"Intellect Books","first-page":"58","volume-title":"Trends in Functional Programming","author":"J. Yang","year":"2000","unstructured":"Yang, J.: Explaining type errors by finding the sources of type conflicts. In: Michaelson, G., Trinder, P., Loidl, H.W. (eds.) Trends in Functional Programming. Intellect Books, pp. 58\u201366 (2000)"},{"key":"9070_CR34","series-title":"LNCS","first-page":"71","volume-title":"Proceedings of 12th International Workshop on Implementation of Functional Languages","author":"J. Yang","year":"2000","unstructured":"Yang, J., Michaelson, G., Trinder, P., Wells, J.B.: Improved type error reporting. In: Proceedings of 12th International Workshop on Implementation of Functional Languages. LNCS, vol. 2011, pp. 71\u201386. Springer, Berlin (2000)"},{"issue":"4","key":"9070_CR35","doi-asserted-by":"crossref","first-page":"436","DOI":"10.1093\/comjnl\/45.4.436","volume":"45","author":"J. Yang","year":"2002","unstructured":"Yang, J., Michaelson, G., Trinder, P.: Explaining polymorphic types. Comput. J. 45(4), 436\u2013452 (2002)","journal-title":"Comput. J."}],"container-title":["Higher-Order and Symbolic Computation"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10990-011-9070-3","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2017,6,20]],"date-time":"2017-06-20T01:32:34Z","timestamp":1497922354000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10990-011-9070-3"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011,6]]},"references-count":35,"journal-issue":{"issue":"1-2","published-print":{"date-parts":[[2011,6]]}},"alternative-id":["9070"],"URL":"https:\/\/doi.org\/10.1007\/s10990-011-9070-3","relation":{},"ISSN":["1388-3690","1573-0557"],"issn-type":[{"value":"1388-3690","type":"print"},{"value":"1573-0557","type":"electronic"}],"subject":[],"published":{"date-parts":[[2011,6]]}}}