{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T12:18:49Z","timestamp":1763468329708},"publisher-location":"Berlin, Heidelberg","reference-count":28,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783662494974"},{"type":"electronic","value":"9783662494981"}],"license":[{"start":{"date-parts":[[2016,1,1]],"date-time":"2016-01-01T00:00:00Z","timestamp":1451606400000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2016]]},"DOI":"10.1007\/978-3-662-49498-1_26","type":"book-chapter","created":{"date-parts":[[2016,3,21]],"date-time":"2016-03-21T13:36:06Z","timestamp":1458567366000},"page":"672-698","update-policy":"http:\/\/dx.doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":12,"title":["Type Error Diagnosis for Embedded DSLs by Two-Stage Specialized Type Rules"],"prefix":"10.1007","author":[{"given":"Alejandro","family":"Serrano","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jurriaan","family":"Hage","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"26_CR1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"174","DOI":"10.1007\/978-3-540-30557-6_14","volume-title":"Practical Aspects of Declarative Languages","author":"J Bailey","year":"2005","unstructured":"Bailey, J., Stuckey, P.J.: Discovery of minimal unsatisfiable subsets of constraints using hitting set dualization. In: Hermenegildo, M.V., Cabeza, D. (eds.) PADL 2004. LNCS, vol. 3350, pp. 174\u2013186. Springer, Heidelberg (2005)"},{"key":"26_CR2","unstructured":"Christiansen, D.R.: Reflect on Your Mistakes!. Lightweight Domain-Specific Error Messages, Presented at TFP (2014)"},{"key":"26_CR3","doi-asserted-by":"crossref","unstructured":"Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1982, NY, USA, pp. 207\u2013212. ACM, New York (1982)","DOI":"10.1145\/582153.582176"},{"key":"26_CR4","unstructured":"Diatchki, I.: Custom type errors. \n                    https:\/\/ghc.haskell.org\/trac\/ghc\/wiki\/Proposal\/CustomTypeErrors"},{"key":"26_CR5","doi-asserted-by":"crossref","unstructured":"Giorgidze, G., Grust, T., Schweinsberg, N., Weijers, J.: Bringing back monad comprehensions. In: Proceedings of the 4th ACM Symposium on Haskell, Haskell 2011, NY, USA, pp. 13\u201322. ACM, New York (2011)","DOI":"10.1145\/2034675.2034678"},{"key":"26_CR6","doi-asserted-by":"crossref","unstructured":"Gundry, A.: A typechecker plugin for units of measure: domain-specific constraint solving in GHC haskell. In: Proceedings of the 8th ACM SIGPLAN Symposium on Haskell, Haskell 2015, NY, USA, pp. 11\u201322. ACM, New York (2015)","DOI":"10.1145\/2804302.2804305"},{"issue":"1\u20133","key":"26_CR7","doi-asserted-by":"publisher","first-page":"189","DOI":"10.1016\/j.scico.2004.01.004","volume":"50","author":"C Haack","year":"2004","unstructured":"Haack, C., Wells, J.B.: Type error slicing in implicitly typed higher-order languages. Sci. Comput. Program. 50(1\u20133), 189\u2013224 (2004)","journal-title":"Sci. Comput. Program."},{"key":"26_CR8","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"199","DOI":"10.1007\/978-3-540-74130-5_12","volume-title":"Implementation and Application of Functional Languages","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.) IFL 2006. LNCS, vol. 4449, pp. 199\u2013216. Springer, Heidelberg (2007)"},{"key":"26_CR9","doi-asserted-by":"publisher","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)","journal-title":"Electron. Notes Theor. Comput. Sci."},{"key":"26_CR10","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. 3350, pp. 253\u2013267. Springer, Heidelberg (2005)"},{"key":"26_CR11","doi-asserted-by":"crossref","unstructured":"Heeren, B., Hage, J., Swierstra, S.D.: Scripting the type inference process. In: Proceedings of the Eighth ACM SIGPLAN International Conference on Functional Programming, ICFP 2003, NY, USA, pp. 3\u201313. ACM, New York (2003)","DOI":"10.1145\/944746.944707"},{"key":"26_CR12","doi-asserted-by":"crossref","unstructured":"Heeren, B., Leijen, D., van IJzendoorn, A.: Helium, for learning Haskell. In: Proceedings of the 2003 ACM SIGPLAN Workshop on Haskell, Haskell 2003, NY, USA, pp. 62\u201371. ACM, New York (2003)","DOI":"10.1145\/871895.871902"},{"key":"26_CR13","unstructured":"Heeren, B.J.: Top Quality Type Error Messages. Ph.D. thesis, Universiteit Utrecht, The Netherlands, September 2005"},{"issue":"4es","key":"26_CR14","doi-asserted-by":"crossref","first-page":"196","DOI":"10.1145\/242224.242477","volume":"28","author":"Paul Hudak","year":"1996","unstructured":"Hudak, P.: Building domain-specific embedded languages. ACM Comput. Surv. 28(4es), Article No. 196 (1996). \n                    http:\/\/dl.acm.org\/citation.cfm?id=242477","journal-title":"ACM Computing Surveys"},{"key":"26_CR15","doi-asserted-by":"crossref","unstructured":"Koops, H.V., Magalh\u00e3es, J.P., De Haas, W.B.: A functional approach to automatic melody harmonisation. In: Proceedings of the First ACM SIGPLAN Workshop on Functional Art, Music, Modeling & Design, FARM 2013, pp. 47\u201358. ACM (2013)","DOI":"10.1145\/2505341.2505343"},{"issue":"4","key":"26_CR16","doi-asserted-by":"publisher","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":"26_CR17","doi-asserted-by":"crossref","unstructured":"Lorenzen, F., Erdweg, S.: Modular and automated type-soundness verification for language extensions. In: Proceedings of the 18th ACM SIGPLAN International Conference on Functional Programming, ICFP 2013, NY, USA, pp. 331\u2013342. ACM, New York (2013)","DOI":"10.1145\/2544174.2500596"},{"key":"26_CR18","doi-asserted-by":"crossref","unstructured":"Marceau, G., Fisler, K., Krishnamurthi, S.: Mind your language: on novices\u2019 interactions with error messages. In: Proceedings of the 10th SIGPLAN Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software, Onward! 2011, NY, USA, pp. 3\u201318. ACM, New York (2011)","DOI":"10.1145\/2048237.2048241"},{"key":"26_CR19","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"137","DOI":"10.1007\/3-540-48515-5_9","volume-title":"Implementation of Functional Languages","author":"BJ McAdam","year":"1999","unstructured":"McAdam, B.J.: On the unification of substitutions in type inference. In: Hammond, K., Davie, T., Clack, C. (eds.) IFL 1998. LNCS, vol. 1595, pp. 137\u2013152. Springer, Heidelberg (1999)"},{"key":"26_CR20","unstructured":"Plociniczak, H., Miller, H., Odersky, M.: Improving human-compiler interaction through customizable type feedback (2014)"},{"key":"26_CR21","first-page":"389","volume-title":"Advanced Topics in Types and Programming Languages, chapter 10","author":"F Pottier","year":"2004","unstructured":"Pottier, F., R\u00e9my, D.: The essence of ML type inference. In: Pierce, B.C. (ed.) Advanced Topics in Types and Programming Languages, chapter 10, pp. 389\u2013489. MIT Press, Cambridge (2004). \n                    http:\/\/dl.acm.org\/citation.cfm?id=1076265"},{"key":"26_CR22","unstructured":"Serrano, A., Hage, J.: Specialized type rules in Cobalt. Technical report, Department of Information and Computing Sciences, Utrecht University (2015)"},{"key":"26_CR23","volume-title":"Developing Web Applications with Haskell and Yesod","author":"M Snoyman","year":"2012","unstructured":"Snoyman, M.: Developing Web Applications with Haskell and Yesod. O\u2019Reilly Media Inc, USA (2012)"},{"key":"26_CR24","doi-asserted-by":"crossref","unstructured":"Taha, W.: Plenary talk III domain-specific languages. In: ICCES 2008, International Conference on Computer Engineering Systems, 2008, pp. xxiii\u2013xxviii. November 2008","DOI":"10.1109\/ICCES.2008.4772953"},{"key":"26_CR25","volume-title":"DSL Engineering - Designing, Implementing and Using Domain-Specific Languages","author":"M Voelter","year":"2013","unstructured":"Voelter, M.: DSL Engineering - Designing, Implementing and Using Domain-Specific Languages. CreateSpace Independent Publishing Platform, Hamburg (2013)"},{"issue":"4\u20135","key":"26_CR26","doi-asserted-by":"publisher","first-page":"333","DOI":"10.1017\/S0956796811000098","volume":"21","author":"D Vytiniotis","year":"2011","unstructured":"Vytiniotis, D., Peyton Jones, S., Schrijvers, T., Sulzmann, M.: OutsideIn(X): modular type inference with local assumptions. J. Funct. Program. 21(4\u20135), 333\u2013412 (2011)","journal-title":"J. Funct. Program."},{"key":"26_CR27","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Comprehending monads. In: Proceedings of the 1990 ACM Conference on LISP and Functional Programming, LFP 1990, NY, USA, pp. 61\u201378. ACM, New York (1990)","DOI":"10.1145\/91556.91592"},{"key":"26_CR28","doi-asserted-by":"crossref","unstructured":"Yorgey, B.A.: Monoids: Theme and variations. In: Proceedings of the 2012 Haskell Symposium, Haskell 2012, NY, USA, pp. 105\u2013116. ACM, New York (2012)","DOI":"10.1145\/2364506.2364520"}],"container-title":["Lecture Notes in Computer Science","Programming Languages and Systems"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-662-49498-1_26","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2020,3,23]],"date-time":"2020-03-23T01:06:03Z","timestamp":1584925563000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-662-49498-1_26"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016]]},"ISBN":["9783662494974","9783662494981"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/978-3-662-49498-1_26","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2016]]},"assertion":[{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}