{"id":"https://openalex.org/W2109649240","doi":"https://doi.org/10.1017/s0956796806005879","title":"Type-safe run-time polytypic programming","display_name":"Type-safe run-time polytypic programming","publication_year":2006,"publication_date":"2006-02-28","ids":{"openalex":"https://openalex.org/W2109649240","doi":"https://doi.org/10.1017/s0956796806005879","mag":"2109649240"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796806005879","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796806005879","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6461794C150F8570D90E67ED67324308/S0956796806005879a.pdf/div-class-title-type-safe-run-time-polytypic-programming-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6461794C150F8570D90E67ED67324308/S0956796806005879a.pdf/div-class-title-type-safe-run-time-polytypic-programming-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5049220962","display_name":"Stephanie Weirich","orcid":"https://orcid.org/0000-0002-6756-9168"},"institutions":[{"id":"https://openalex.org/I79576946","display_name":"University of Pennsylvania","ror":"https://ror.org/00b30xv10","country_code":"US","type":"education","lineage":["https://openalex.org/I79576946"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"STEPHANIE WEIRICH","raw_affiliation_strings":["Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19104, USA","Department of Computer and Information Science, University of Pennsylvania Philadelphia, PA 19104, USA"],"affiliations":[{"raw_affiliation_string":"Department of Computer and Information Science, University of Pennsylvania, Philadelphia, PA 19104, USA","institution_ids":["https://openalex.org/I79576946"]},{"raw_affiliation_string":"Department of Computer and Information Science, University of Pennsylvania Philadelphia, PA 19104, USA","institution_ids":["https://openalex.org/I79576946"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5049220962"],"corresponding_institution_ids":["https://openalex.org/I79576946"],"apc_list":null,"apc_paid":null,"fwci":2.2591,"has_fulltext":true,"cited_by_count":11,"citation_normalized_percentile":{"value":0.89181191,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"16","issue":"6","first_page":"681","last_page":"710"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998999834060669,"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.9998999834060669,"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/T11424","display_name":"Security and Verification in Computing","score":0.9929999709129333,"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.9884999990463257,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8911058902740479},{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.7913293838500977},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7681396007537842},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5713835954666138},{"id":"https://openalex.org/keywords/generic-programming","display_name":"Generic programming","score":0.5475330352783203},{"id":"https://openalex.org/keywords/type-safety","display_name":"Type safety","score":0.5130259394645691},{"id":"https://openalex.org/keywords/recursion","display_name":"Recursion (computer science)","score":0.48954448103904724},{"id":"https://openalex.org/keywords/data-type","display_name":"Data type","score":0.4765937030315399},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.47275835275650024},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.41858619451522827},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.3342632055282593},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3234400153160095},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.12937137484550476}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8911058902740479},{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.7913293838500977},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7681396007537842},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5713835954666138},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.5475330352783203},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.5130259394645691},{"id":"https://openalex.org/C168773036","wikidata":"https://www.wikidata.org/wiki/Q264164","display_name":"Recursion (computer science)","level":2,"score":0.48954448103904724},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.4765937030315399},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.47275835275650024},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.41858619451522827},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.3342632055282593},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3234400153160095},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.12937137484550476},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796806005879","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796806005879","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6461794C150F8570D90E67ED67324308/S0956796806005879a.pdf/div-class-title-type-safe-run-time-polytypic-programming-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s0956796806005879","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796806005879","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/6461794C150F8570D90E67ED67324308/S0956796806005879a.pdf/div-class-title-type-safe-run-time-polytypic-programming-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2109649240.pdf","grobid_xml":"https://content.openalex.org/works/W2109649240.grobid-xml"},"referenced_works_count":40,"referenced_works":["https://openalex.org/W18425853","https://openalex.org/W313714494","https://openalex.org/W326743114","https://openalex.org/W1480674757","https://openalex.org/W1535217452","https://openalex.org/W1556536463","https://openalex.org/W1854388022","https://openalex.org/W1974398164","https://openalex.org/W1975957807","https://openalex.org/W1985088747","https://openalex.org/W1987203566","https://openalex.org/W1989916808","https://openalex.org/W2017532341","https://openalex.org/W2021447352","https://openalex.org/W2025407135","https://openalex.org/W2030916392","https://openalex.org/W2037021191","https://openalex.org/W2046645050","https://openalex.org/W2057292961","https://openalex.org/W2058137890","https://openalex.org/W2059895047","https://openalex.org/W2073569229","https://openalex.org/W2082367883","https://openalex.org/W2096280839","https://openalex.org/W2109649240","https://openalex.org/W2136177623","https://openalex.org/W2143973850","https://openalex.org/W2145738007","https://openalex.org/W2157137298","https://openalex.org/W2170732676","https://openalex.org/W2211325406","https://openalex.org/W2293033370","https://openalex.org/W2493130382","https://openalex.org/W2787361311","https://openalex.org/W2911433283","https://openalex.org/W2911562543","https://openalex.org/W4232319088","https://openalex.org/W4235662267","https://openalex.org/W4237650395","https://openalex.org/W4255221764"],"related_works":["https://openalex.org/W2493130382","https://openalex.org/W2145738007","https://openalex.org/W2112263414","https://openalex.org/W2971609332","https://openalex.org/W2110095505","https://openalex.org/W2779713464","https://openalex.org/W2017112188","https://openalex.org/W4235669620","https://openalex.org/W3087634590","https://openalex.org/W3006157134"],"abstract_inverted_index":{"Polytypic":[0],"programming":[1,21,37,57],"is":[2,33,64,108],"a":[3,59,76,80,93,102,117,125],"way":[4],"of":[5,82,120],"defining":[6],"type-indexed":[7],"operations,":[8],"such":[9,75],"as":[10,70,124],"map,":[11],"fold":[12],"and":[13,110],"zip,":[14],"based":[15],"on":[16],"type":[17,24,44,99],"information.":[18],"Run-time":[19],"polytypic":[20,56,68],"allows":[22],"that":[23,39,90],"information":[25,100],"to":[26,66,88,112],"be":[27],"dynamically":[28],"computed":[29],"\u2013":[30,114],"this":[31],"support":[32,40],"essential":[34],"in":[35,50,92,101],"modern":[36],"languages":[38],"separate":[41],"compilation,":[42],"first-class":[43,73],"abstraction,":[45],"or":[46],"polymorphic":[47],"recursion.":[48],"However,":[49],"previous":[51],"work":[52,91],"we":[53,115],"defined":[54],"run-time":[55],"with":[58],"type-passing":[60],"semantics.":[61],"Although":[62],"it":[63],"natural":[65],"define":[67],"programs":[69],"operating":[71],"over":[72],"types,":[74],"semantics":[77],"suffers":[78],"from":[79],"number":[81],"drawbacks.":[83],"This":[84],"paper":[85],"describes":[86],"how":[87],"recast":[89],"type-erasure":[94],"semantics,":[95],"where":[96],"terms":[97],"represent":[98],"safe":[103],"manner.":[104],"The":[105],"resulting":[106],"language":[107],"simple":[109],"easy":[111],"implement":[113],"present":[116],"prototype":[118],"implementation":[119],"the":[121],"necessary":[122],"machinery":[123],"small":[126],"Haskell":[127],"library.":[128]},"counts_by_year":[{"year":2014,"cited_by_count":1},{"year":2012,"cited_by_count":4}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
