{"doi":"10.1145/1297846.1297961","title":"Combining structural subtyping and external dispatch","abstract":null,"journal":"Companion to the 22nd ACM SIGPLAN conference on Object-oriented programming systems and applications companion","year":2007,"id":592764,"datarank":0.28591445184701125,"base_score":1.0986122886681096,"endowment":1.0986122886681096,"self_citation_contribution":0.16479184330021646,"citation_network_contribution":0.12112260854679478,"self_endowment_contribution":0.16479184330021646,"citer_contribution":0.12112260854679478,"corpus_percentile":null,"corpus_rank":null,"citation_count":2,"citer_count":1,"citers_with_citation_signal":1,"citers_with_endowment":1,"datacite_reuse_total":0,"is_dataset":false,"is_dataset_confidence":null,"is_data_producer":false,"deposit_databanks":null,"is_oa":false,"file_count":0,"downloads":0,"has_version_chain":false,"published_date":null,"fair_score":null,"fair_percentile":null,"algorithm_id":"datarank_citation_only_1hop_v6","ranking_scope":"data_only","authors":[{"id":1516925,"name":"Donna Malayeri","orcid":null,"position":0,"is_corresponding":false}],"reference_count":0,"raw_metadata":{"has_enrichment":true,"resolved":true,"title":"Combining structural subtyping and external dispatch","abstract":"By-name subtyping (or user-defined subtyping) and structural subtyping each have their own strengths and weaknesses. By-name subtyping allows programmers to explicitly express design intent, and, when types are associated with run time tags, enables run-time \"type\" tests and external/multimethod dispatch. On the other hand, structural subtyping is flexible and compositional, allowing unanticipated reuse. To date, nearly all object-oriented languages fully support only one subtyping paradigm or the other.","is_dataset_classified":null,"base_score":1.0986122886681096,"endowment":1.0986122886681096,"datacite_reuse_total":0,"file_count":0,"downloads":0,"views":0,"has_version_chain":false,"is_dataset":false,"is_oa":false,"pmid":"26657633","pmcid":null,"openalex_id":"https://openalex.org/W4229853287","authors":[],"funders":[],"total_grants":0,"fwci":null,"citation_percentile":null,"influential_citations":0,"citation_trend":[],"oa_status":"closed","license":null,"oa_locations":[{"url":"https://dl.acm.org/doi/pdf/10.1145/1297846.1297961","host_type":"publisher"},{"url":"https://doi.org/10.1145/1297846.1297961","host_type":""}],"fields_of_study":["Model-Driven Software Engineering Techniques","Advanced Software Engineering Methodologies","Logic, programming, and type systems"],"mesh_terms":[],"keywords":["Subtyping","Computer science","Object-oriented programming","Programming language","Object (grammar)","Reuse","Engineering","Artificial intelligence"],"sdg_mappings":[{"sdg_number":0,"sdg_label":"Quality Education"}],"linked_datasets":[],"clinical_trials":[],"software_tools":[],"database_accessions":[],"source":"live","citation_network_status":"fetched"},"created_at":"2026-07-26T15:27:47.439118Z","pmid":null,"pmcid":null,"fwci":null,"citation_percentile":null,"influential_citations":0,"oa_status":null,"license":null,"views":0,"total_file_size_bytes":0,"version_count":0,"fair_f":null,"fair_a":null,"fair_i":null,"fair_r":null,"fair_zscore":null,"fair_rationale":null,"fair_model":null,"fair_agent_version":null,"fair_fulltext_source":null,"fair_has_llm":null,"fair_computed_at":null,"clinical_trials":[],"software_tools":[],"db_accessions":[],"linked_datasets":[],"topics":[]}