Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proc. of a conference on Functional programming languages and computer architecture
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
A structural view of the Cedar programming environment
ACM Transactions on Programming Languages and Systems (TOPLAS)
The C++ programming language
Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
ORBIT: an optimizing compiler for scheme
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
Revised report on the algorithmic language scheme
ACM SIGPLAN Notices
Structure and interpretation of computer programs
Structure and interpretation of computer programs
Oaklisp: an object-oriented scheme with first class types
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Using prototypical objects to implement shared behavior in object-oriented systems
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Development of an object-oriented DBMS
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Common LISP: the language
Matrix algebra and applicative programming
Proc. of a conference on Functional programming languages and computer architecture
Mapping a semantic database model to the relational model
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
The semantics of destructive LISP
The semantics of destructive LISP
A dynamic framework for object projection views
ACM Transactions on Database Systems (TODS)
Abstract types have existential type
ACM Transactions on Programming Languages and Systems (TOPLAS)
Types and persistence in database programming languages
ACM Computing Surveys (CSUR)
Parcel: project for the automatic restructuring and concurrent evaluation of LISP
ICS '88 Proceedings of the 2nd international conference on Supercomputing
Data types and persistence
Object-oriented database programming
Object-oriented database programming
Parallel execution of sequential scheme with ParaTran
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
An implementation of portable standard LISP on the BBN butterfly
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
An improved replacement strategy for function caching
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Object-oriented programming in scheme
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
An open-ended data representation model for EU_LISP
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Communications of the ACM
The connection machine
Object-oriented concepts, databases, and applications
The Common LISP object-oriented programming language standard
Object-oriented concepts, databases, and applications
Database programming in Machiavelli—a polymorphic language with static type inference
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Object identity as a query language primitive
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
Object-oriented concepts, databases, and applications
Object-oriented concepts, databases, and applications
Simulation of Procedure Variables Using Ada Tasks
IEEE Transactions on Software Engineering
A note on higher-order functions versus logical variables
Information Processing Letters
Conception, evolution, and application of functional programming languages
ACM Computing Surveys (CSUR)
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Update analysis and the efficient implementation of functional aggregates
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Nondeterminism and unification in LogScheme: integrating logic and functional programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Representing object identity in a pure functional language
ICDT '90 Proceedings of the third international conference on database theory on Database theory
Efficient implementation of bit-vector operation in Common Lisp
ACM SIGPLAN Lisp Pointers
Object-oriented programming in Ada83—genericity rehabilitated
ACM SIGAda Ada Letters
Structured programming with limited private types in Ada: nesting if for the soaring eagles
ACM SIGAda Ada Letters
Shallow binding makes functional arrays fast
ACM SIGPLAN Notices
CONS should not CONS its arguments, or, a lazy alloc is a smart alloc
ACM SIGPLAN Notices
The aggregate update problem in functional programming systems
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Integrating functional and imperative programming
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
An architecture for mostly functional languages
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Connection Machine Lisp: fine-grained parallel symbolic processing
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
A semantic model of reference counting and its abstraction (detailed summary)
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Programming in an Interactive Environment: the ``Lisp'' Experience
ACM Computing Surveys (CSUR)
Tabulation Techniques for Recursive Programs
ACM Computing Surveys (CSUR)
A Value Transmission Method for Abstract Data Types
ACM Transactions on Programming Languages and Systems (TOPLAS)
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
List processing in real time on a serial computer
Communications of the ACM
Communications of the ACM
Abstract data types and the development of data structures
Communications of the ACM
Communications of the ACM
The treatment of data types in EL1
Communications of the ACM
BLISS: a language for systems programming
Communications of the ACM
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
Dynamic specialization in extended functional language with monotone objects
PEPM '91 Proceedings of the 1991 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Synchronization in actor systems
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Principles of Database Systems
Principles of Database Systems
Reflexive Architecture: From ObjVLisp to CLOS
ECOOP '88 Proceedings of the European Conference on Object-Oriented Programming
Implementation of multilisp: Lisp on a multiprocessor
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Queue-based multi-processing LISP
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
A simple software environment based on objects and relations
SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
The incremental garbage collection of processes
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Prolog - the language and its implementation compared with Lisp
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
The early history and characteristics of PL/I
ACM SIGPLAN Notices - Special issue: History of programming languages conference
The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)
The Art of the Interpreter or, The Modularity Complex (Parts Zero, One, and Two)
Rabbit: A Compiler for Scheme
Restructuring symbolic programs for concurrent execution on multiprocessors
Restructuring symbolic programs for concurrent execution on multiprocessors
A source of redundant identifiers in PASCAL programs
ACM SIGPLAN Notices
Values and objects in programming languages
ACM SIGPLAN Notices
LISP 1.5 Programmer's Manual
Common Lisp: The Language
Pragmatic parsing in Common Lisp; or, putting defmacro on steroids
ACM SIGPLAN Lisp Pointers
Inlining semantics for subroutines which are recursive
ACM SIGPLAN Notices
Safe and leakproof resource management using Ada83 limited types
ACM SIGAda Ada Letters
Linear logic and permutation stacks—the Forth shall be first
ACM SIGARCH Computer Architecture News - Special issue: panel sessions of the 1991 workshop on multithreaded computers
Global Names: Support for Managing Software in a World of Virtual Organizations
SCM-9 Proceedings of the 9th International Symposium on System Configuration Management
CRPIT '02 Proceedings of the 2002 conference on Pattern languages of programs - Volume 13
Software configuration management in an object oriented database
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
An empirical study of the design and implementation of object equality in Java
CASCON '08 Proceedings of the 2008 conference of the center for advanced studies on collaborative research: meeting of minds
Implementing relationships using Affinity
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages
Understanding the impact of collection contracts on design
TOOLS'10 Proceedings of the 48th international conference on Objects, models, components, patterns
Grace: the absence of (inessential) difficulty
Proceedings of the ACM international symposium on New ideas, new paradigms, and reflections on programming and software
Declarative object identity using relation types
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Hi-index | 0.00 |
We argue that intensional object identity in object-oriented programming languages and databases is best defined operationally by side-effect semantics. A corollary is that "functional" objects have extensional semantics. This model of object identity, which is analogous to the normal forms of relational algebra, provides cleaner semantics for the value-transmission operations and built-in primitive equality predicate of a programming language, and eliminates the confusion surrounding "call-by-value" and "call-by-reference" as well as the confusion of multiple equality predicates.Implementation issues are discussed, and this model is shown to have significant performance advantages in persistent, parallel, distributed and multilingual processing environments. This model also provides insight into the "type equivalence" problem of Algol-68, Pascal and Ada.