{"id":"https://openalex.org/W2145108549","doi":"https://doi.org/10.1017/s095679681300018x","title":"Idris, a general-purpose dependently typed programming language: Design and implementation","display_name":"Idris, a general-purpose dependently typed programming language: Design and implementation","publication_year":2013,"publication_date":"2013-09-01","ids":{"openalex":"https://openalex.org/W2145108549","doi":"https://doi.org/10.1017/s095679681300018x","mag":"2145108549"},"language":"en","primary_location":{"id":"doi:10.1017/s095679681300018x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679681300018x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/418409138B4452969AC0736DB0A2C238/S095679681300018Xa.pdf/div-class-title-idris-a-general-purpose-dependently-typed-programming-language-design-and-implementation-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/418409138B4452969AC0736DB0A2C238/S095679681300018Xa.pdf/div-class-title-idris-a-general-purpose-dependently-typed-programming-language-design-and-implementation-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5042121684","display_name":"Edwin Brady","orcid":"https://orcid.org/0000-0002-9734-367X"},"institutions":[{"id":"https://openalex.org/I16835326","display_name":"University of St Andrews","ror":"https://ror.org/02wn5qz54","country_code":"GB","type":"education","lineage":["https://openalex.org/I16835326"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"EDWIN BRADY","raw_affiliation_strings":["School of Computer Science, University of St Andrews, St Andrews KY16 9SX, UK (e-mail:","School of Computer Science, University of St Andrews, St Andrews KY16 9SX, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"School of Computer Science, University of St Andrews, St Andrews KY16 9SX, UK (e-mail:","institution_ids":["https://openalex.org/I16835326"]},{"raw_affiliation_string":"School of Computer Science, University of St Andrews, St Andrews KY16 9SX, UK","institution_ids":["https://openalex.org/I16835326"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5042121684"],"corresponding_institution_ids":["https://openalex.org/I16835326"],"apc_list":null,"apc_paid":null,"fwci":38.0474,"has_fulltext":true,"cited_by_count":296,"citation_normalized_percentile":{"value":0.9979068,"is_in_top_1_percent":true,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":96,"max":100},"biblio":{"volume":"23","issue":"5","first_page":"552","last_page":"593"},"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.9998000264167786,"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.9998000264167786,"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/T10260","display_name":"Software Engineering Research","score":0.9973999857902527,"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"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9724000096321106,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8786066770553589},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7918856739997864},{"id":"https://openalex.org/keywords/programming-language-specification","display_name":"Programming language specification","score":0.5418508648872375},{"id":"https://openalex.org/keywords/very-high-level-programming-language","display_name":"Very high-level programming language","score":0.5249683260917664},{"id":"https://openalex.org/keywords/language-primitive","display_name":"Language primitive","score":0.508478045463562},{"id":"https://openalex.org/keywords/type-theory","display_name":"Type theory","score":0.49646979570388794},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.4888981878757477},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.4683866798877716},{"id":"https://openalex.org/keywords/first-generation-programming-language","display_name":"First-generation programming language","score":0.4661017656326294},{"id":"https://openalex.org/keywords/high-level-programming-language","display_name":"High-level programming language","score":0.4597521126270294},{"id":"https://openalex.org/keywords/unification","display_name":"Unification","score":0.4508986175060272},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.397434264421463},{"id":"https://openalex.org/keywords/programming-paradigm","display_name":"Programming paradigm","score":0.37871262431144714},{"id":"https://openalex.org/keywords/functional-logic-programming","display_name":"Functional logic programming","score":0.3617092967033386},{"id":"https://openalex.org/keywords/programming-domain","display_name":"Programming domain","score":0.33645474910736084},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2469988465309143},{"id":"https://openalex.org/keywords/inductive-programming","display_name":"Inductive programming","score":0.19215592741966248},{"id":"https://openalex.org/keywords/lambda-calculus","display_name":"Lambda calculus","score":0.07962816953659058}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8786066770553589},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7918856739997864},{"id":"https://openalex.org/C15077461","wikidata":"https://www.wikidata.org/wiki/Q7248507","display_name":"Programming language specification","level":5,"score":0.5418508648872375},{"id":"https://openalex.org/C169796678","wikidata":"https://www.wikidata.org/wiki/Q835124","display_name":"Very high-level programming language","level":5,"score":0.5249683260917664},{"id":"https://openalex.org/C20724563","wikidata":"https://www.wikidata.org/wiki/Q3075258","display_name":"Language primitive","level":4,"score":0.508478045463562},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.49646979570388794},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.4888981878757477},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.4683866798877716},{"id":"https://openalex.org/C570499","wikidata":"https://www.wikidata.org/wiki/Q1289116","display_name":"First-generation programming language","level":3,"score":0.4661017656326294},{"id":"https://openalex.org/C19024347","wikidata":"https://www.wikidata.org/wiki/Q211496","display_name":"High-level programming language","level":3,"score":0.4597521126270294},{"id":"https://openalex.org/C96146094","wikidata":"https://www.wikidata.org/wiki/Q609057","display_name":"Unification","level":2,"score":0.4508986175060272},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.397434264421463},{"id":"https://openalex.org/C34165917","wikidata":"https://www.wikidata.org/wiki/Q188267","display_name":"Programming paradigm","level":2,"score":0.37871262431144714},{"id":"https://openalex.org/C96315309","wikidata":"https://www.wikidata.org/wiki/Q5508829","display_name":"Functional logic programming","level":4,"score":0.3617092967033386},{"id":"https://openalex.org/C119263510","wikidata":"https://www.wikidata.org/wiki/Q7248501","display_name":"Programming domain","level":4,"score":0.33645474910736084},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2469988465309143},{"id":"https://openalex.org/C50033165","wikidata":"https://www.wikidata.org/wiki/Q15712089","display_name":"Inductive programming","level":3,"score":0.19215592741966248},{"id":"https://openalex.org/C135790938","wikidata":"https://www.wikidata.org/wiki/Q242028","display_name":"Lambda calculus","level":2,"score":0.07962816953659058},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s095679681300018x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679681300018x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/418409138B4452969AC0736DB0A2C238/S095679681300018Xa.pdf/div-class-title-idris-a-general-purpose-dependently-typed-programming-language-design-and-implementation-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/s095679681300018x","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s095679681300018x","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/418409138B4452969AC0736DB0A2C238/S095679681300018Xa.pdf/div-class-title-idris-a-general-purpose-dependently-typed-programming-language-design-and-implementation-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":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.5600000023841858}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2145108549.pdf","grobid_xml":"https://content.openalex.org/works/W2145108549.grobid-xml"},"referenced_works_count":36,"referenced_works":["https://openalex.org/W56597076","https://openalex.org/W319887929","https://openalex.org/W1501891810","https://openalex.org/W1508641834","https://openalex.org/W1511916234","https://openalex.org/W1520936552","https://openalex.org/W1522049235","https://openalex.org/W1529227536","https://openalex.org/W1536822759","https://openalex.org/W1538467230","https://openalex.org/W1553511155","https://openalex.org/W1558115254","https://openalex.org/W1570124744","https://openalex.org/W1575675278","https://openalex.org/W1632691573","https://openalex.org/W1963240911","https://openalex.org/W1968608688","https://openalex.org/W1993129359","https://openalex.org/W2012619465","https://openalex.org/W2050702141","https://openalex.org/W2062887328","https://openalex.org/W2069858276","https://openalex.org/W2113068339","https://openalex.org/W2116813111","https://openalex.org/W2117477507","https://openalex.org/W2119897009","https://openalex.org/W2127389065","https://openalex.org/W2140647971","https://openalex.org/W2166662837","https://openalex.org/W2736423681","https://openalex.org/W2799057409","https://openalex.org/W2912949875","https://openalex.org/W3104854762","https://openalex.org/W4213279211","https://openalex.org/W4233310630","https://openalex.org/W4285719527"],"related_works":["https://openalex.org/W2133376498","https://openalex.org/W2376978878","https://openalex.org/W2353024289","https://openalex.org/W2216440867","https://openalex.org/W2230513087","https://openalex.org/W2235266364","https://openalex.org/W2198524561","https://openalex.org/W3141558467","https://openalex.org/W2238450825","https://openalex.org/W977496018"],"abstract_inverted_index":{"Abstract":[0],"Many":[1],"components":[2,29],"of":[3,53,128],"a":[4,31,56,68,99,114],"dependently":[5,58],"typed":[6,59],"programming":[7,61,70],"language":[8,36,44,71,91,131],"are":[9],"by":[10,42],"now":[11],"well":[12],"understood,":[13],"for":[14,102],"example,":[15],"the":[16,51,89,93,126],"underlying":[17,94],"type":[18,20,82,95,111,117],"theory,":[19,96],"checking,":[21],"unification":[22],"and":[23,33,72,84,92,97,110],"evaluation.":[24],"How":[25],"to":[26,66],"combine":[27],"these":[28],"into":[30,113],"realistic":[32],"usable":[34],"high-level":[35,76,90,105,130],"is,":[37],"however,":[38],"folklore,":[39],"discovered":[40],"anew":[41],"successive":[43],"implementors.":[45],"In":[46],"this":[47,123],"paper,":[48],"I":[49,87,120],"describe":[50,88],"implementation":[52,127],"Idris":[54,63],",":[55],"new":[57,129],"functional":[60],"language.":[62],"is":[64],"intended":[65],"be":[67],"general-purpose":[69],"as":[73,79],"such":[74,78],"provides":[75],"concepts":[77],"implicit":[80,108],"syntax,":[81],"classes":[83,112],"do":[85],"notation.":[86],"present":[98],"tactic-based":[100],"method":[101,124],"elaborating":[103],"concrete":[104],"syntax":[106],"with":[107],"arguments":[109],"fully":[115],"explicit":[116],"theory.":[118],"Furthermore,":[119],"show":[121],"how":[122],"facilitates":[125],"constructs.":[132]},"counts_by_year":[{"year":2026,"cited_by_count":5},{"year":2025,"cited_by_count":8},{"year":2024,"cited_by_count":23},{"year":2023,"cited_by_count":14},{"year":2022,"cited_by_count":12},{"year":2021,"cited_by_count":25},{"year":2020,"cited_by_count":27},{"year":2019,"cited_by_count":32},{"year":2018,"cited_by_count":37},{"year":2017,"cited_by_count":35},{"year":2016,"cited_by_count":29},{"year":2015,"cited_by_count":28},{"year":2014,"cited_by_count":17},{"year":2013,"cited_by_count":3}],"updated_date":"2026-06-09T15:46:55.921056","created_date":"2025-10-10T00:00:00"}
