diff --git a/paper/main.bib b/paper/main.bib index 9432121c98..845f3a167d 100644 --- a/paper/main.bib +++ b/paper/main.bib @@ -1,836 +1,291 @@ -@manual{erlang2020manual, - title = {{Erlang/OTP} System Documentation}, - organization = {Ericsson AB}, - year = 2020, +@misc{bugayenko2021reducing, + archiveprefix = {arXiv}, + author = {Bugayenko, Yegor}, + eprint = {2112.11988}, + primaryclass = {cs.PL}, + title = {{Reducing Programs to Objects}}, + year = {2021}, +} + +@misc{bugayenko2021eolang, + archiveprefix = {arXiv}, + author = {Bugayenko, Yegor}, + eprint = {2111.13384}, + primaryclass = {cs.PL}, + title = {{EOLANG and phi-calculus}}, + year = {2021}, +} + +@misc{kudasov2021, + archiveprefix = {arXiv}, + author = {Kudasov, Nikolai and Kim, Violetta}, + eprint = {2204.07454}, + primaryclass = {cs.PL}, + title = {{$\varphi$-calculus: a purely object-oriented calculus of decorated objects}}, + year = {2022}, +} + +@inproceedings{dechev2006lock, + author = {Dechev, Damian and Pirkelbauer, Peter and Stroustrup, Bjarne}, + booktitle = {{International Conference On Principles Of Distributed Systems}}, + pages = {142--156}, + title = {{Lock-free Dynamically Resizable Arrays}}, + year = {2006}, +} + +@article{feldman2015efficient, + author = {Feldman, Steven and Valera-Leon, Carlos and Dechev, Damian}, + journal = {{IEEE Transactions on Parallel and Distributed Systems}}, + number = {3}, + pages = {654--667}, + title = {{An Efficient Wait-free Vector}}, + volume = {27}, + year = {2015}, +} + +@inproceedings{walulya2017scalable, + author = {Walulya, Ivan and Tsigas, Philippas}, + booktitle = {{IEEE International Parallel and Distributed Processing Symposium}}, + pages = {917--926}, + title = {{Scalable Lock-free Vector with Combining}}, + year = {2017}, +} + +@article{ieee754, + author = {IEEE~754}, + doi = {10.1109/IEEESTD.2019.8766229}, + journal = {{IEEE Std 754-2019 (Revision of IEEE 754-2008)}}, + title = {{IEEE Standard for Floating-Point Arithmetic}}, + year = {2019}, +} + +@article{karp1966properties, + author = {Karp, Richard M. and Miller, Rayamond E.}, + journal = {{SIAM Journal on Applied Mathematics}}, + number = {6}, + pages = {1390--1411}, + publisher = {SIAM}, + title = {{Properties of a Model for Parallel Computations: Determinacy, Termination, Queueing}}, + volume = {14}, + year = {1966}, +} + +@inproceedings{dennis1974first, + author = {Dennis, Jack B.}, + booktitle = {{Programming Symposium}}, + organization = {Springer}, + pages = {362--376}, + title = {{First Version of a Data Flow Procedure Language}}, + year = {1974}, +} + +@inproceedings{dennis1974preliminary, + author = {Dennis, Jack B. and Misunas, David P.}, + booktitle = {{Proceedings of the 2nd Annual Symposium on Computer Architecture}}, + pages = {126--132}, + title = {{A Preliminary Architecture for a Basic Data-flow Processor}}, + year = {1974}, +} + +@inproceedings{vilim2021aurochs, + author = {Vilim, Matthew and Rucker, Alexander and Olukotun, Kunle}, + booktitle = {{ACM/IEEE International Symposium on Computer Architecture}}, + title = {{Aurochs: An Architecture for Dataflow Threads}}, + year = {2021}, +} + +@article{patt1985hps, + author = {Patt, Yale N. and Hwu, Wen-mei and Shebanow, Michael}, + journal = {{ACM SIGMICRO Newsletter}}, + number = {4}, + title = {{HPS, a New Microarchitecture: Rationale and Introduction}}, + volume = {16}, + year = {1985}, +} + +@inproceedings{wang2021diag, + author = {Wang, Dong Kai and Kim, Nam Sung}, + booktitle = {{ACM International Conference on Architectural Support for Programming Languages and Operating Systems}}, + title = {{DiAG: a Dataflow-inspired Architecture for General-Purpose processors}}, + year = {2021}, +} + +@article{swanson2007wavescalar, + author = {Swanson, Steven and Schwerin, Andrew and Mercaldi, Martha and Petersen, Andrew and Putnam, Andrew and Michelson, Ken and Oskin, Mark and Eggers, Susan J.}, + journal = {{ACM Transactions on Computer Systems}}, + number = {2}, + title = {{The Wavescalar Architecture}}, + volume = {25}, + year = {2007}, +} + +@inproceedings{arvind1981data, + author = {Arvind}, + booktitle = {{International Symposium on Computer Architecture}}, + title = {{Data Flow Languages and Architecture}}, + year = {1981}, +} + +@article{arvind1986dataflow, + author = {Arvind and Culler, David E.}, + journal = {{Annual Review of Computer Science}}, + number = {1}, + pages = {225--253}, + title = {{Dataflow Architectures}}, + volume = {1}, + year = {1986}, +} + +@inproceedings{nowatzki2015exploring, + author = {Nowatzki, Tony and Gangadhar, Vinay and Sankaralingam, Karthikeyan}, + booktitle = {{42nd Annual International Symposium on Computer Architecture}}, + pages = {298--310}, + title = {{Exploring the Potential of Heterogeneous von Neumann/Dataflow Execution Models}}, + year = {2015}, +} + +@article{burger2004scaling, + author = {Burger, Doug and Keckler, Stephen W. and McKinley, Kathryn S. and Dahlin, Mike and John, Lizy K. and Lin, Calvin and Moore, Charles R. and Burrill, James and McDonald, Robert G. and Yoder, William}, + journal = {{Computer}}, + number = {7}, + title = {{Scaling to the End of Silicon with EDGE Architectures}}, + volume = {37}, + year = {2004}, +} + +@article{nikhil1990executing, + author = {Nikhil, Rishiyur S. and others}, + journal = {{IEEE Transactions on Computers}}, + number = {3}, + title = {{Executing a Program on the MIT Tagged-token Dataflow Architecture}}, + volume = {39}, + year = {1990}, +} + +@article{gurd1985, + author = {Gurd, J. R. and Kirkham, C. C. and Watson, I.}, + journal = {{Communications of the ACM}}, + number = {1}, + title = {{The Manchester Prototype Dataflow Computer}}, + volume = {28}, + year = {1985}, +} + +@inproceedings{davis1978architecture, + author = {Davis, Alan L.}, + booktitle = {{Proceedings of the 5th Annual Symposium on Computer Architecture}}, + pages = {210--215}, + title = {{The Architecture and System Method of DDM1: A Recursively Structured Data Driven Machine}}, + year = {1978}, } - -@inproceedings{usov2020, - author = {Usov, Artem and Dardha, Prnela}, - title = {{SJF:} An Implementation of Semantic Featherweight Java}, - booktitle = {Coordination Models and Languages. {COORDINATION} 2020}, - year = 2020, - volume = 12134, - publisher = {Springer}, - journal = {Lecture Notes in Computer Science}, -} - -@article{bright2020origins, - author = {Bright, Walter and Alexandrescu, Andrei and Parker, Michael}, - title = {Origins of the D programming language}, - journal = {ACM on Programming Languages}, - year = 2020, - volume = 4, -} - -@article{coblenz2019, - author = {Coblenz, Michael J. and Oei, Reed and Etzel, Tyler and Koronkevich, Paulette and Baker, Miles and Bloem, Yannick and Myers, Brad A. and Sunshine, Joshua and Aldrich, Jonathan}, - title = {Obsidian: Typestate and Assets for Safer Blockchain Programming}, - journal = {CoRR}, - volume = 1, - year = 2019, -} - -@book{jdk8, - author = {Schildt, Herbert}, - title = {Java: The Complete Reference, Eleventh Edition}, - publisher = {McGraw-Hill Education}, - year = 2018, - edition = {11th}, -} - -@inproceedings{bi2018typed, - author = {Bi, Xuan and Oliveira, Bruno C d S}, - title = {Typed First-Class Traits}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 2018, -} - -@inproceedings{rocha2018javaexception, - author = {Rocha, Jonathan and Melo, Hugo and Coelho, Roberta and Sena, Bruno}, - title = {Towards a Catalogue of Java Exception Handling Bad Smells and Refactorings}, - booktitle = {Proceedings of the 25th Conference on Pattern Languages of Programs}, - year = 2018, - series = {PLoP '18}, - address = {USA}, - publisher = {The Hillside Group}, - keywords = {exception handling, Java, patterns}, -} - -@article{khanam2018, - author = {Khanam, Zeba}, - title = {Barriers to Refactoring: Issues and Solutions}, - journal = {International Journal on Future Revolution in Computer Science \& Communication Engineering}, - year = 2018, - volume = 4, -} - -@book{jemerov2017kotlin, - author = {Jemerov, Dmitry and Isakova, Svetlana}, - title = {Kotlin in Action}, - publisher = {Manning Publications Company}, - year = 2017, -} - -@misc{gannimo2017typeconfusion, - author = {Gannimo}, - title = {Type Confusion: Discovery, Abuse, and Protection}, - howpublished = {Chaos Computer Club e.V.}, - year = 2017, -} - -@book{eo2, - author = {Bugayenko, Yegor}, - title = {Elegant Objects}, - publisher = {Amazon}, - year = 2017, - volume = 2, -} - -@book{ierusalimschy2016lua, - author = {Ierusalimschy, Roberto}, - title = {Programming in Lua, Fourth Edition}, - publisher = {Lua.Org}, - year = 2016, -} - -@book{bloch2016effective, - author = {Bloch, Joshua}, - title = {Effective Java}, - publisher = {Pearson Education India}, - year = 2016, -} - -@book{eo1, - author = {Bugayenko, Yegor}, - title = {Elegant Objects}, - publisher = {Amazon}, - year = 2016, - volume = 1, + +@inproceedings{grafe1989epsilon, + author = {Grafe, V. Gerald and Davidson, George S. and Hoch, Jamie E. and Holmes, Victor P.}, + booktitle = {{Proceedings of the 16th Annual International Symposium on Computer Architecture}}, + pages = {36--45}, + title = {{The Epsilon Dataflow Processor}}, + year = {1989}, +} + +@inproceedings{kishi1983dddp, + author = {Kishi, Masasuke and Yasuhara, Hiroshi and Kawamura, Yasusuke}, + booktitle = {{Proceedings of the 10th Annual International Symposium on Computer Architecture}}, + pages = {236--242}, + title = {{DDDP-a Distributed Data Driven Processor}}, + year = {1983}, +} + +@article{papadopoulos1990monsoon, + author = {Papadopoulos, Gregory M. and Culler, David E.}, + journal = {{ACM SIGARCH Computer Architecture News}}, + number = {2SI}, + pages = {82--91}, + title = {{Monsoon: an Explicit Token-store Architecture}}, + volume = {18}, + year = {1990}, +} + +@article{whiting1994history, + author = {Whiting, Paul G. and Pascoe, Robert S. V.}, + journal = {{IEEE Annals of the History of Computing}}, + number = {4}, + pages = {38--59}, + title = {{A History of Data-flow Languages}}, + volume = {16}, + year = {1994}, +} + +@article{gajski1982second, + author = {Gajski, Daniel D. and Padua, David A. and Kuck, David J. and Kuhn, Robert H.}, + journal = {{Computer}}, + number = {02}, + pages = {58--69}, + title = {{A Second Opinion on Data Flow Machines and Languages}}, + volume = {15}, + year = {1982}, +} + +@inproceedings{ackerman1979data, + author = {Ackerman, William B.}, + booktitle = {{International Workshop on Managing Requirements Knowledge}}, + organization = {IEEE}, + title = {{Data Flow Languages}}, + year = {1979}, +} + +@inproceedings{weixing2007, + author = {Ji, Weixing and Shi, Feng and Qiao, Baojun and Kamran, Muhammad}, + booktitle = {{IEEE International Conference on Application-specific Systems, Architectures and Processors}}, + title = {{The Design of a Novel Object-oriented Processor: OOMIPS}}, + year = {2007}, +} + +@inproceedings{fong2010, + author = {Fong, Anthony and Yau, C.H. and Yiyu, Tan}, + booktitle = {{International Symposium on Computer, Communication, Control and Automation}}, + title = {{An Object-oriented Processor with Just-In-Time Compilation Support}}, + year = {2010}, +} + +@misc{chen1999, + author = {Chen, Tao Shinn}, + title = {{Object-oriented Processor Architecture and Operating Method, U.S. Patent US6003038A}}, + year = {1999}, } - -@book{bernstein2016legacy, - author = {Bernstein, David Scott}, - title = {Beyond Legacy Code: Nine Practices to Extend the Life (and Value) of Your Software}, - publisher = {Pragmatic Bookshelf}, - year = 2016, -} - -@book{donovankernighan2015go, - author = {Donovan, Alan A.A. and Kernighan, Brian W.}, - title = {The Go Programming Language}, - publisher = {Addison-Wesley Professional}, - year = 2015, -} - -@article{shelly2015flaws, - url = {https://software.intel.com/content/www/us/en/develop/blogs/flaws-of-object-oriented-modeling.html}, - author = {Shelly, Asaf}, - organization = {Intel}, - title = {Flaws of Object Oriented Modeling}, - year = 2015, -} - -@book{nielson2015principles, - author = {Nielson, Flemming and Nielson, Hanne R and Hankin, Chris}, - title = {Principles of Program Analysis}, - publisher = {Springer}, - year = 2015, -} - -@article{matsakis2014rust, - author = {Matsakis, Nicholas D and Klock, Felix S}, - title = {The Rust Language}, - journal = {ACM SIGADA Ada Letters}, - year = 2014, - volume = 34, - number = 3, -} - -@inproceedings{burton2014using, - author = {Burton, Eden and Sekerinski, Emil}, - title = {Using Dynamic Mixins to Implement Design Patterns}, - booktitle = {European Conference on Pattern Languages of Programs}, - year = 2014, -} - -@book{nystrom2014game, - author = {Nystrom, R.}, - title = {Game Programming Patterns}, - publisher = {Genever Benning}, - year = 2014, - isbn = 9780990582908, -} - -@book{jech2013set, - author = {Jech, Thomas}, - title = {Set Theory}, - publisher = {Springer Science \& Business Media}, - year = 2013, -} - -@book{lutz2013learning, - author = {Lutz, Mark}, - title = {Learning Python: Powerful Object-Oriented Programming}, - publisher = {O'Reilly Media}, - year = 2013, -} - -@misc{bezanson2012julia, - author = {Bezanson, Jeff and Karpinski, Stefan and Shah, Viral B. and Edelman, Alan}, - title = {Julia: A Fast Dynamic Language for Technical Computing}, - year = 2012, -} - -@book{liang2012, - author = {Liang, Y Daniel}, - title = {Introduction to Java Programming: Brief Version}, - publisher = {Pearson Education, Inc.}, - year = 2012, - edition = 9, -} - -@book{barendregt2012, - author = {Barendregt, Hendrik P}, - title = {The Lambda Calculus: Its Syntax and Semantics}, - publisher = {College Publications}, - year = 2012, -} - -@article{bettinibono2008delegation, - author = {Bettini, Lorenzo and Bono, Viviana and Venneri, Betti}, - title = {Delegation by Object Composition}, - journal = {Science of Computer Programming}, - year = 2011, - volume = 76, - month = nov, + +@article{yiyu2006, + author = {Tan Yiyu and Lo {Wan Yiu} and Yau {Chi Hang} and Richard Li and Anthony S. Fong}, + journal = {{Microprocessors and Microsystems}}, + number = {8}, + title = {{A Java Processor with Hardware-support Object-oriented Instructions}}, + volume = {30}, + year = {2006}, } - -@inproceedings{schmager2010gohotdraw, - author = {Schmager, Frank and Cameron, Nicholas and Noble, James}, - title = {{GoHotDraw:} Evaluating The Go Programming Language With Design Patterns}, - booktitle = {{PLATEAU'10:} Evaluation and Usability of Programming Languages and Tools}, - year = 2010, -} - -@inproceedings{richards2010analysis, - author = {Richards, Gregor and Lebresne, Sylvain and Burg, Brian and Vitek, Jan}, - title = {An Analysis of the Dynamic Behavior of {JavaScript} Programs}, - booktitle = {Conference on Programming Language Design and Implementation}, - year = 2010, -} - -@article{armstrong2010erlang, - author = {Armstrong, Joe}, - title = {Erlang}, - journal = {Communications of the ACM}, - year = 2010, - volume = 53, - number = 9, -} - -@article{nierstrasz2010ten, - author = {Nierstrasz, Oscar Marius}, - title = {Ten Things I Hate About Object-Oriented Programming}, - journal = {Journal of Object Technology}, - year = 2010, - volume = 9, - number = 5, -} - -@book{metula2010managed, - author = {Metula, Erez}, - title = {Managed Code Rootkits: Hooking into Runtime Environments}, - publisher = {Elsevier}, - year = 2010, -} - -@misc{hoare2009null, - author = {Hoare, Tony}, - title = {Null References: The Billion Dollar Mistake}, - year = 2009, - journal = {Presentation at QCon London}, -} - -@book{martin2008cleancode, - author = {Martin, Robert C.}, - title = {Clean Code: A Handbook of Agile Software Craftsmanship}, - publisher = {Prentice Hall PTR}, - year = 2008, - address = {USA}, - edition = 1, -} - -@book{deitel2007java, - author = {Deitel, Harvey M. and Deitel, Paul J.}, - title = {Java How to Program}, - publisher = {Prentice Hall}, - year = 2007, - edition = {7th}, -} - -@article{ciaffaglione2007theory_of_contexts, - author = {Ciaffaglione, Alberto and Liquori, Luigi and Miculan, Marino}, - title = {Reasoning about Object-Based Calculi in (Co)In\-du\-cti\-ve Type Theory and the Theory of Contexts}, - journal = {Journal of Automated Reasoning}, - year = 2007, - volume = 39, -} - -@misc{grady2007object, - author = {Booch, Grady and Maksimchuk, Robert A and Engle, Michael and Young, Bobbi and Conallen, Jim and Houston, Kelli}, - title = {Object-Oriented Analysis and Design with Applications}, - year = 2007, - edition = {3rd}, - publisher = {Addison-Wesley Professional}, -} - -@book{goetz2006java, - author = {Goetz, Brian and Peierls, Tim and Lea, Doug and Bloch, Joshua and Bowbeer, Joseph and Holmes, David}, - title = {Java Concurrency in Practice}, - publisher = {Pearson Education}, - year = 2006, -} - -@book{eckel2006thinking, - author = {Eckel, Bruce}, - title = {Thinking in Java}, - publisher = {Prentice Hall}, - year = 2006, - edition = 3, -} - -@article{armstrong2006quarks, - author = {Armstrong, Deborah J}, - title = {The Quarks of Object-Orien\-ted Development}, - journal = {Communications of the ACM}, - year = 2006, - volume = 49, - number = 2, -} - -@article{jagannathan2005transactional, - author = {Jagannathan, Suresh and Vitek, Jan and Welc, Adam and Hosking, Antony}, - title = {A Transactional Object Calculus}, - journal = {Science of Computer Programming}, - year = 2005, - volume = 57, - number = 2, -} - -@misc{fluentinterface, - author = {Fowler, Martin}, - year = 2005, - url = {https://www.martinfowler.com/bliki/FluentInterface.html}, -} - -@misc{holub2004more, - author = {Holub, Allen}, - title = {More on Getters and Setters}, - year = 2004, - journal = {Java World}, -} - -@book{mcconnell2004codecomplete, - author = {McConnell, Steve}, - title = {Code Complete, Second Edition}, - publisher = {Microsoft Press}, - year = 2004, - address = {USA} -} - -@book{west2004object, - author = {West, David}, - title = {Object Thinking}, - publisher = {Pearson Education}, - year = 2004, -} - -@book{graham2004hackers, - author = {Graham, Paul}, - title = {Hackers \& Painters: Big Ideas from the Computer Age}, - publisher = {O'Reilly Media}, - year = 2004, -} - -@article{birka2004practical, - author = {Birka, Adrian and Ernst, Michael D}, - title = {A Practical Type System and Language for Reference Immutability}, - journal = {ACM SIGPLAN Notices}, - year = 2004, - volume = 39, - number = 10, -} - -@misc{holub2003extends, - author = {Holub, Allen}, - title = {Why Extends is Evil}, - year = 2003, - journal = {Java World}, -} - -@inproceedings{ciaffaglione2003typetheories, - author = {Ciaffaglione, Alberto and Liquori, Luigi and Miculan, Marino}, - title = {Imperative Object-Based Calculi in Co-inductive Type Theories}, - booktitle = {International Conference on Logic for Programming Artificial Intelligence and Reasoning}, - year = 2003, - month = jan, -} - -@article{jankowska2003anotheroop, - author = {Jankowska, Beata}, - title = {Yet Another Object-oriented Data Model and Its Application}, - journal = {Control and Cybernetics}, - year = 2003, - volume = 32, - month = jan, -} - -@inproceedings{ciaffaglione2003reasoning, - author = {Ciaffaglione, Alberto and Liquori, Luigi and Miculan, Marino}, - title = {Reasoning on an Imperative Object-based Calculus in Higher Order Abstract Syntax}, - booktitle = {{MERLIN'03:} Proceedings of the 2003 {ACM} {SIGPLAN} Workshop on Mechanized Reasoning About Languages with Variable Binding}, - year = 2003, - month = aug, -} - -@misc{eden2002visual, - author = {Eden, Amnon}, - title = {A Visual Formalism for Object-Oriented Architecture}, - year = 2002, - publisher = {Citeseer}, + +@article{lun2003, + author = {Lun, Mok Pak and Fong, Anthony and Hau, Gary K. W.}, + journal = {{SIGARCH Computer Architecture News}}, + number = {5}, + title = {{Object-Oriented Processor Requirements with Instruction Analysis of Java Programs}}, + volume = {31}, + year = {2003}, } -@phdthesis{lattner2002llvm, - author = {Lattner, Chris Arthur}, - title = {{LLVM:} An Infrastructure for Multi-Stage Optimization}, - school = {University of Illinois at Urbana-Champaign}, - year = 2002, +@inproceedings{donzellini1996, + author = {Donzellini, Giuliano and Nervi, S. and Ponta, Domenico and Rossi, S. and Rovetta, Stefano}, + booktitle = {{Third International Conference on Electronics, Circuits, and Systems}}, + title = {{An Object Oriented Machine for Control Applications}}, + year = {1996}, } -@book{metsker2002, - author = {Metsker, Steven John}, - title = {Design Patterns Java Workbook}, - publisher = {Addison-Wesley}, - year = 2002, +@article{mishra2006tartan, + author = {Mishra, Mahim and Callahan, Timothy J and Chelcea, Tiberiu and Venkataramani, Girish and Goldstein, Seth C and Budiu, Mihai}, + journal = {{ACM SIGARCH Computer Architecture News}}, + number = {5}, + pages = {163--174}, + publisher = {ACM New York, NY, USA}, + title = {{Tartan: Evaluating Spatial Computation for Whole Program Execution}}, + volume = {34}, + year = {2006}, } -@inproceedings{eden2001principles, - author = {Eden, Amnon H and Hirshfeld, Yoram}, - title = {Principles in Formal Specification of Object-Oriented Architectures}, - booktitle = {{CASCON'01:} Proceedings of the 2001 conference of the Centre for Advanced Studies on Collaborative research}, - year = 2001, -} - -@article{igarashi2001featherweight, - author = {Igarashi, Atsushi and Pierce, Benjamin C and Wadler, Philip}, - title = {Featherweight Java: a Minimal Core Calculus for Java and {GJ}}, - journal = {ACM Transactions on Programming Languages and Systems}, - year = 2001, - volume = 23, - number = 3, -} - -@inproceedings{alpern2001efficient, - author = {Alpern, Bowen and Cocchi, Anthony and Fink, Stephen and Grove, David}, - title = {Efficient Implementation of Java Interfaces: Invokeinterface Considered Harmless}, - booktitle = {Conference on Object-Oriented Programming, Systems, Languages, and Applications}, - year = 2001, -} - -@incollection{hunt2000, - author = {Hunt, John}, - title = {Inheritance Considered Harmful}, - booktitle = {The Unified Process for Practitioners}, - publisher = {Springer}, - year = 2000, -} - -@book{duke1991object, - author = {Duke, Roger and King, Paul and Rose, Gordon and Smith, Graeme}, - title = {The Object-Z Specification Language}, - publisher = {Citeseer}, - year = 2000, -} - -@inproceedings{jeffrey1999distributed, - author = {Jeffrey, Alan}, - title = {A Distributed Object Calculus}, - booktitle = {Proceedings of {FOOL}}, - year = 1999, -} - -@misc{paige1999object, - author = {Paige, Richard F and Ostroff, Jonathan S}, - title = {An Object-Oriented Refinement Calculus}, - year = 1999, -} - -@misc{gordon1998concurrent, - author = {Gordon, Andy and Hankin, Paul D.}, - title = {A Concurrent Object Calculus: Reduction and Typing}, - year = 1998, -} - -@inproceedings{mikhajlov1998study, - author = {Mikhajlov, Leonid and Sekerinski, Emil}, - title = {A Study of the Fragile Base Class Problem}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 1998, -} - -@inproceedings{bono1998imperative, - author = {Bono, Viviana and Fisher, Kathleen}, - title = {An Imperative, First-Order Calculus with Object Extension}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 1998, -} - -@article{seiter1998evolution, - author = {Seiter, Linda M and Palsberg, Jens and Lieberherr, Karl J}, - title = {Evolution of Object Behavior Using Context Relations}, - journal = {IEEE Transactions on Software Engineering}, - year = 1998, - volume = 24, - number = 1, -} - -@inproceedings{di1998lambda, - author = {Di Gianantonio, Pietro and Honsell, Furio and Liquori, Luigi}, - title = {A Lambda Calculus of Objects with Self-Inflicted Extension}, - booktitle = {Conference on Object-Oriented programming, Systems, Languages, and Applications}, - year = 1998, -} - -@book{hunt1997smalltalk, - author = {Hunt, John}, - title = {Smalltalk and Object Orientation: an Introduction}, - publisher = {Springer Science \& Business Media}, - year = 1997, -} - -@book{meyer1997object, - author = {Meyer, Bertrand}, - title = {Object-Oriented Software Construction}, - publisher = {Prentice Hall}, - year = 1997, -} - -@misc{kay97keynote, - author = {Kay, Alan}, - title = {The Computer Revolution Hasn't Happened Yet}, - booktitle = {ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications}, - year = 1997, -} - -@misc{bosch1997object, - author = {Bosch, Jan}, - title = {Object-Oriented Frameworks: Problems \& Experiences}, - year = 1997, -} - -@inproceedings{czarnecki1997beyond, - author = {Czarnecki, Krzysztof and Eisenecker, Ulrich W and Steyaert, Patrick}, - title = {Beyond Objects: Generative Programming}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 1997, -} - -@article{carter1997oopvsr, - author = {Carter, Jeffrey}, - title = {{OOP} vs. Readability}, - journal = {ACM SIGADA Ada Letters}, - year = 1997, - volume = {XVII}, - month = mar, -} - -@book{beck1997smalltalk, - author = {Beck, Kent}, - title = {Smalltalk Best Practice Patterns}, - publisher = {Prentice Hall}, - year = 1997, -} - -@book{martin1997pattern, - author = {Martin, Robert C and Riehle, Dirk and Buschmann, Frank}, - title = {Pattern Languages of Program Design 3}, - publisher = {Addison-Wesley}, - year = 1997, -} - -@book{stroustrup1997, - author = {Stroustrup, Bjarne}, - title = {The C++ Programming Language}, - publisher = {Addison-Wesley Professional}, - year = 1997, - edition = 3, -} - -@misc{giger1996object, - author = {Giger, Emanuel and Gall, Harald}, - title = {Object-Oriented Design Heuristics}, - year = 1996, -} - -@article{leekwakryu1996transform, - author = {Lee, Kwak and Ryu, Hong-Ro, Hoon-Sung and Keun-Ho}, - title = {A Translation of an Object Calculus into an Object Algebra}, - journal = {The Transactions of the Korea Information Processing Society}, - year = 1996, - volume = 3, -} - -@article{madsen1995open, - author = {Madsen, Ole Lehrmann}, - title = {Open Issues in Object-Oriented Programming---A Scandinavian Perspective}, - journal = {Software: Practice and Experience}, - year = 1995, - volume = 25, - number = {S4}, - publisher = {Wiley Online Library}, -} - -@article{gosling1995java, - author = {Gosling, James and McGilton, Henry}, - title = {The Java Language Environment}, - journal = {Sun Microsystems Computer Company}, - year = 1995, - volume = 2550, -} - -@article{abadi1995imperative, - author = {Abadi, Mart\'in and Cardelli, Luca}, - title = {An Imperative Object Calculus}, - journal = {Theory and Practice of Object Systems}, - year = 1995, - volume = 1, - number = 3, - publisher = {Wiley Online Library}, -} - -@inproceedings{fisher1995delegation, - author = {Fisher, Kathleen and Mitchell, John C}, - title = {A Delegation-Based Object Calculus with Subtyping}, - booktitle = {International Symposium on Fundamentals of Computation Theory}, - year = 1995, -} - -@book{gamma1994design, - author = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, John}, - title = {Design Patterns: Elements of Reusable Object-Oriented Software}, - publisher = {Addison Wesley}, - year = 1994, -} - -@misc{cheon1994quick, - author = {Cheon, Yoonsik and Leavens, Gary T}, - title = {A Quick Overview of {Larch/C++}}, - year = 1994, -} - -@inproceedings{mitchell1993lambda, - author = {Mitchell, John C and Honsell, Furio and Fisher, Kathleen}, - title = {A Lambda Calculus of Objects and Method Specialization}, - booktitle = {{IEEE} Symposium on Logic in Computer Science}, - year = 1993, -} - -@inproceedings{jones1993pi, - author = {Jones, Cliff B.}, - title = {A Pi-calculus Semantics for an Object-Based Design Notation}, - booktitle = {International Conference on Concurrency Theory}, - year = 1993, -} - -@inproceedings{durr1992vdm, - author = {Durr, Eugene and Van Katwijk, Jan}, - title = {{VDM++,} A Formal Specification Language for Object-Oriented Designs}, - booktitle = {Proceedings Computer Systems and Software Engineering}, - year = 1992, -} - -@inproceedings{nierstrasz1991towards, - author = {Nierstrasz, Oscar}, - title = {Towards an Object Calculus}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 1991, -} - -@inproceedings{honda1991object, - author = {Honda, Kohei and Tokoro, Mario}, - title = {An Object Calculus for Asynchronous Communication}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 1991, -} - -@book{steele1990common, - author = {Steele, Guy}, - title = {Common {LISP:} the Language}, - publisher = {Elsevier}, - year = 1990, -} - -@inproceedings{duke1990towards, - author = {Duke, David and Duke, Roger}, - title = {Towards a Semantics for Object-Z}, - booktitle = {International Symposium of {VDM} Europe}, - year = 1990, -} - -@misc{nierstrasz1989survey, - author = {Nierstrasz, Oscar}, - title = {A Survey of Object-Oriented Concepts}, - year = 1989, -} - -@inproceedings{madsen1988object, - author = {Madsen, Ole Lehrmann and M{\o}ller-Pedersen, Birger}, - title = {What Object-Oriented Programming May Be-and What It Does Not Have to Be}, - booktitle = {European Conference on Object-Oriented Programming}, - year = 1988, -} - -@inproceedings{ungar1987self, - author = {Ungar, David and Smith, Randall B}, - title = {Self: The Power of Simplicity}, - booktitle = {{ACM} {SIGPLAN} Conference on Object-Oriented Programming Systems, Languages and Applications}, - year = 1987, -} - -@mastersthesis{kaymaster68, - author = {Kay, Alan}, - title = {{FLEX---A} Flexible Extendable Language}, - school = {University of Utah}, - year = 1986, - month = may, -} - -@inproceedings{bancilhon1985calculus, - author = {Bancilhon, Francois and Khoshafian, Setrag}, - title = {A Calculus for Complex Objects}, - booktitle = {Symposium on Principles of Database Systems}, - year = 1985, -} - -@article{stefik1985object, - author = {Stefik, Mark and Bobrow, Daniel G}, - title = {Object-Oriented Programming: Themes and Variations}, - journal = {AI Magazine}, - year = 1985, - volume = 6, - number = 4, -} - -@book{goldbergrobson1983smalltalk, - author = {Goldberg, Adele and Robson, David}, - title = {Smalltalk-80: the Language and Its Implementation}, - publisher = {Addison-Wesley}, - year = 1983, -} - -@article{rentsch1982object, - author = {Rentsch, Tim}, - title = {Object Oriented Programming}, - journal = {ACM SIGPLAN Notices}, - year = 1982, - volume = 17, - number = 9, -} - -@incollection{dijkstra1982role, - author = {Dijkstra, Edsger W}, - title = {On the Role of Scientific Thought}, - booktitle = {Selected Writings on Computing: a Personal Perspective}, - publisher = {Springer Verlag}, - year = 1982, -} - -@book{yourdon1979structured, - author = {Yourdon, Edward and Constantine, Larry L}, - title = {Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design}, - publisher = {Prentice-Hall}, - year = 1979, -} - -@article{backus1978, - author = {Backus, John}, - title = {Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs}, - journal = {Communications of the ACM}, - year = 1978, - volume = 21, - number = 8, -} - -@article{goodenough1975exception, - author = {Goodenough, John B}, - title = {Exception Handling: Issues and a Proposed Notation}, - journal = {Communications of the ACM}, - year = 1975, - volume = 18, - number = 12, -} - -@article{landin1966next, - author = {Landin, Peter J}, - title = {The Next 700 Programming Languages}, - journal = {Communications of the ACM}, - year = 1966, - volume = 9, - number = 3, -} - -@article{dahl1966simula, - author = {Dahl, Ole-Johan and Nygaard, Kristen}, - title = {{SIMULA:} an {ALGOL-based} simulation language}, - journal = {Communications of the ACM}, - year = 1966, - volume = 9, - number = 9, -} - -@article{algol60, - author = {Backus, John W and Bauer, Friedrich L and Green, Julien and Katz, Charles and McCarthy, John and Perlis, Alan J and Rutishauser, Heinz and Samelson, Klaus and Vauquois, Bernard and Wegstein, Joseph Henry and others}, - title = {Report on the Algorithmic Language {ALGOL} 60}, - journal = {Communications of the ACM}, - year = 1960, - volume = 3, - number = 5, -} - -@misc{lukasiewicz1951aristotle, - author = {Lukasiewicz, Jan}, - title = {Aristotle's Syllogistic from the Standpoint of Modern Formal Logic}, - year = 1951, -} - -@article{church1932set, - author = {Church, Alonzo}, - title = {A Set of Postulates for the Foundation of Logic}, - journal = {Annals of Mathematics}, - year = 1932, - volume = 33, - number = 2, -} - -@book{lucas1891theorie, - author = {Lucas, Edouard}, - title = {{Th{\'e}orie} des Nombres}, - publisher = {Gauthier-Villars}, - year = 1891, -} - -@misc{czaplicki_elmguide, - author = {Czaplicki, Evan}, - title = {Elm, Official Guide}, - url = {https://guide.elm-lang.org/error_handling/}, -} - -@article{danforth1988type, - title={Type Theories and Object-Oriented Programming}, - author={Danforth, Scott and Tomlinson, Chris}, - journal={ACM Computing Surveys}, - volume={20}, - number={1}, - pages={29--72}, - year={1988}, -} \ No newline at end of file