{"id":"https://openalex.org/W1978035064","doi":"https://doi.org/10.1145/301618.301638","title":"The design of a class mechanism for Moby","display_name":"The design of a class mechanism for Moby","publication_year":1999,"publication_date":"1999-05-01","ids":{"openalex":"https://openalex.org/W1978035064","doi":"https://doi.org/10.1145/301618.301638","mag":"1978035064"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/301618.301638","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/301631.301638","source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"proceedings-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/301631.301638","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5056099984","display_name":"Kathleen Fisher","orcid":"https://orcid.org/0000-0001-5249-2615"},"institutions":[{"id":"https://openalex.org/I1283103587","display_name":"AT&T (United States)","ror":"https://ror.org/02bbd5539","country_code":"US","type":"company","lineage":["https://openalex.org/I1283103587"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Kathleen Fisher","raw_affiliation_strings":["AT&T Labs, Research"],"affiliations":[{"raw_affiliation_string":"AT&T Labs, Research","institution_ids":["https://openalex.org/I1283103587"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5030967328","display_name":"John Reppy","orcid":"https://orcid.org/0000-0002-5881-298X"},"institutions":[{"id":"https://openalex.org/I1322087612","display_name":"Alcatel Lucent (Germany)","ror":"https://ror.org/00c5mwp75","country_code":"DE","type":"company","lineage":["https://openalex.org/I1322087612"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"John Reppy","raw_affiliation_strings":["Bell Laboratories - Lucent Technologies"],"affiliations":[{"raw_affiliation_string":"Bell Laboratories - Lucent Technologies","institution_ids":["https://openalex.org/I1322087612"]}]}],"institution_assertions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":6.724,"has_fulltext":false,"cited_by_count":89,"citation_normalized_percentile":{"value":0.890271,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":95,"max":96},"biblio":{"volume":null,"issue":null,"first_page":"37","last_page":"49"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9989,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9989,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9869,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9855,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/sketch","display_name":"Sketch","score":0.7418338},{"id":"https://openalex.org/keywords/inheritance","display_name":"Inheritance","score":0.51599646},{"id":"https://openalex.org/keywords/visibility","display_name":"Visibility","score":0.4278785},{"id":"https://openalex.org/keywords/programming-style","display_name":"Programming style","score":0.42673796},{"id":"https://openalex.org/keywords/software-design-pattern","display_name":"Software design pattern","score":0.4237037}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.85145557},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7560029},{"id":"https://openalex.org/C2779231336","wikidata":"https://www.wikidata.org/wiki/Q7534724","display_name":"Sketch","level":2,"score":0.7418338},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.73361754},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.5283072},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.51599646},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.4981954},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.48898995},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.4721463},{"id":"https://openalex.org/C89611455","wikidata":"https://www.wikidata.org/wiki/Q6804646","display_name":"Mechanism (biology)","level":2,"score":0.44200885},{"id":"https://openalex.org/C123403432","wikidata":"https://www.wikidata.org/wiki/Q654068","display_name":"Visibility","level":2,"score":0.4278785},{"id":"https://openalex.org/C2776245389","wikidata":"https://www.wikidata.org/wiki/Q962139","display_name":"Programming style","level":2,"score":0.42673796},{"id":"https://openalex.org/C146054899","wikidata":"https://www.wikidata.org/wiki/Q181156","display_name":"Software design pattern","level":3,"score":0.4237037},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.31386095},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.0898546},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.076877296},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C120665830","wikidata":"https://www.wikidata.org/wiki/Q14620","display_name":"Optics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/301618.301638","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/301631.301638","source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/301618.301638","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/301631.301638","source":{"id":"https://openalex.org/S4393917474","display_name":"Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation","issn_l":"1531-7102","issn":["1531-7102"],"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[],"grants":[],"datasets":[],"versions":[],"referenced_works_count":32,"referenced_works":["https://openalex.org/W10589072","https://openalex.org/W108020401","https://openalex.org/W1482171176","https://openalex.org/W1493473453","https://openalex.org/W1497822920","https://openalex.org/W1506833497","https://openalex.org/W1525643703","https://openalex.org/W1533109738","https://openalex.org/W1544633123","https://openalex.org/W1546727036","https://openalex.org/W1556460735","https://openalex.org/W1588978112","https://openalex.org/W1644882639","https://openalex.org/W1829244603","https://openalex.org/W1979841054","https://openalex.org/W1989493307","https://openalex.org/W200367367","https://openalex.org/W2025407135","https://openalex.org/W2045663419","https://openalex.org/W2047576169","https://openalex.org/W2048569219","https://openalex.org/W2099305192","https://openalex.org/W2102699068","https://openalex.org/W2117174233","https://openalex.org/W2123727486","https://openalex.org/W2133171398","https://openalex.org/W2136316331","https://openalex.org/W2145945984","https://openalex.org/W2153060956","https://openalex.org/W2163009019","https://openalex.org/W2597834528","https://openalex.org/W2987803397"],"related_works":["https://openalex.org/W4396697240","https://openalex.org/W4386444448","https://openalex.org/W2911397877","https://openalex.org/W2157542459","https://openalex.org/W21475997","https://openalex.org/W2115460680","https://openalex.org/W2094462237","https://openalex.org/W1862997886","https://openalex.org/W1537964674","https://openalex.org/W1494632715"],"abstract_inverted_index":{"Typical":[0],"class-based":[1,102,143,162],"languages,":[2],"such":[3,65],"as":[4,66],"C++":[5],"and":[6,49,69,94,104,164,175],"JAVA,":[7],"provide":[8,63],"complex":[9],"class":[10,75,126],"mechanisms":[11],"but":[12],"only":[13,79],"weak":[14],"module":[15,31,60,116],"systems.":[16],"In":[17,33,51,146],"fact,":[18],"classes":[19,48,95],"in":[20,29,119,134,168],"these":[21],"languages":[22],"incorporate":[23],"many":[24],"of":[25,92,101,156],"the":[26,90,98,109,125],"features":[27,64,81,103,163],"found":[28],"richer":[30],"mechanisms.":[32],"this":[34,132,147],"paper,":[35,148],"we":[36,54,149],"describe":[37,150],"an":[38,138],"alternative":[39],"approach":[40,107],"to":[41,62,83,96],"designing":[42],"a":[43,57,73,114,154],"language":[44,140],"that":[45,77,111,141],"has":[46,108],"both":[47],"modules.":[50],"our":[52,151,171],"design,":[53],"rely":[55],"on":[56],"rich":[58],"ML-style":[59,139],"system":[61,117],"visibility":[67],"control":[68],"parameterization,":[70],"while":[71,123],"providing":[72],"minimal":[74],"mechanism":[76,127],"includes":[78],"those":[80],"needed":[82],"support":[84],"inheritance.":[85],"Programmers":[86],"can":[87],"then":[88],"use":[89],"combination":[91],"modules":[93],"implement":[97],"full":[99],"range":[100],"idioms.":[105],"Our":[106],"advantage":[110],"it":[112],"provides":[113],"full-featured":[115],"(useful":[118],"its":[120,177],"own":[121],"right),":[122],"keeping":[124],"quite":[128],"simple.We":[129],"have":[130],"incorporated":[131],"design":[133,152,172],"MOBY,":[135,169],"which":[136],"is":[137],"supports":[142],"object-oriented":[144],"programming.":[145],"via":[153],"series":[155],"simple":[157],"examples,":[158],"show":[159],"how":[160],"various":[161],"idioms":[165],"are":[166],"realized":[167],"compare":[170],"with":[173],"others,":[174],"sketch":[176],"formal":[178],"semantics.":[179]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W1978035064","counts_by_year":[{"year":2020,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":4}],"updated_date":"2024-12-19T17:04:57.575492","created_date":"2016-06-24"}