{"id":"https://openalex.org/W2114980545","doi":"https://doi.org/10.1145/1330017.1330022","title":"FeatherTrait","display_name":"FeatherTrait","publication_year":2008,"publication_date":"2008-03-01","ids":{"openalex":"https://openalex.org/W2114980545","doi":"https://doi.org/10.1145/1330017.1330022","mag":"2114980545"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/1330017.1330022","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1330017.1330022","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_indexed_in_scopus":true,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1330017.1330022","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5080883460","display_name":"Luigi Liquori","orcid":"https://orcid.org/0000-0003-3961-4205"},"institutions":[{"id":"https://openalex.org/I1326498283","display_name":"Institut national de recherche en informatique et en automatique","ror":"https://ror.org/02kvxyf05","country_code":"FR","type":"government","lineage":["https://openalex.org/I1326498283"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Luigi Liquori","raw_affiliation_strings":["INRIA, France"],"affiliations":[{"raw_affiliation_string":"INRIA, France","institution_ids":["https://openalex.org/I1326498283"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5019246823","display_name":"Arnaud Spiwack","orcid":"https://orcid.org/0000-0002-5985-2086"},"institutions":[{"id":"https://openalex.org/I11559806","display_name":"\u00c9cole Normale Sup\u00e9rieure Paris-Saclay","ror":"https://ror.org/00hx6zz33","country_code":"FR","type":"education","lineage":["https://openalex.org/I11559806","https://openalex.org/I277688954"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Arnaud Spiwack","raw_affiliation_strings":["ENS-Cachan, France#TAB#"],"affiliations":[{"raw_affiliation_string":"ENS-Cachan, France#TAB#","institution_ids":["https://openalex.org/I11559806"]}]}],"institution_assertions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":8.392,"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":57,"citation_normalized_percentile":{"value":0.947262,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":94,"max":95},"biblio":{"volume":"30","issue":"2","first_page":"1","last_page":"32"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9997,"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.9997,"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.9966,"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.9946,"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/inheritance","display_name":"Inheritance","score":0.661776},{"id":"https://openalex.org/keywords/multiple-inheritance","display_name":"Multiple inheritance","score":0.51658356},{"id":"https://openalex.org/keywords/trait","display_name":"Trait","score":0.4294544}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.82873714},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7041156},{"id":"https://openalex.org/C2780902518","wikidata":"https://www.wikidata.org/wiki/Q6033780","display_name":"Inheritance (genetic algorithm)","level":3,"score":0.661776},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.58751607},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.5844495},{"id":"https://openalex.org/C200568363","wikidata":"https://www.wikidata.org/wiki/Q1070739","display_name":"Multiple inheritance","level":3,"score":0.51658356},{"id":"https://openalex.org/C105122174","wikidata":"https://www.wikidata.org/wiki/Q322202","display_name":"Garbage collection","level":3,"score":0.47168022},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4366157},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4350289},{"id":"https://openalex.org/C106934330","wikidata":"https://www.wikidata.org/wiki/Q1971873","display_name":"Trait","level":2,"score":0.4294544},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.41075283},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.35312754},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.23515347},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.2104435},{"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/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C75403996","wikidata":"https://www.wikidata.org/wiki/Q5521979","display_name":"Garbage","level":2,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/1330017.1330022","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1330017.1330022","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_indexed_in_scopus":true,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},{"is_oa":true,"landing_page_url":"https://hal.inria.fr/inria-00432538/file/fjtraits.pdf","pdf_url":"https://hal.inria.fr/inria-00432538/file/fjtraits.pdf","source":{"id":"https://openalex.org/S4306402512","display_name":"HAL (Le Centre pour la Communication Scientifique Directe)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_indexed_in_scopus":false,"is_core":false,"host_organization":"https://openalex.org/I1294671590","host_organization_name":"Centre National de la Recherche Scientifique","host_organization_lineage":["https://openalex.org/I1294671590"],"host_organization_lineage_names":["Centre National de la Recherche Scientifique"],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://inria.hal.science/inria-00432538","pdf_url":"https://inria.hal.science/inria-00432538/document","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false},{"is_oa":true,"landing_page_url":"https://inria.hal.science/inria-00432538/file/fjtraits.pdf","pdf_url":"https://inria.hal.science/inria-00432538/file/fjtraits.pdf","source":null,"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/1330017.1330022","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1330017.1330022","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_indexed_in_scopus":true,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[],"grants":[{"funder":"https://openalex.org/F4320334962","funder_display_name":"Sixth Framework Programme","award_id":"IST-015964"}],"datasets":[],"versions":[],"referenced_works_count":37,"referenced_works":["https://openalex.org/W143490393","https://openalex.org/W1504300023","https://openalex.org/W1529805101","https://openalex.org/W1534678063","https://openalex.org/W1539982275","https://openalex.org/W1544633123","https://openalex.org/W1546727036","https://openalex.org/W1588959535","https://openalex.org/W1591849443","https://openalex.org/W1598089040","https://openalex.org/W170629960","https://openalex.org/W1770006921","https://openalex.org/W181216842","https://openalex.org/W1829244603","https://openalex.org/W1969665008","https://openalex.org/W2005221219","https://openalex.org/W2022373880","https://openalex.org/W2029414465","https://openalex.org/W2033348393","https://openalex.org/W2043261859","https://openalex.org/W2045723688","https://openalex.org/W2055879494","https://openalex.org/W2056445533","https://openalex.org/W2080648611","https://openalex.org/W2086957250","https://openalex.org/W2104301310","https://openalex.org/W2111898165","https://openalex.org/W2115680394","https://openalex.org/W2143238865","https://openalex.org/W2244800645","https://openalex.org/W2295135584","https://openalex.org/W2561675875","https://openalex.org/W2745654698","https://openalex.org/W2987803397","https://openalex.org/W4236858872","https://openalex.org/W4252832858","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W63705888","https://openalex.org/W50239096","https://openalex.org/W4242892199","https://openalex.org/W4241453829","https://openalex.org/W4231942661","https://openalex.org/W2114459515","https://openalex.org/W2096142159","https://openalex.org/W2060525997","https://openalex.org/W2005091774","https://openalex.org/W1487481831"],"abstract_inverted_index":{"In":[0,92],"the":[1,67,79,114,131,135,139,171,178,183],"context":[2],"of":[3,24,78,177,182,202],"statically":[4,88],"typed,":[5],"class-based":[6,82,204],"languages":[7,205],",":[8],"we":[9],"investigate":[10],"classes":[11,94],"that":[12,54,156,158],"can":[13,29,39,95],"be":[14,30,40,96,110,192],"extended":[15],"with":[16,87,147],"trait":[17,20,140],"composition.":[18],"A":[19],"is":[21],"a":[22,52,75,148,152,160,165,193,198],"collection":[23],"methods":[25,60,133],"without":[26],"state;":[27],"it":[28],"viewed":[31],"as":[32,100],"an":[33,144],"incomplete":[34],"stateless":[35],"class":[36,53,136],".":[37,91],"Traits":[38],"composed":[41],"in":[42,124,134,138],"any":[43],"order,":[44],"but":[45],"only":[46],"make":[47],"sense":[48],"when":[49],"imported":[50,68,107],"by":[51,113,117,127],"provides":[55],"state":[56],"variables":[57],"and":[58,151],"additional":[59],"to":[61,191],"disambiguate":[62],"conflicting":[63,132],"names":[64,123],"arising":[65],"between":[66,106],"traits.":[69],"We":[70,142,174],"introduce":[71],"FeatherTrait":[72],"Java":[73,85],"(FTJ),":[74],"conservative":[76],"extension":[77],"simple":[80],"lightweight":[81],"calculus":[83,189],"Featherweight":[84],"(FJ)":[86],"typed":[89,203],"traits":[90,99,108],"FTJ,":[93],"built":[97],"using":[98],"basic":[101],"behavioral":[102],"bricks;":[103],"method":[104,122],"conflicts":[105],"must":[109],"resolved":[111],"explicitly":[112,130],"user":[115],"either":[116],"(i)":[118],"aliasing":[119],"or":[120,126,137],"excluding":[121],"traits,":[125],"(ii)":[128],"overriding":[129],"itself.":[141],"present":[143],"operational":[145],"semantics":[146],"lookup":[149],"algorithm,":[150],"sound":[153],"type":[154],"system":[155],"guarantees":[157],"evaluating":[159],"well-typed":[161],"expression":[162],"never":[163],"yields":[164],"message-not-understood":[166],"run-time":[167],"error":[168],"nor":[169],"gets":[170],"interpreter":[172],"stuck.":[173],"give":[175],"examples":[176],"increased":[179],"expressive":[180],"power":[181],"trait-based":[184,207],"inheritance":[185],"model.":[186],"The":[187],"resulting":[188],"appears":[190],"good":[194],"starting":[195],"point":[196],"for":[197],"rigorous":[199],"mathematical":[200],"analysis":[201],"featuring":[206],"inheritance.":[208]},"abstract_inverted_index_v3":null,"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W2114980545","counts_by_year":[{"year":2022,"cited_by_count":2},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2017,"cited_by_count":4},{"year":2016,"cited_by_count":3},{"year":2015,"cited_by_count":4},{"year":2014,"cited_by_count":5},{"year":2013,"cited_by_count":3},{"year":2012,"cited_by_count":5}],"updated_date":"2025-03-16T07:12:30.298412","created_date":"2016-06-24"}