{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T20:13:01Z","timestamp":1774987981146,"version":"3.50.1"},"publisher-location":"Berlin, Heidelberg","reference-count":45,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"value":"9783540334385","type":"print"},{"value":"9783540334392","type":"electronic"}],"license":[{"start":{"date-parts":[[2006,1,1]],"date-time":"2006-01-01T00:00:00Z","timestamp":1136073600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2006]]},"DOI":"10.1007\/11737414_16","type":"book-chapter","created":{"date-parts":[[2006,3,15]],"date-time":"2006-03-15T11:54:37Z","timestamp":1142423677000},"page":"226-241","source":"Crossref","is-referenced-by-count":59,"title":["Contracts as Pairs of Projections"],"prefix":"10.1007","author":[{"given":"Robert Bruce","family":"Findler","sequence":"first","affiliation":[]},{"given":"Matthias","family":"Blume","sequence":"additional","affiliation":[]}],"member":"297","reference":[{"key":"16_CR1","unstructured":"Bartetzko, D.: Parallelit\u00e4t und Vererbung beim Programmieren mit Vertrag. Diplomarbeit, Universit\u00e4t Oldenburg (April 1999)"},{"key":"16_CR2","unstructured":"Blume, M., McAllester, D.: Sound and complete models of contracts. Journal of Functional Programming (to appear)"},{"issue":"9","key":"16_CR3","first-page":"23","volume":"7","author":"M. Carrillo-Castellon","year":"1996","unstructured":"Carrillo-Castellon, M., Garcia-Molina, J., Pimentel, E., Repiso, I.: Design by contract in Smalltalk. Journal of Object-Oriented Programming\u00a07(9), 23\u201328 (1996)","journal-title":"Journal of Object-Oriented Programming"},{"key":"16_CR4","unstructured":"Cheon, Y.: A runtime assertion checker for the Java Modelling Language. Technical Report 03-09, Iowa State University Computer Science Department (April 2003)"},{"key":"16_CR5","unstructured":"Conway, D., Goebel, C.G.: Class:Contract \u2013 design-by-contract OO in Perl, http:\/\/search.cpan.org\/~ggoebel\/Class-Contract-1.14\/"},{"key":"16_CR6","doi-asserted-by":"crossref","unstructured":"Danvy, O., Nielsen, L.R.: Defunctionalization at work. In: International Conference on Principles and Practice of Declarative Programming (2001)","DOI":"10.1145\/773184.773202"},{"key":"16_CR7","unstructured":"Duncan, A., H\u00f6lzle, U.: Adding contracts to Java with handshake. Technical Report TRCS98-32, The University of California at Santa Barbara (December 1998)"},{"issue":"4","key":"16_CR8","doi-asserted-by":"publisher","first-page":"295","DOI":"10.1007\/BF01806308","volume":"5","author":"R.K. Dybvig","year":"1993","unstructured":"Dybvig, R.K., Hieb, R., Bruggeman, C.: Syntactic abstraction in Scheme. Lisp and Symbolic Computation\u00a05(4), 295\u2013326 (1993)","journal-title":"Lisp and Symbolic Computation"},{"key":"16_CR9","doi-asserted-by":"crossref","unstructured":"Felleisen, M., Hieb, R.: The revised report on the syntactic theories of sequential control and state. Theoretical Computer Science, 235\u2013271 (1992)","DOI":"10.1016\/0304-3975(92)90014-7"},{"key":"16_CR10","unstructured":"Findler, B., Blume, C., Felleisen, F., Huang, M., McCarthy, S., Press, R., Reppy, R., Spiro, T., Wick: The eighth annual ICFP programming contest, http:\/\/icfpc.plt-scheme.org\/"},{"key":"16_CR11","unstructured":"Findler, R.B., Blume, M.: Contracts as pairs of projections. Technical Report TR- 2006-01, University of Chicago Computer Science Department (2006), http:\/\/www.cs.uchicago.edu\/research\/publications\/techreports\/TR-2006-01"},{"key":"16_CR12","unstructured":"Findler, R.B., Blume, M., Felleisen, M.: An investigation of contracts as projections. Technical Report TR-2004-02, University of Chicago Computer Science Department (2004)"},{"key":"16_CR13","doi-asserted-by":"crossref","unstructured":"Findler, R.B., Felleisen, M.: Contract soundness for object-oriented languages. In: Object-Oriented Programming, Systems, Languages, and Applications (2001)","DOI":"10.1145\/504282.504283"},{"key":"16_CR14","doi-asserted-by":"crossref","unstructured":"Findler, R.B., Felleisen, M.: Contracts for higher-order functions. In: Proceedings of ACM SIGPLAN International Conference on Functional Programming (2002)","DOI":"10.1145\/581478.581484"},{"key":"16_CR15","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"365","DOI":"10.1007\/978-3-540-24851-4_17","volume-title":"ECOOP 2004 \u2013 Object-Oriented Programming","author":"R.B. Findler","year":"2004","unstructured":"Findler, R.B., Flatt, M., Felleisen, M.: Semantic casts: Contracts and structural subtyping in a nominal world. In: Odersky, M. (ed.) ECOOP 2004. LNCS, vol.\u00a03086, pp. 365\u2013389. Springer, Heidelberg (2004)"},{"key":"16_CR16","doi-asserted-by":"crossref","unstructured":"Findler, R.B., Latendresse, M., Felleisen, M.: Behavioral contracts and behavioral subtyping. In: Proceedings of ACM Conference Foundations of Software Engineering (2001)","DOI":"10.1145\/503209.503240"},{"key":"16_CR17","unstructured":"Flatt, M.P.: Language manual. Technical Report TR97-280, Rice University (1997), http:\/\/www.mzscheme.org\/"},{"key":"16_CR18","doi-asserted-by":"crossref","unstructured":"Gray, K.E., Findler, R.B., Flatt, M.: Fine-grained interoperability through contracts and mirrors. In: Object-Oriented Programming, Systems, Languages, and Applications (2005)","DOI":"10.1145\/1094811.1094830"},{"key":"16_CR19","unstructured":"Jones, S.P., Washburn, G., Weirich, S.: Wobbly types: Practical type inference for generalized algebraic dataypes, http:\/\/www.cis.upenn.edu\/~sweirich\/publications.html"},{"key":"16_CR20","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"175","DOI":"10.1007\/3-540-48443-4_18","volume-title":"Meta-Level Architectures and Reflection","author":"M. Karaorman","year":"1999","unstructured":"Karaorman, M., H\u00f6lzle, U., Bruno, J.: jContractor: A reflective java library to support design by contract. In: Cointe, P. (ed.) Reflection 1999. LNCS, vol.\u00a01616, p. 175. Springer, Heidelberg (1999)"},{"key":"#cr-split#-16_CR21.1","unstructured":"Kelsey, R., Clinger, W., Rees, J. (eds.): Revised5 report of the algorithmic language Scheme; Higher-Order and Symbolic Computation 11(1), 7???105 (1998);"},{"key":"#cr-split#-16_CR21.2","unstructured":"Kelsey, R., Clinger, W., Rees, J. (eds.): Revised5 report of the algorithmic language Scheme; Higher-Order and Symbolic Computation 11(1), 7\u2013105 (1998); Also appears in ACM SIGPLAN Notices 33(9) (September 1998)"},{"key":"16_CR22","unstructured":"Kiniry, J.R., Cheong, E.: JPP: A Java pre-processor. Technical Report CS-TR-98-15, Department of Computer Science, California Institute of Technology (1998)"},{"key":"16_CR23","doi-asserted-by":"crossref","unstructured":"Kohlbecker, E.E., Friedman, D.P., Felleisen, M., Duba, B.F.: Hygienic macro expansion. In: ACM Symposium on Lisp and Functional Programming, pp. 151\u2013161 (1986)","DOI":"10.1145\/319838.319859"},{"key":"16_CR24","unstructured":"Kramer, R.: iContract: The Java design by contract tool. In: Technology of Object-Oriented Languages and Systems (1998)"},{"key":"16_CR25","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511569814","volume-title":"Projections factorizations in partial evaluation","author":"J. Launchbury","year":"1991","unstructured":"Launchbury, J.: Projections factorizations in partial evaluation. Cambridge University Press, Cambridge (1991)"},{"key":"16_CR26","unstructured":"Man Machine Systems. Design by contract for Java using JMSAssert (2000), http:\/\/www.mmsindia.com\/"},{"key":"16_CR27","unstructured":"Matthews, J., Findler, R.B.: An operational semantics for R5RS Scheme. In: Workshop on Scheme and Functional Programming (2005)"},{"key":"16_CR28","unstructured":"McCarthy, J.: A basis for a mathematical theory of computation. Computer Programming and Formal Systems (1961), http:\/\/www-formal.stanford.edu\/jmc\/basis\/basis.html"},{"key":"16_CR29","unstructured":"McFarlane, K.: Design by contract framework, http:\/\/www.codeproject.com\/csharp\/designbycontract.asp"},{"key":"16_CR30","volume-title":"The Language","author":"B.E. Meyer","year":"1992","unstructured":"Meyer, B.E.: The Language. Prentice-Hall, Englewood Cliffs (1992)"},{"issue":"5","key":"16_CR31","doi-asserted-by":"publisher","first-page":"330","DOI":"10.1145\/355602.361309","volume":"15","author":"D.L. Parnas","year":"1972","unstructured":"Parnas, D.L.: A technique for software module specification with examples. Communications of the ACM\u00a015(5), 330\u2013336 (1972)","journal-title":"Communications of the ACM"},{"key":"16_CR32","unstructured":"Pl\u00f6sch, R.: Design by contract for Python. In: IEEE Proceedings of the Joint Asia Pacific Software Engineering Conference (1997), http:\/\/citeseer.nj.nec.com\/257710.html"},{"key":"16_CR33","doi-asserted-by":"crossref","unstructured":"Pl\u00f6sch, R., Pichler, J.: Contracts: From analysis to C++ implementation. In: Technology of Object-Oriented Languages and Systems, pp. 248\u2013257 (1999)","DOI":"10.1109\/TOOLS.1999.787553"},{"key":"16_CR34","doi-asserted-by":"publisher","first-page":"125","DOI":"10.1016\/0304-3975(75)90017-1","volume":"1","author":"G.D. Plotkin","year":"1975","unstructured":"Plotkin, G.D.: Call-by-name, call-by-value and the \u03bb-calculus. Theoretical Computer Science\u00a01, 125\u2013159 (1975), http:\/\/homepages.inf.ed.ac.uk\/gdp\/publications\/cbncbvlambda.pdf","journal-title":"Theoretical Computer Science"},{"key":"16_CR35","unstructured":"PLT. PLT MzLib: Libraries manual. Technical Report PLT-TR05-4-v300, PLT Scheme Inc. (2005), http:\/\/www.plt-scheme.org\/techreports\/"},{"key":"#cr-split#-16_CR36.1","doi-asserted-by":"crossref","unstructured":"Reynolds, J.C.: Definitional interpreters for higher-order programming languages. Higher- Order and Symbolic Computation??11(4), 363???397 (1998);","DOI":"10.1023\/A:1010027404223"},{"key":"#cr-split#-16_CR36.2","unstructured":"Reprinted from the proceedings of the 25th ACM National Conference (1972), with a foreword"},{"issue":"1","key":"16_CR37","doi-asserted-by":"publisher","first-page":"19","DOI":"10.1109\/32.341844","volume":"21","author":"D.S. Rosenblum","year":"1995","unstructured":"Rosenblum, D.S.: A practical approach to programming with assertions. IEEE Transactions on Software Engineering\u00a021(1), 19\u201331 (1995)","journal-title":"IEEE Transactions on Software Engineering"},{"issue":"3\/4","key":"16_CR38","doi-asserted-by":"publisher","first-page":"289","DOI":"10.1007\/BF01019462","volume":"6","author":"A. Sabry","year":"1993","unstructured":"Sabry, A., Felleisen, M.: Reasoning about programs in continuation-passing style. Lisp and Symbolic Computation\u00a06(3\/4), 289\u2013360 (1993)","journal-title":"Lisp and Symbolic Computation"},{"issue":"3","key":"16_CR39","first-page":"522","volume":"5","author":"D.S. Scott","year":"1976","unstructured":"Scott, D.S.: Data types as lattices. Society of Industrial and Applied Mathematics (SIAM) Journal of Computing\u00a05(3), 522\u2013586 (1976)","journal-title":"Society of Industrial and Applied Mathematics (SIAM) Journal of Computing"},{"key":"16_CR40","unstructured":"The GHC Team. Glasgow Haskell compiler, http:\/\/www.haskell.org\/ghc\/"},{"key":"16_CR41","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"385","DOI":"10.1007\/3-540-18317-5_21","volume-title":"Functional Programming Languages and Computer Architecture","author":"P. Wadler","year":"1987","unstructured":"Wadler, P., Hughes, R.J.M.: Projections for Strictness Analysis. In: Kahn, G. (ed.) FPCA 1987. LNCS, vol.\u00a0274, pp. 385\u2013407. Springer, Heidelberg (1987)"},{"key":"16_CR42","doi-asserted-by":"crossref","unstructured":"Xi, H., Chen, C., Chen, G.: Guarded recursive datatype constructors. In: Proceedings of the ACM Conference Principles of Programming Languages (2003)","DOI":"10.1145\/604131.604150"},{"key":"16_CR43","doi-asserted-by":"crossref","unstructured":"Yang, Z.: Encoding types in ml-like languages. In: Proceedings of ACM SIGPLAN International Conference on Functional Programming (1998)","DOI":"10.1145\/289423.289458"}],"container-title":["Lecture Notes in Computer Science","Functional and Logic Programming"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/11737414_16","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,1,8]],"date-time":"2025-01-08T01:17:52Z","timestamp":1736299072000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/11737414_16"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006]]},"ISBN":["9783540334385","9783540334392"],"references-count":45,"URL":"https:\/\/doi.org\/10.1007\/11737414_16","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"value":"0302-9743","type":"print"},{"value":"1611-3349","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006]]}}}