{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,25]],"date-time":"2025-03-25T14:35:59Z","timestamp":1742913359052,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":42,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540285403"},{"type":"electronic","value":"9783540318729"}],"license":[{"start":{"date-parts":[[2005,1,1]],"date-time":"2005-01-01T00:00:00Z","timestamp":1104537600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2005,1,1]],"date-time":"2005-01-01T00:00:00Z","timestamp":1104537600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2005]]},"DOI":"10.1007\/11546382_1","type":"book-chapter","created":{"date-parts":[[2005,9,27]],"date-time":"2005-09-27T14:44:25Z","timestamp":1127832265000},"page":"1-72","source":"Crossref","is-referenced-by-count":15,"title":["Typing Haskell with an Attribute Grammar"],"prefix":"10.1007","author":[{"given":"Atze","family":"Dijkstra","sequence":"first","affiliation":[]},{"given":"S. Doaitse","family":"Swierstra","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"1_CR1","unstructured":"The Glasgow Haskell Compiler (2004), \nhttp:\/\/www.haskell.org\/ghc\/"},{"key":"1_CR2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4419-8598-9","volume-title":"A Theory of Objects","author":"M. Abadi","year":"1996","unstructured":"Abadi, M., Cardelli, L.: A Theory of Objects. Springer, Heidelberg (1996)"},{"key":"1_CR3","unstructured":"Baars, A.: Attribute Grammar System. arSystem (2004), \nhttp:\/\/www.cs.uu.nl\/groups\/ST\/twiki\/bin\/view\/Center\/AttributeGramm"},{"key":"1_CR4","doi-asserted-by":"publisher","first-page":"239","DOI":"10.1007\/BF00264249","volume":"21","author":"R.S. Bird","year":"1984","unstructured":"Bird, R.S.: Using Circular Programs to Eliminate Multiple Traversals of Data. Acta Informatica\u00a021, 239\u2013250 (1984)","journal-title":"Acta Informatica"},{"key":"1_CR5","unstructured":"Boquist, U.: Code Optimisation Techniques for Lazy Functional Languages, PhD Thesis. Chalmers University of Technology (1999)"},{"key":"1_CR6","doi-asserted-by":"crossref","unstructured":"Boquist, U., Johnsson, T.: The GRIN Project: A Highly Optimising Back End For Lazy Functional Languages. In: Selected papers from the 8th International Workshop on Implementation of Functional Languages (1996)","DOI":"10.1007\/3-540-63237-9_19"},{"key":"1_CR7","unstructured":"Botlan, D., Le, Remy, D.: ML-F, Raising ML to the Power of System F. In: ICFP (2003)"},{"key":"1_CR8","first-page":"207","volume-title":"Proceedings of Principles of Programming Languages (POPL)","author":"L. Damas","year":"1982","unstructured":"Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Proceedings of Principles of Programming Languages (POPL), pp. 207\u2013212. ACM, New York (1982)"},{"key":"1_CR9","first-page":"207","volume-title":"9th symposium Principles of Programming Languages","author":"L. Damas","year":"1982","unstructured":"Damas, L., Milner, R.: Principal type-schemes for functional programs. In: 9th symposium Principles of Programming Languages, pp. 207\u2013212. ACM Press, New York (1982)"},{"key":"1_CR10","doi-asserted-by":"crossref","unstructured":"Diatchki, I.S., Jones, M.P., Hallgren, T.: A Formal Specification of the Haskell 98 Module System. In: Haskell Workshop, pp. 17\u201329 (2002)","DOI":"10.1145\/581690.581692"},{"key":"1_CR11","unstructured":"Dijkstra, A.: EHC Web (2004), \nhttp:\/\/www.cs.uu.nl\/groups\/ST\/Ehc\/WebHome"},{"key":"1_CR12","unstructured":"Dijkstra, A., Swierstra, D.: Explicit implicit parameters. Technical Report UU-CS-2004-059, Institute of Information and Computing Science (2004)"},{"key":"1_CR13","unstructured":"Dijkstra, A., Swierstra, D.: Typing Haskell with an Attribute Grammar (Part I). Technical Report UU-CS-2004-037, Department of Computer Science, Utrecht University (2004)"},{"issue":"4","key":"1_CR14","doi-asserted-by":"publisher","first-page":"295","DOI":"10.1017\/S0956796802004380","volume":"12","author":"K.-F. Faxen","year":"2002","unstructured":"Faxen, K.-F.: A Static Semantics for Haskell. Journal of Functional Programming\u00a012(4), 295 (2002)","journal-title":"Journal of Functional Programming"},{"key":"1_CR15","unstructured":"Gaster, B.R., Jones, M.P.: A Polymorphic Type System for Extensible Records and Variants. Technical Report NOTTCS-TR-96-3, Languages and Programming Group, Department of Computer Science, Nottingham (November 1996)"},{"issue":"2","key":"1_CR16","doi-asserted-by":"publisher","first-page":"109","DOI":"10.1145\/227699.227700","volume":"18","author":"C. Hall","year":"1996","unstructured":"Hall, C., Hammond, K., Jones, S.P., Wadler, P.: Type Classes in Haskell. ACM TOPLAS\u00a018(2), 109\u2013138 (1996)","journal-title":"ACM TOPLAS"},{"key":"1_CR17","unstructured":"Heeren, B., Hage, J., Swierstra, S.D.: Generalizing Hindley-Milner Type Inference Algorithms. Technical Report UU-CS-2002-031, Institute of Information and Computing Science, University Utrecht, Netherlands (2002)"},{"key":"1_CR18","first-page":"29","volume":"146","author":"J.R. Hindley","year":"1969","unstructured":"Hindley, J.R.: The principal type-scheme of an object in combinatory logic. Transactions of the American Mathematical Society\u00a0146, 29\u201360 (1969)","journal-title":"Transactions of the American Mathematical Society"},{"key":"1_CR19","doi-asserted-by":"crossref","unstructured":"Johnsson, T.: Attribute grammars as a functional programming paradigm. In: Functional Programming Languages and Computer Architecture, pp. 154\u2013173 (1987)","DOI":"10.1007\/3-540-18317-5_10"},{"key":"1_CR20","unstructured":"Jones, M.P.: Typing Haskell in Haskell. In: Haskell Workshop (1999)"},{"key":"1_CR21","unstructured":"Jones, M.P.: Typing Haskell in Haskell (2000), \nhttp:\/\/www.cse.ogi.edu\/~mpj\/thih\/"},{"key":"1_CR22","unstructured":"Jones, M.P., Jones, S.P.: Lightweight Extensible Records for Haskell. In: Haskell Workshop, number UU-CS-1999-28. Utrecht University, Institute of Information and Computing Sciences (1999)"},{"key":"1_CR23","unstructured":"Kuiper, M.F., Swierstra, S.D.: Using Attribute Grammars to Derive Efficient Functional Programs. In: Computing Science in the Netherlands CSN 1987 (November 1987)"},{"key":"1_CR24","doi-asserted-by":"crossref","unstructured":"L\u00e4mmel, R., Jones, S.P.: Scrap your boilerplate: a practical design pattern for generic programming. In: Types In Languages Design And Implementation, pp. 26\u201337 (2003)","DOI":"10.1145\/640136.604179"},{"key":"1_CR25","unstructured":"Laufer, K., Odersky, M.: Polymorphic Type Inference and Abstract Data Types. Technical Report LUC-001, Loyola University of Chicago (1994)"},{"key":"1_CR26","doi-asserted-by":"crossref","unstructured":"Milner, R.: A theory of type polymorphism in programming. Journal of Computer and System Sciences\u00a017(3) (1978)","DOI":"10.1016\/0022-0000(78)90014-4"},{"issue":"3","key":"1_CR27","doi-asserted-by":"publisher","first-page":"470","DOI":"10.1145\/44501.45065","volume":"10","author":"J.C. Mitchell","year":"1988","unstructured":"Mitchell, J.C., Plotkin, G.D.: Abstract Types Have Existential Type. ACM TOPLAS\u00a010(3), 470\u2013502 (1988)","journal-title":"ACM TOPLAS"},{"key":"1_CR28","doi-asserted-by":"crossref","unstructured":"Odersky, M., Laufer, K.: Putting Type Annotations to Work. In: Principles of Programming Languages, pp. 54\u201367 (1996)","DOI":"10.1145\/237721.237729"},{"key":"1_CR29","unstructured":"Odersky, M., Sulzmann, M., Wehr, M.: Type Inference with Constrained Types. In: Fourth International Workshop on Foundations of Object-Oriented Programming, FOOL 4 (1997)"},{"key":"1_CR30","unstructured":"Perry, N.: The Implementation of Practical Functional Programming Languages (1991)"},{"key":"1_CR31","unstructured":"Jones, S.P.: Haskell 98, Language and Libraries, The Revised Report. Cambridge Univ. Press (2003)"},{"key":"1_CR32","unstructured":"Jones, S.P., Shields, M.: Practical type inference for arbitrary-rank types (2004), \nhttp:\/\/research.microsoft.com\/Users\/simonpj\/papers\/putting\/index.htm"},{"key":"1_CR33","volume-title":"The Implementation of Functional Programming Languages","author":"S.P. Jones","year":"1987","unstructured":"Jones, S.P.: The Implementation of Functional Programming Languages. Prentice Hall, Englewood Cliffs (1987)"},{"key":"1_CR34","volume-title":"Types and Programming Languages","author":"B.C. Pierce","year":"2002","unstructured":"Pierce, B.C.: Types and Programming Languages. MIT Press, Cambridge (2002)"},{"key":"1_CR35","unstructured":"Saraiva, J.: Purely Functional Implementation of Attribute Grammars. PhD thesis, Utrecht University (1999)"},{"issue":"5","key":"1_CR36","doi-asserted-by":"publisher","first-page":"15","DOI":"10.1145\/997140.997142","volume":"39","author":"C.-c. Shan","year":"2004","unstructured":"Shan, C.-c.: Sexy types in action. ACM SIGPLAN Notices\u00a039(5), 15\u201322 (2004)","journal-title":"ACM SIGPLAN Notices"},{"key":"1_CR37","unstructured":"Shields, M., Jones, S.P.: First-class Modules for Haskell. In: Ninth International Conference on Foundations of Object-Oriented Languages (FOOL 9), Portland, Oregon (December 2001)"},{"key":"1_CR38","unstructured":"Utrecht\u00a0University Software Technology\u00a0Group. UUST library (2004), \nhttp:\/\/cvs.cs.uu.nl\/cgi-bin\/cvsweb.cgi\/uust\/"},{"key":"1_CR39","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"150","DOI":"10.1007\/10704973_4","volume-title":"Advanced Functional Programming, Third International School, AFP 1998","author":"S.D. Swierstra","year":"1999","unstructured":"Swierstra, S.D., Alocer, P.R.A., Saraiava, J.: Designing and Implementing Combinator Languages. In: Swierstra, D., Henriques, P., Oliveira, J. (eds.) Advanced Functional Programming, Third International School, AFP 1998. LNCS, vol.\u00a01608, pp. 150\u2013206. Springer, Heidelberg (1999)"},{"key":"1_CR40","volume-title":"Type Theory and Functional Programming","author":"S. Thompson","year":"1991","unstructured":"Thompson, S.: Type Theory and Functional Programming. Addison-Wesley, Reading (1991)"},{"key":"1_CR41","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Theorems for free! In: 4\u2019th International Conference on Functional Programming and Computer Architecture (September 1989)","DOI":"10.1145\/99370.99404"},{"key":"1_CR42","doi-asserted-by":"crossref","unstructured":"Wadler, P.: Deforestation: transforming programs to eliminate trees. Theoretical Computer Science (Special issue of selected papers from 2\u2019nd European Symposium on Programming) 73, 231\u2013248 (1990)","DOI":"10.1016\/0304-3975(90)90147-A"}],"container-title":["Lecture Notes in Computer Science","Advanced Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/11546382_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,7,6]],"date-time":"2021-07-06T06:03:19Z","timestamp":1625551399000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/11546382_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005]]},"ISBN":["9783540285403","9783540318729"],"references-count":42,"URL":"https:\/\/doi.org\/10.1007\/11546382_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2005]]}}}