Implementing relationships using Affinity

Stephen Nelson, David J. Pearce, J. Noble
{"title":"Implementing relationships using Affinity","authors":"Stephen Nelson, David J. Pearce, J. Noble","doi":"10.1145/1562100.1562102","DOIUrl":null,"url":null,"abstract":"OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object; two objects which are structurally identical are not considered equal. Thus, programmers who require a more refined notion of equality must define their own operator. Programmer-implemented equality operators tend to rely on informal notions of partial and temporal object immutability which are prone to error. This is a particular problem for objects used in collections which depend on equality. This paper discusses Affinity: an untyped, object-oriented language with a powerful equality operator based on EGAL [2] and support for object-keying and immutability. Affinity is designed to provide coherent and elegant support for object equality, reducing programmer burden and error potential.","PeriodicalId":423992,"journal":{"name":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","volume":"88 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-07-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"4","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1562100.1562102","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 4

Abstract

OO languages typically provide one form of object equality, known as reference equality, where two objects are equal only if they are the same object; two objects which are structurally identical are not considered equal. Thus, programmers who require a more refined notion of equality must define their own operator. Programmer-implemented equality operators tend to rely on informal notions of partial and temporal object immutability which are prone to error. This is a particular problem for objects used in collections which depend on equality. This paper discusses Affinity: an untyped, object-oriented language with a powerful equality operator based on EGAL [2] and support for object-keying and immutability. Affinity is designed to provide coherent and elegant support for object equality, reducing programmer burden and error potential.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
使用亲和性实现关系
OO语言通常提供一种形式的对象相等,称为引用相等,其中两个对象只有在它们是相同对象时才相等;结构相同的两个对象不被认为是相等的。因此,需要更精确的相等概念的程序员必须定义自己的操作符。程序员实现的相等操作符往往依赖于局部和暂时对象不变性的非正式概念,这很容易出错。对于依赖于相等的集合中使用的对象来说,这是一个特殊的问题。本文讨论了Affinity:一种无类型的、面向对象的语言,它具有基于EGAL[2]的强大的相等运算符,并支持对象键控和不变性。亲和性旨在为对象相等性提供一致和优雅的支持,从而减少程序员的负担和潜在的错误。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Proceedings of the Workshop on Relationships and Associations in Object-Oriented Languages Nested and specialized associations Implementing relationships using Affinity Implementing relationships among classes of analysis pattern languages using aspects Roles in building web applications using Java
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1