{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,6]],"date-time":"2024-09-06T23:19:10Z","timestamp":1725664750765},"publisher-location":"Berlin, Heidelberg","reference-count":43,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540616290"},{"type":"electronic","value":"9783540706427"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[1996]]},"DOI":"10.1007\/3-540-61629-2_58","type":"book-chapter","created":{"date-parts":[[2012,2,26]],"date-time":"2012-02-26T22:08:04Z","timestamp":1330294084000},"page":"458-477","source":"Crossref","is-referenced-by-count":2,"title":["Object-oriented functional programming and type reconstruction"],"prefix":"10.1007","author":[{"given":"Zhenyu","family":"Qian","sequence":"first","affiliation":[]},{"given":"Bernd","family":"Krieg-Br\u00fcckner","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2005,6,1]]},"reference":[{"key":"27_CR1","doi-asserted-by":"crossref","unstructured":"Special issue on type systems for object-oriented programming. J. Functional Programming, 4(2), 1994.","DOI":"10.1017\/S0956796800001015"},{"key":"27_CR2","doi-asserted-by":"crossref","unstructured":"M. Abadi and L. Cardelli. A theory of primitive objects: second-order systems. In Proc. European Symp.\/ on Programming. Springer-Verlag LNCS, 1994.","DOI":"10.1007\/3-540-57880-3_1"},{"key":"27_CR3","doi-asserted-by":"crossref","unstructured":"M. Abadi and L. Cardelli. A theory of primitive objects: untyped and first-order systems. In Proc. Theoretical Aspects of Computer Software. Springer-Verlag LNCS, 1994.","DOI":"10.1007\/3-540-57887-0_101"},{"key":"27_CR4","unstructured":"K. Bruce. Typing in object-oriented languages: Achieving expressibility and safety. Technical report, Williams College, 1995. http:\/\/www.cs.williams.edu\/\u223ckim\/."},{"key":"27_CR5","unstructured":"K. Bruce, A. Schuett, and R. van Gent. PolyTOIL: A type-safe polymorphic object-oriented language (extended abstract). In Proc. 9th European Conf. on Object-oriented Programming. Springer-Verlag LNCS, 1995."},{"key":"27_CR6","doi-asserted-by":"crossref","unstructured":"P. Canning, W. Cook, W. Hill, and W. Olthoff. Interfaces for strongly-typed object-oriented programming. In Proc. OOPSLA '89, pages 457\u2013467. ACM, 1989.","DOI":"10.1145\/74877.74924"},{"key":"27_CR7","doi-asserted-by":"crossref","first-page":"130","DOI":"10.1016\/0890-5401(88)90007-7","volume":"76","author":"L. Cardelli","year":"1988","unstructured":"L. Cardelli. A semantics of multiple inheritance. Information and Computation, 76:130\u2013164, 1988.","journal-title":"Information and Computation"},{"key":"27_CR8","unstructured":"L. Cardelli. Extensible records in a pure calculus of subtyping. In C. Gunter and J. Mitchell, editors, Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design. The MIT Press, 1994."},{"issue":"4","key":"27_CR9","doi-asserted-by":"crossref","first-page":"417","DOI":"10.1017\/S0956796800000198","volume":"1","author":"L. Cardelli","year":"1991","unstructured":"L. Cardelli and G. Longo. A semantics for Quest. J. of Functional programming, 1(4):417\u2013458, 1991.","journal-title":"J. of Functional programming"},{"issue":"4","key":"27_CR10","doi-asserted-by":"crossref","first-page":"471","DOI":"10.1145\/6041.6042","volume":"17","author":"L. Cardelli","year":"1985","unstructured":"L. Cardelli and P. Wegner. On understanding types, data abstraction, and polymorphism. Computing Surveys, 17(4):471\u2013522, 1985.","journal-title":"Computing Surveys"},{"key":"27_CR11","doi-asserted-by":"crossref","unstructured":"G. Castagna. Integration of parametric and ad hoc second order polymorphism in a calculus with subtyping. Formal Aspects of Computing, 1995. To appear.","DOI":"10.1007\/BF01214916"},{"key":"27_CR12","doi-asserted-by":"crossref","unstructured":"G. Castagna, G. Ghelli, and G. Longo. A calculus for overloaded functions with subtyping. Information and Computation, 1995. To appear.","DOI":"10.1006\/inco.1995.1033"},{"key":"27_CR13","doi-asserted-by":"crossref","unstructured":"D. Cl\u00e9ment, J. Despeyroux, T. Despeyroux, and G. Kahn. A simple applicative language: Mini-ML. In Proc. ACM Conf. Lisp and Functional Programming, pages 13\u201327, 1986.","DOI":"10.1145\/319838.319847"},{"key":"27_CR14","doi-asserted-by":"crossref","unstructured":"W. Cook. A proposal for making eiffel type-safe. In Proc. European Conf. on Object-oriented Programming, 1989.","DOI":"10.1093\/comjnl\/32.4.305"},{"key":"27_CR15","doi-asserted-by":"crossref","unstructured":"W. Cook, W. Hill, and P. Canning. Inheritance is not subtyping. In Proc. 17th ACM Symp. Principles of Programming Languages. ACM, 1990.","DOI":"10.1145\/96709.96721"},{"key":"27_CR16","doi-asserted-by":"crossref","unstructured":"P.-L. Curien and G. Ghelli. Coherence of subsumption, minimum typing and the type checking in F \u2264 . Mathematical Structures in Computer Science, 2(1), 1992.","DOI":"10.1017\/S0960129500001134"},{"key":"27_CR17","doi-asserted-by":"crossref","unstructured":"L. Damas and R. Milner. Principal type schemes for functional programs. In Proc. 9th ACM Symp. Principles of Programming Languages, pages 207\u2013212, 1982.","DOI":"10.1145\/582153.582176"},{"key":"27_CR18","doi-asserted-by":"crossref","first-page":"155","DOI":"10.1016\/0304-3975(90)90144-7","volume":"73","author":"Y.-C. Fuh","year":"1990","unstructured":"Y.-C. Fuh and P. Mishra. Type inference with subtypes. Theoretical Computer Science, 73:155\u2013175, 1990.","journal-title":"Theoretical Computer Science"},{"key":"27_CR19","doi-asserted-by":"crossref","unstructured":"K. Futatsugi, J. Goguen, J.-P. Jouannaud, and J. Meseguer. Principles of OBJ2. In Proc. 12th ACM Symp. Principles of Programming Languages, pages 52\u201366, 1985.","DOI":"10.1145\/318593.318610"},{"key":"27_CR20","unstructured":"J. Goguen and J. Meseguer. Order-sorted algebra I: Equational deduction for multiple inheritance, polymorphism, and partial operations. Technical report, SRI, 1989."},{"key":"27_CR21","unstructured":"C. Gunter and J. Mitchell (Eds.). Theoretical Aspects of Object-Oriented Programming: Types, Semantics, and Language Design. The MIT Press, 1994."},{"key":"27_CR22","doi-asserted-by":"crossref","unstructured":"M. Hoang and J. Mitchell. Lower bounds on type inference with subtypes. In Proc. 22nd ACM Symp. Principles of Programming Languages, pages 176\u2013185, 1995.","DOI":"10.1145\/199448.199481"},{"key":"27_CR23","doi-asserted-by":"crossref","unstructured":"P. Hudak, S. Peyton Jones, and P. Wadler (Editors). Report on the programming language Haskell: A non-strict, purely functional language (version 1.2). ACM SIGPLAN Notices, 27(5), 1992.","DOI":"10.1145\/130697.130699"},{"key":"27_CR24","unstructured":"J. Hughes and J. Sparud. Haskell++: An object-oriented extension of haskell. In Proc. 1995 Workshop on Haskell, 1995."},{"key":"27_CR25","unstructured":"M. Jones. Simplifying and improving qualified types. In Proc. 1995 Conf. on Functional Programming Languages and Computer Architecture, 1995. Full version as Research Report YALEU\/DCS\/RR-1040, Yale University, June 1994."},{"key":"27_CR26","volume-title":"Proc. Latin American Informatics Conference (PANEL)","author":"K. L\u00e4ufer","year":"1994","unstructured":"K. L\u00e4ufer. Combining type classes and existential types. In Proc. Latin American Informatics Conference (PANEL). ITESM-CEM, Mexico, Sept. 1994."},{"key":"27_CR27","doi-asserted-by":"crossref","unstructured":"K. L\u00e4ufer and M. Odersky. Polymorphic type inference and abstract data types. ACM Transactions on Programming Languages and Systems, 1994.","DOI":"10.1145\/186025.186031"},{"key":"27_CR28","unstructured":"B. Meyer. Object-Oriented Software Construction. Prentice Hall, 1988."},{"key":"27_CR29","unstructured":"R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, 1990."},{"issue":"3","key":"27_CR30","doi-asserted-by":"crossref","first-page":"475","DOI":"10.1145\/44501.45065","volume":"10","author":"J. Mitchell","year":"1988","unstructured":"J. Mitchell and G. Plotkin. Abstract types have existential type. ACM Trans. on Prog. Lang. and Sys, 10(3):475\u2013502, 1988.","journal-title":"ACM Trans. on Prog. Lang. and Sys"},{"key":"27_CR31","volume-title":"PhD thesis","author":"D. Nazareth","year":"1995","unstructured":"D. Nazareth. A Polymorphic Sort System for Axiomatic Specification Languages. PhD thesis, Institut f\u00fcr Informatik, TU M\u00fcnchen, 1995."},{"issue":"2","key":"27_CR32","doi-asserted-by":"crossref","first-page":"201","DOI":"10.1017\/S0956796800001325","volume":"5","author":"T. Nipkow","year":"1995","unstructured":"T. Nipkow and C. Prehofer. Type reconstruction for type classes. Journal of Functional Programming, 5(2):201\u2013224, 1995.","journal-title":"Journal of Functional Programming"},{"key":"27_CR33","doi-asserted-by":"crossref","unstructured":"T. Nipkow and G. Snelting. Type classes and overloading resolution via order-sorted unification. In Proc. 5th ACM Conf. Functional Programming Languages and Computer Architecture, pages 1\u201314. Springer-Verlag LNCS 523, 1991.","DOI":"10.1007\/3540543961_1"},{"key":"27_CR34","doi-asserted-by":"crossref","unstructured":"A. Ohori. A compilation method for ML-style polymorphic record calculi. In Proc. 19th ACM Symp. Principles of Programming Languages, pages 154\u2013165, 1992.","DOI":"10.1145\/143165.143200"},{"key":"27_CR35","doi-asserted-by":"crossref","unstructured":"J. Palsberg. Efficient type inference of object types. In Proc. IEEE Symposium on Logic in Computer Science, pages 186\u2013195, 1994.","DOI":"10.1109\/LICS.1994.316073"},{"issue":"2","key":"27_CR36","doi-asserted-by":"crossref","first-page":"207","DOI":"10.1017\/S0956796800001040","volume":"4","author":"B. Pierce","year":"1994","unstructured":"B. Pierce and D. Turner. Simple type-theoretical foundations for object-oriented programming. J. of Functional Programming, 4(2):207\u2013247, 1994.","journal-title":"J. of Functional Programming"},{"key":"27_CR37","doi-asserted-by":"crossref","unstructured":"Z. Qian and B. Krieg-Br\u00fcckner. Object-oriented functional programming with late binding. In Proc. 10th European. Conf. on Object-Oriented Programming. Springer-Verlag LNCS, 1996. To appear. Long version as technical report FB Informatik, Universit\u00e4t Bremen, March 1996.","DOI":"10.1007\/BFb0053056"},{"key":"27_CR38","doi-asserted-by":"crossref","unstructured":"D. R\u00e9my. Typechecking records and variants in a natural extension of ml. In Proc. 16th ACM Symp. Principles of Programming Languages, pages 77\u201387, 1989.","DOI":"10.1145\/75277.75284"},{"key":"27_CR39","doi-asserted-by":"crossref","first-page":"197","DOI":"10.1016\/0167-6423(94)00020-4","volume":"23","author":"G. S. Smith","year":"1994","unstructured":"G. S. Smith. Principal type schemes for functional programs with overloading and subtyping. Science of Computer Programming, 23:197\u2013226, 1994.","journal-title":"Science of Computer Programming"},{"key":"27_CR40","unstructured":"C. Strachey. Fundamental concepts in programming languages. In Lecture Notes for the International Summer School in Computer Programming, Copenhagen, August 1967."},{"key":"27_CR41","doi-asserted-by":"crossref","unstructured":"C. Szyperski, S. Omohundro, and S. Murer. Engineering a programming language: The type and class system for Sather. In Programming Languages and System Architectures, pages 208\u2013227. Springer-Verlag LNCS 782, 1993.","DOI":"10.1007\/3-540-57840-4_33"},{"key":"27_CR42","doi-asserted-by":"crossref","unstructured":"P. Wadler and S. Blott. How to make ad-hoc polymorphism less ad hoc. In Proc. 16th ACM Symp. Principles of Programming Languages, pages 60\u201376, 1989.","DOI":"10.1145\/75277.75283"},{"key":"27_CR43","unstructured":"M. Wand. Complete type inference for simple objects. In Proc. 2nd IEEE Symp. Logic in Computer Science, pages 37\u201344, 1987. Corrigendum in Proc. 3rd IEEE Symp. Logic in Computer Science."}],"container-title":["Lecture Notes in Computer Science","Recent Trends in Data Type Specification"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/3-540-61629-2_58.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,4,28]],"date-time":"2021-04-28T01:35:15Z","timestamp":1619573715000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/3-540-61629-2_58"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1996]]},"ISBN":["9783540616290","9783540706427"],"references-count":43,"URL":"https:\/\/doi.org\/10.1007\/3-540-61629-2_58","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[1996]]}}}