publications: - title: "SELF: The Power of Simplicity" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" year: "1988" tags: - "Self" researchr: "https://researchr.org/publication/UngarS88" cites: 0 citedby: 0 pages: "162-165" booktitle: "compcon" kind: "inproceedings" key: "UngarS88" - title: "Making Pure Object-Oriented Languages Practical" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1991" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/ChambersU91" cites: 0 citedby: 0 pages: "1-15" booktitle: "OOPSLA" kind: "inproceedings" key: "ChambersU91" - title: "Self" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" year: "2007" doi: "http://doi.acm.org/10.1145/1238844.1238853" links: doi: "http://doi.acm.org/10.1145/1238844.1238853" tags: - "programming languages" - "history of programming languages" - "Self" - "HOPL" - "history" researchr: "https://researchr.org/publication/UngarS07" cites: 0 citedby: 0 pages: "1-50" booktitle: "HOPL" kind: "inproceedings" key: "UngarS07" - title: "The Self-4.0 User Interface: Manifesting a System-wide Vision of Concreteness, Uniformity and Flexibility" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "John Maloney" link: "https://researchr.org/alias/john-maloney" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1995" tags: - "Self" researchr: "https://researchr.org/publication/SmithMU95" cites: 0 citedby: 0 pages: "47-60" booktitle: "OOPSLA" kind: "inproceedings" key: "SmithMU95" - title: "Generation Scavenging: A Non-Disruptive High Performance Storage Reclamation Algorithm" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1984" researchr: "https://researchr.org/publication/Ungar84" cites: 0 citedby: 0 pages: "157-167" booktitle: "SDE" kind: "inproceedings" key: "Ungar84" - title: "SELF: The Power of Simplicity" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" year: "1991" researchr: "https://researchr.org/publication/UngarS91" cites: 0 citedby: 0 journal: "lisp" volume: "4" number: "3" pages: "187-205" kind: "article" key: "UngarS91" - title: "From Kansas to Oz" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "Mario Wolczko" link: "https://researchr.org/alias/mario-wolczko" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1997" researchr: "https://researchr.org/publication/SmithWU97" cites: 0 citedby: 0 journal: "CACM" volume: "40" number: "4" pages: "72-78" kind: "article" key: "SmithWU97" - title: "An Efficient Implementation of SELF, a Dynamically-Typed Object-Oriented Language Based on Prototypes" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Elgin Lee" link: "https://researchr.org/alias/elgin-lee" year: "1991" tags: - "rule-based" - "Self" researchr: "https://researchr.org/publication/ChambersUL91" cites: 0 citedby: 0 journal: "lisp" volume: "4" number: "3" pages: "243-281" kind: "article" key: "ChambersUL91" - title: "Subjectivity in object-oriented systems" author: - name: "William H. Harrison" link: "http://portal.acm.org/author_page.cfm?id=81385594269&coll=GUIDE&dl=GUIDE&trk=0&CFID=51121975&CFTOKEN=97290572" - name: "Harold Ossher" link: "http://portal.acm.org/author_page.cfm?id=81100333974&coll=GUIDE&dl=GUIDE&trk=0&CFID=51132785&CFTOKEN=62287740" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1994" doi: "http://doi.acm.org/10.1145/260060.260179" abstract: "Subjectivity in object-oriented systems is a new research area. At this, the first workshop in this area, there was much discussion of fundamental concepts and issues, as well as of perceived needs for subjectivity and models for realizing it. The discussion is summarized here, and a list of issues that were identified during the workshop is presented." links: doi: "http://doi.acm.org/10.1145/260060.260179" tags: - "object-oriented programming" - "meta programming" - "meta-model" - "modeling" - "object-role modeling" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/HarrisonOSU94" cites: 0 citedby: 0 journal: "oopsm" volume: "5" number: "4" pages: "131-136" kind: "article" key: "HarrisonOSU94" - title: "A Simple and Unifying Approach to Subjective Objects" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1996" tags: - "meta-model" - "Meta-Environment" - "systematic-approach" - "meta-objects" researchr: "https://researchr.org/publication/SmithU96" cites: 0 citedby: 0 journal: "tapos" volume: "2" number: "3" pages: "161-178" kind: "article" key: "SmithU96" - title: "Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1991" tags: - "optimization" - "object-oriented programming" - "program analysis" - "analysis" - "subject-oriented programming" - "program optimization" - "feature-oriented programming" researchr: "https://researchr.org/publication/ChambersU91%3A0" cites: 0 citedby: 0 journal: "lisp" volume: "4" number: "3" pages: "283-310" kind: "article" key: "ChambersU91:0" - title: "Panel: Inheritance: Can We Have Our Cake and Eat it, Too?" author: - name: "J. Eliot B. Moss" link: "https://researchr.org/alias/j.-eliot-b.-moss" - name: "Ralf Johnson" link: "https://researchr.org/alias/ralf-johnson" - name: "Alan Snyder" link: "https://researchr.org/alias/alan-snyder" - name: "David W. Stemple" link: "https://researchr.org/alias/david-w.-stemple" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1989" researchr: "https://researchr.org/publication/MossJSSU89" cites: 0 citedby: 0 pages: "486-490" booktitle: "OOPSLA" kind: "inproceedings" key: "MossJSSU89" - title: "Do Object-Oriented Languages Need Special Hardware Support?" author: - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1995" doi: "http://link.springer.de/link/service/series/0558/bibs/0952/09520283.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/0952/09520283.htm" researchr: "https://researchr.org/publication/HolzleU95" cites: 0 citedby: 0 pages: "283-302" booktitle: "ECOOP" kind: "inproceedings" key: "HolzleU95" - title: "Architecture of SOAR: Smalltalk on a RISC" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Ricki Blau" link: "https://researchr.org/alias/ricki-blau" - name: "Peter Foley" link: "https://researchr.org/alias/peter-foley" - name: "A. Dain Samples" link: "https://researchr.org/alias/a.-dain-samples" - name: "David A. Patterson" link: "https://researchr.org/alias/david-a.-patterson" year: "1984" tags: - "architecture" researchr: "https://researchr.org/publication/UngarBSP84" cites: 0 citedby: 0 pages: "188-197" booktitle: "isca" kind: "inproceedings" key: "UngarBSP84" - title: "An Adaptive Tenuring Policy for Generation Scavengers" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Frank Jackson" link: "https://researchr.org/alias/frank-jackson" year: "1992" doi: "http://doi.acm.org/10.1145/111186.116734" links: doi: "http://doi.acm.org/10.1145/111186.116734" researchr: "https://researchr.org/publication/UngarJ92" cites: 0 citedby: 0 journal: "TOPLAS" volume: "14" number: "1" pages: "1-27" kind: "article" key: "UngarJ92" - title: "Constructing a metacircular Virtual machine in an exploratory programming environment" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Adam Spitz" link: "https://researchr.org/alias/adam-spitz" - name: "Alex Ausch" link: "https://researchr.org/alias/alex-ausch" year: "2005" doi: "http://doi.acm.org/10.1145/1094855.1094865" links: doi: "http://doi.acm.org/10.1145/1094855.1094865" tags: - "meta programming" - "meta-model" - "programming" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/UngarSA05" cites: 0 citedby: 0 pages: "11-20" booktitle: "OOPSLA" kind: "inproceedings" key: "UngarSA05" - title: "Debugging Optimized Code with Dynamic Deoptimization" author: - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1992" tags: - "optimization" - "debugging" researchr: "https://researchr.org/publication/HolzleCU92" cites: 0 citedby: 0 pages: "32-43" booktitle: "PLDI" kind: "inproceedings" key: "HolzleCU92" - title: "Optimizing Dynamically-Dispatched Calls with Run-Time Type Feedback" author: - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1994" tags: - "optimization" researchr: "https://researchr.org/publication/HolzleU94%3A0" cites: 0 citedby: 0 pages: "326-336" booktitle: "PLDI" kind: "inproceedings" key: "HolzleU94:0" - title: "Customization: Optimizing Compiler Technology for SELF, A Dynamically-Typed Object-Oriented Programming Language" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1989" tags: - "programming languages" - "optimization" - "object-oriented programming" - "Self" - "compiler" - "programming" - "subject-oriented programming" - "program optimization" - "feature-oriented programming" researchr: "https://researchr.org/publication/ChambersU89" cites: 0 citedby: 0 pages: "146-160" booktitle: "PLDI" kind: "inproceedings" key: "ChambersU89" - title: "Annotating Objects for Transport to Other Worlds" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1995" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/Ungar95" cites: 0 citedby: 0 pages: "73-87" booktitle: "OOPSLA" kind: "inproceedings" key: "Ungar95" - title: "SOAR: Smalltalk Without Bytecodes" author: - name: "A. Dain Samples" link: "https://researchr.org/alias/a.-dain-samples" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Paul N. Hilfinger" link: "https://researchr.org/alias/paul-n.-hilfinger" year: "1986" researchr: "https://researchr.org/publication/SamplesUH86" cites: 0 citedby: 0 pages: "107-118" booktitle: "OOPSLA" kind: "inproceedings" key: "SamplesUH86" - title: "Tenuring Policies for Generation-Based Storage Reclamation" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Frank Jackson" link: "https://researchr.org/alias/frank-jackson" year: "1988" tags: - "rule-based" researchr: "https://researchr.org/publication/UngarJ88" cites: 0 citedby: 0 pages: "1-17" booktitle: "OOPSLA" kind: "inproceedings" key: "UngarJ88" - title: "Panel: Treaty of Orlando Revisited" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Henry Lieberman" link: "https://researchr.org/alias/henry-lieberman" - name: "Lynn Andrea Stein" link: "https://researchr.org/alias/lynn-andrea-stein" - name: "Daniel Halbert" link: "https://researchr.org/alias/daniel-halbert" year: "1988" researchr: "https://researchr.org/publication/UngarLSH88" cites: 0 citedby: 0 pages: "357-362" booktitle: "OOPSLA" kind: "inproceedings" key: "UngarLSH88" - title: "Animation: From Cartoons to the User Interface" author: - name: "Bay-Wei Chang" link: "https://researchr.org/alias/bay-wei-chang" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1993" doi: "http://doi.acm.org/10.1145/168642.168647" links: doi: "http://doi.acm.org/10.1145/168642.168647" researchr: "https://researchr.org/publication/ChangU93" cites: 0 citedby: 0 pages: "45-55" booktitle: "uist" kind: "inproceedings" key: "ChangU93" - title: "Parents are Shared Parts of Objects: Inheritance and Encapsulation in SELF" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Bay-Wei Chang" link: "https://researchr.org/alias/bay-wei-chang" - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" year: "1991" tags: - "meta-model" - "Self" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/ChambersUCH91" cites: 0 citedby: 0 journal: "lisp" volume: "4" number: "3" pages: "207-222" kind: "article" key: "ChambersUCH91" - title: "Point/Counterpoint" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Erik Ernst" link: "http://person.au.dk/eernst@cs" year: "2007" doi: "http://doi.ieeecomputersociety.org/10.1109/MS.2007.142" links: doi: "http://doi.ieeecomputersociety.org/10.1109/MS.2007.142" researchr: "https://researchr.org/publication/UngarE07" cites: 0 citedby: 0 journal: "IEEE Software" volume: "24" number: "5" pages: "72-75" kind: "article" key: "UngarE07" - title: "A Shared View of Sharing: The Treaty of Orlando" author: - name: "Lynn Andrea Stein" link: "https://researchr.org/alias/lynn-andrea-stein" - name: "Henry Lieberman" link: "https://researchr.org/alias/henry-lieberman" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1989" researchr: "https://researchr.org/publication/SteinLU89" cites: 0 citedby: 0 pages: "31-48" booktitle: "Object-Oriented Concepts, Databases, and Applications" kind: "incollection" key: "SteinLU89" - title: "An Efficient Implementation of SELF - a Dynamically-Typed Object-Oriented Language Based on Prototypes" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Elgin Lee" link: "https://researchr.org/alias/elgin-lee" year: "1989" tags: - "rule-based" - "Self" researchr: "https://researchr.org/publication/ChambersUL89" cites: 0 citedby: 0 pages: "49-70" booktitle: "OOPSLA" kind: "inproceedings" key: "ChambersUL89" - title: "Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches" author: - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1991" doi: "http://link.springer.de/link/service/series/0558/bibs/0512/05120021.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/0512/05120021.htm" tags: - "optimization" - "caching" researchr: "https://researchr.org/publication/HolzleCU91" cites: 0 citedby: 0 pages: "21-38" booktitle: "ECOOP" kind: "inproceedings" key: "HolzleCU91" - title: "Reconciling Responsiveness with Performance in Pure Object-Orieted Languages" author: - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1996" doi: "http://doi.acm.org/10.1145/233561.233562" links: doi: "http://doi.acm.org/10.1145/233561.233562" tags: - "meta-model" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/HolzleU96" cites: 0 citedby: 0 journal: "TOPLAS" volume: "18" number: "4" pages: "355-400" kind: "article" key: "HolzleU96" - title: "Compiling Smalltalk-80 to a RISC" author: - name: "William R. Bush" link: "https://researchr.org/alias/william-r.-bush" - name: "A. Dain Samples" link: "https://researchr.org/alias/a.-dain-samples" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Paul N. Hilfinger" link: "https://researchr.org/alias/paul-n.-hilfinger" year: "1987" tags: - "compiler" researchr: "https://researchr.org/publication/BushSUH87" cites: 0 citedby: 0 pages: "112-116" booktitle: "asplos" kind: "inproceedings" key: "BushSUH87" - title: "The New Crop of Java Virtual Machines (Panel)" author: - name: "Lars Bak" link: "https://researchr.org/alias/lars-bak" - name: "John Duimovich" link: "https://researchr.org/alias/john-duimovich" - name: "Jesse Fang" link: "https://researchr.org/alias/jesse-fang" - name: "Scott Meyer" link: "https://researchr.org/alias/scott-meyer" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1998" doi: "http://doi.acm.org/10.1145/286936.286956" links: doi: "http://doi.acm.org/10.1145/286936.286956" tags: - "Java" researchr: "https://researchr.org/publication/BakDFMU98" cites: 0 citedby: 0 pages: "179-182" booktitle: "OOPSLA" kind: "inproceedings" key: "BakDFMU98" - title: "A retrospective on: customization: optimizing compiler technology for self, a dynamically-typed object-oriented programming language (with retrospective)" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1989" doi: "http://doi.acm.org/10.1145/989393.989425" links: doi: "http://doi.acm.org/10.1145/989393.989425" tags: - "programming languages" - "optimization" - "object-oriented programming" - "compiler" - "programming" - "subject-oriented programming" - "program optimization" - "feature-oriented programming" researchr: "https://researchr.org/publication/ChambersU89a" cites: 0 citedby: 0 pages: "295-312" booktitle: "PLDI" kind: "inproceedings" key: "ChambersU89a" - title: "Efficient implementation of object-oriented programming lanaguages (abstract)" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1993" tags: - "object-oriented programming" - "meta programming" - "programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/ChambersU93" cites: 0 citedby: 0 journal: "oopsm" volume: "4" number: "2" pages: "224" kind: "article" key: "ChambersU93" - title: "Organizing Programs Without Classes" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Bay-Wei Chang" link: "https://researchr.org/alias/bay-wei-chang" - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" year: "1991" researchr: "https://researchr.org/publication/UngarCCH91" cites: 0 citedby: 0 journal: "lisp" volume: "4" number: "3" pages: "223-242" kind: "article" key: "UngarCCH91" - title: "Prototype-based languages: object lessons from class-free programming" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "Mark Lentczner" link: "https://researchr.org/alias/mark-lentczner" - name: "Walter R. Smith" link: "https://researchr.org/alias/walter-r.-smith" - name: "Antero Taivalsaari" link: "https://researchr.org/alias/antero-taivalsaari" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1994" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/SmithLSTU94%3A0" cites: 0 citedby: 0 journal: "oopsm" volume: "5" number: "4" pages: "48-53" kind: "article" key: "SmithLSTU94:0" - title: "Programming as an Experience: The Inspiration for Self" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1995" doi: "http://link.springer.de/link/service/series/0558/bibs/0952/09520303.htm" abstract: "The Self system attempts to integrate intellectual and non-intellectual aspects of programming to create an overall experience. The language semantics, user interface, and implementation each help create this integrated experience. The language semantics embed the programmer in a uniform world of simple ob jects that can be modified without appealing to definitions of abstractions. In a similar way, the graphical interface puts the user into a uniform world of tangible objects that can be directly manipulated and changed without switching modes. The implementation strives to support the world-of-objects illusion by minimiz ing perceptible pauses and by providing true source-level semantics without sac rificing performance. As a side benefit, it encourages factoring. Although we see areas that fall short of the vision, on the whole, the language, interface, and im plementation conspire so that the Self programmer lives and acts in a consistent and malleable world of objects. " links: doi: "http://link.springer.de/link/service/series/0558/bibs/0952/09520303.htm" "sun": "http://research.sun.com/self/papers/programming-as-experience.html" tags: - "programming languages" - "object-oriented programming" - "semantics" - "meta programming" - "Self" - "source-to-source" - "aspect oriented programming" - "programming" - "subject-oriented programming" - "abstraction" - "Meta-Environment" - "feature-oriented programming" - "open-source" - "meta-objects" researchr: "https://researchr.org/publication/SmithU95" cites: 0 citedby: 0 pages: "303-330" booktitle: "ECOOP" kind: "inproceedings" key: "SmithU95" - title: "Self: The Power of Simplicity" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" year: "1987" abstract: "Self is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages. Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because Self does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. Self's simplicity and expressiveness offer new insights into object-oriented computation. " links: "sun": "http://research.sun.com/self/papers/self-power.html" "postscript": "http://research.sun.com/self/papers/selfPower.ps.gz" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "meta programming" - "Self" - "prototype" - "programming" - "subject-oriented programming" - "Meta-Environment" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/UngarS87" cites: 0 citedby: 0 pages: "227-242" booktitle: "OOPSLA" kind: "inproceedings" key: "UngarS87" - title: "Mirrors: design principles for meta-level facilities of object-oriented programming languages" author: - name: "Gilad Bracha" link: "https://researchr.org/alias/gilad-bracha" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "2004" doi: "http://doi.acm.org/10.1145/1028976.1029004" abstract: "We identify three design principles for reflection and metaprogramming facilities in object oriented programming languages. Encapsulation: meta-level facilities must encapsulate their implementation. Stratification: meta-level facilities must be separated from base-level functionality. Ontological correspondence: the ontology of meta-level facilities should correspond to the ontology of the language they manipulate. Traditional/mainstream reflective architectures do not follow these precepts. In contrast, reflective APIs built around the concept of mirrors are characterized by adherence to these three principles. Consequently, mirror-based architectures have significant advantages with respect to distribution, deployment and general purpose metaprogramming." links: doi: "http://doi.acm.org/10.1145/1028976.1029004" tags: - "programming languages" - "object-oriented programming" - "ontologies" - "rule-based" - "deployment" - "meta programming" - "ontology" - "meta-model" - "architecture" - "functional programming" - "language design" - "principles" - "programming" - "subject-oriented programming" - "Meta-Environment" - "reflection" - "design" - "feature-oriented programming" - "meta-objects" researchr: "https://researchr.org/publication/BrachaU04" cites: 0 citedby: 0 pages: "331-344" booktitle: "OOPSLA" kind: "inproceedings" key: "BrachaU04" - title: "Iterative Type Analysis and Extended Message Splitting: Optimizing Dynamically-Typed Object-Oriented Programs" author: - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1990" tags: - "optimization" - "object-oriented programming" - "program analysis" - "analysis" - "subject-oriented programming" - "program optimization" - "feature-oriented programming" researchr: "https://researchr.org/publication/ChambersU90" cites: 0 citedby: 0 pages: "150-164" booktitle: "PLDI" kind: "inproceedings" key: "ChambersU90" - title: "Object, Message, and Performance: How They Coexist in Self" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "Craig Chambers" link: "https://researchr.org/alias/craig-chambers" - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" year: "1992" tags: - "meta-model" - "Self" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/UngarSCH92" cites: 0 citedby: 0 journal: "Computer" volume: "25" number: "10" pages: "53-64" kind: "article" key: "UngarSCH92" - title: "A Third-Generation SELF Implementation: Reconsiling Responsiveness with Performance" author: - name: "Urs Hölzle" link: "https://researchr.org/alias/urs-h%C3%B6lzle" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1994" researchr: "https://researchr.org/publication/HolzleU94" cites: 0 citedby: 0 pages: "229-243" booktitle: "OOPSLA" kind: "inproceedings" key: "HolzleU94" - title: "Sifting Out the Gold" author: - name: "Ole Agesen" link: "https://researchr.org/alias/ole-agesen" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1994" researchr: "https://researchr.org/publication/AgesenU94" cites: 0 citedby: 0 pages: "355-370" booktitle: "OOPSLA" kind: "inproceedings" key: "AgesenU94" - title: "Multiprocessor Smalltalk: A Case Study of a Multiprocessor-Based Programming Environment" author: - name: "Joseph Pallas" link: "https://researchr.org/alias/joseph-pallas" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1988" tags: - "rule-based" - "meta programming" - "case study" - "meta-model" - "programming" - "Meta-Environment" - "meta-objects" researchr: "https://researchr.org/publication/PallasU88" cites: 0 citedby: 0 pages: "268-277" booktitle: "PLDI" kind: "inproceedings" key: "PallasU88" - title: "Debugging and the Experience of Immediacy" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "Henry Lieberman" link: "https://researchr.org/alias/henry-lieberman" - name: "Christopher Fry" link: "https://researchr.org/alias/christopher-fry" year: "1997" tags: - "debugging" researchr: "https://researchr.org/publication/UngarLF97" cites: 0 citedby: 0 journal: "CACM" volume: "40" number: "4" pages: "38-43" kind: "article" key: "UngarLF97" - title: "What Price Smalltalk?" author: - name: "David Ungar" link: "http://research.sun.com/people/ungar/" - name: "David A. Patterson" link: "https://researchr.org/alias/david-a.-patterson" year: "1987" researchr: "https://researchr.org/publication/UngarP87" cites: 0 citedby: 0 journal: "Computer" volume: "20" number: "1" pages: "67-74" kind: "article" key: "UngarP87" - title: "Prototype-Based Languages: Object Lessons from Class-Free Programming (Panel)" author: - name: "Randall B. Smith" link: "http://research.sun.com/people/randy/" - name: "Mark Lentczner" link: "https://researchr.org/alias/mark-lentczner" - name: "Walter R. Smith" link: "https://researchr.org/alias/walter-r.-smith" - name: "Antero Taivalsaari" link: "https://researchr.org/alias/antero-taivalsaari" - name: "David Ungar" link: "http://research.sun.com/people/ungar/" year: "1994" tags: - "programming languages" - "object-oriented programming" - "rule-based" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/SmithLSTU94" cites: 0 citedby: 0 pages: "102-112" booktitle: "OOPSLA" kind: "inproceedings" key: "SmithLSTU94"