{"id":"https://openalex.org/W2552040597","doi":"https://doi.org/10.1017/s0956796816000319","title":"Interactive programming in Agda \u2013 Objects and graphical user interfaces","display_name":"Interactive programming in Agda \u2013 Objects and graphical user interfaces","publication_year":2017,"publication_date":"2017-01-01","ids":{"openalex":"https://openalex.org/W2552040597","doi":"https://doi.org/10.1017/s0956796816000319","mag":"2552040597"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796816000319","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796816000319","pdf_url":null,"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":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5008534457","display_name":"Andreas Abel","orcid":"https://orcid.org/0000-0003-0420-4492"},"institutions":[{"id":"https://openalex.org/I881427289","display_name":"University of Gothenburg","ror":"https://ror.org/01tm6cn81","country_code":"SE","type":"education","lineage":["https://openalex.org/I881427289"]}],"countries":["SE"],"is_corresponding":true,"raw_author_name":"ANDREAS ABEL","raw_affiliation_strings":["Department of Computer Science and Engineering, Gothenburg University, Sweden (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science and Engineering, Gothenburg University, Sweden (e-mail:","institution_ids":["https://openalex.org/I881427289"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5066419161","display_name":"Stephan Adelsberger","orcid":"https://orcid.org/0000-0001-5503-1785"},"institutions":[{"id":"https://openalex.org/I102248843","display_name":"Vienna University of Economics and Business","ror":"https://ror.org/03yn8s215","country_code":"AT","type":"education","lineage":["https://openalex.org/I102248843"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"STEPHAN ADELSBERGER","raw_affiliation_strings":["Department of Information Systems and Operations, Vienna University of Economics, Austria (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Information Systems and Operations, Vienna University of Economics, Austria (e-mail:","institution_ids":["https://openalex.org/I102248843"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5060337321","display_name":"Anton Setzer","orcid":"https://orcid.org/0000-0001-5322-6060"},"institutions":[{"id":"https://openalex.org/I39586589","display_name":"Swansea University","ror":"https://ror.org/053fq8t95","country_code":"GB","type":"education","lineage":["https://openalex.org/I39586589"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"ANTON SETZER","raw_affiliation_strings":["Department of Computer Science, Swansea University, Swansea SA2 8PP, UK (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Swansea University, Swansea SA2 8PP, UK (e-mail:","institution_ids":["https://openalex.org/I39586589"]}]}],"institutions":[],"countries_distinct_count":3,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5008534457"],"corresponding_institution_ids":["https://openalex.org/I881427289"],"apc_list":null,"apc_paid":null,"fwci":2.2864,"has_fulltext":false,"cited_by_count":15,"citation_normalized_percentile":{"value":0.90661479,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"27","issue":null,"first_page":null,"last_page":null},"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/T10142","display_name":"Formal Methods in Verification","score":0.9972000122070312,"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/T11010","display_name":"Logic, Reasoning, and Knowledge","score":0.9957000017166138,"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.9079328775405884},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8207562565803528},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.5645917654037476},{"id":"https://openalex.org/keywords/coinduction","display_name":"Coinduction","score":0.5497416257858276},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.5343574285507202},{"id":"https://openalex.org/keywords/monad","display_name":"Monad (category theory)","score":0.468664288520813},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.4441833198070526},{"id":"https://openalex.org/keywords/object-oriented-programming","display_name":"Object-oriented programming","score":0.43019574880599976},{"id":"https://openalex.org/keywords/object","display_name":"Object (grammar)","score":0.4179684817790985},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3226529061794281},{"id":"https://openalex.org/keywords/mathematical-proof","display_name":"Mathematical proof","score":0.18075242638587952},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.14160674810409546}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9079328775405884},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8207562565803528},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.5645917654037476},{"id":"https://openalex.org/C40220748","wikidata":"https://www.wikidata.org/wiki/Q4227156","display_name":"Coinduction","level":3,"score":0.5497416257858276},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.5343574285507202},{"id":"https://openalex.org/C33959348","wikidata":"https://www.wikidata.org/wiki/Q1630568","display_name":"Monad (category theory)","level":3,"score":0.468664288520813},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.4441833198070526},{"id":"https://openalex.org/C73752529","wikidata":"https://www.wikidata.org/wiki/Q79872","display_name":"Object-oriented programming","level":2,"score":0.43019574880599976},{"id":"https://openalex.org/C2781238097","wikidata":"https://www.wikidata.org/wiki/Q175026","display_name":"Object (grammar)","level":2,"score":0.4179684817790985},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3226529061794281},{"id":"https://openalex.org/C108710211","wikidata":"https://www.wikidata.org/wiki/Q11538","display_name":"Mathematical proof","level":2,"score":0.18075242638587952},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.14160674810409546},{"id":"https://openalex.org/C2524010","wikidata":"https://www.wikidata.org/wiki/Q8087","display_name":"Geometry","level":1,"score":0.0},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.0},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1017/s0956796816000319","is_oa":false,"landing_page_url":"https://doi.org/10.1017/s0956796816000319","pdf_url":null,"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"},{"id":"pmh:oai:research.wu.ac.at:openaire_cris_publications/231a68ed-3d35-48ed-a598-f6ea1fa4d69d","is_oa":false,"landing_page_url":"https://research.wu.ac.at/de/publications/231a68ed-3d35-48ed-a598-f6ea1fa4d69d","pdf_url":null,"source":{"id":"https://openalex.org/S7407055123","display_name":"WU Research","issn_l":null,"issn":null,"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":"repository"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Adelsberger, S 2017, 'Interactive programming in Agda - Objects and graphical user interfaces', Journal of Functional Programming, vol. 27, pp. 1 - 2. https://doi.org/10.1017/S0956796816000319","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","score":0.8500000238418579,"id":"https://metadata.un.org/sdg/4"}],"awards":[{"id":"https://openalex.org/G1188900203","display_name":"Theory And Applications of Induction Recursion","funder_award_id":"EP/G033374/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G4048376791","display_name":null,"funder_award_id":"621-2014-4864","funder_id":"https://openalex.org/F4320322581","funder_display_name":"Vetenskapsr\u00e5det"},{"id":"https://openalex.org/G6441127033","display_name":null,"funder_award_id":"EP/G033374/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320322581","display_name":"Vetenskapsr\u00e5det","ror":"https://ror.org/03zttf063"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":70,"referenced_works":["https://openalex.org/W32613657","https://openalex.org/W40661913","https://openalex.org/W81214682","https://openalex.org/W98811177","https://openalex.org/W126458859","https://openalex.org/W569543113","https://openalex.org/W1487721031","https://openalex.org/W1488210308","https://openalex.org/W1489272542","https://openalex.org/W1491165055","https://openalex.org/W1497721891","https://openalex.org/W1520174560","https://openalex.org/W1523149969","https://openalex.org/W1539120745","https://openalex.org/W1544633123","https://openalex.org/W1575675278","https://openalex.org/W1578912947","https://openalex.org/W1589398330","https://openalex.org/W1602651206","https://openalex.org/W1604313151","https://openalex.org/W1772036931","https://openalex.org/W1963240911","https://openalex.org/W1963720087","https://openalex.org/W1972260728","https://openalex.org/W1987624682","https://openalex.org/W1997143185","https://openalex.org/W2004778262","https://openalex.org/W2007435074","https://openalex.org/W2008058588","https://openalex.org/W2014047952","https://openalex.org/W2043387820","https://openalex.org/W2044590882","https://openalex.org/W2055372384","https://openalex.org/W2062887328","https://openalex.org/W2076149580","https://openalex.org/W2084015889","https://openalex.org/W2085552917","https://openalex.org/W2088156780","https://openalex.org/W2089674328","https://openalex.org/W2096001571","https://openalex.org/W2105153579","https://openalex.org/W2123691799","https://openalex.org/W2135326783","https://openalex.org/W2138387375","https://openalex.org/W2147890340","https://openalex.org/W2148387264","https://openalex.org/W2150275961","https://openalex.org/W2152635269","https://openalex.org/W2158542561","https://openalex.org/W2162919535","https://openalex.org/W2171496589","https://openalex.org/W2221145448","https://openalex.org/W2265625463","https://openalex.org/W2296612922","https://openalex.org/W2296715995","https://openalex.org/W2395623455","https://openalex.org/W2470575749","https://openalex.org/W2502640363","https://openalex.org/W2502661841","https://openalex.org/W2516942390","https://openalex.org/W2573921324","https://openalex.org/W2952161062","https://openalex.org/W3101185239","https://openalex.org/W3103594074","https://openalex.org/W3105861067","https://openalex.org/W3148505520","https://openalex.org/W4213279211","https://openalex.org/W4214487305","https://openalex.org/W6647149459","https://openalex.org/W6684075604"],"related_works":["https://openalex.org/W2889352267","https://openalex.org/W1533447472","https://openalex.org/W2981978939","https://openalex.org/W2950553444","https://openalex.org/W2978445086","https://openalex.org/W2128992690","https://openalex.org/W2209316887","https://openalex.org/W2968061697","https://openalex.org/W2367523195","https://openalex.org/W2779132223"],"abstract_inverted_index":{"Abstract":[0],"We":[1,88,122,165],"develop":[2,202],"a":[3,32,84,90,102,184,209,213,238,252,257,262,270,274],"methodology":[4,23],"for":[5,52,146,195],"writing":[6],"interactive":[7,69,108,171],"and":[8,80,118,130,160,173,227,261],"object-based":[9],"programs":[10,70,100,109,172,250],"(in":[11],"the":[12,27,36,53,61,74,192,203,229,266],"sense":[13],"of":[14,55,63,68,126,205,216,224,231,240],"Wegner)":[15],"in":[16,26,39,101,134,142,251],"dependently":[17],"typed":[18],"functional":[19],"programming":[20,41],"languages.":[21],"The":[22,49],"is":[24,71,83],"implemented":[25],"ooAgda":[28,30],"library.":[29],"provides":[31],"syntax":[33],"similar":[34],"to":[35,44,97,112,157,169,247,268],"one":[37],"used":[38],"object-oriented":[40],"languages,":[42],"thanks":[43],"Agda's":[45],"copattern":[46],"matching":[47],"facility.":[48],"library":[50],"allows":[51,95,155,246,265],"development":[54],"graphical":[56],"user":[57],"interfaces":[58,159],"(GUIs),":[59],"including":[60],"use":[62,89],"action":[64],"listeners.":[65],"Our":[66,152],"notion":[67,215],"based":[72],"on":[73],"IO":[75,131,143],"monad":[76],"defined":[77],"by":[78,115,162],"Hancock":[79],"Setzer,":[81],"which":[82,94,176,264],"coinductive":[85,92,214],"data":[86],"type.":[87],"sized":[91],"type":[93],"us":[96,156],"write":[98,248],"corecursive":[99],"modular":[103],"way.":[104],"Objects":[105],"are":[106,137],"server-side":[107],"that":[110,242],"respond":[111],"method":[113,140,194],"calls":[114,141],"giving":[116],"answers":[117],"changing":[119],"their":[120,150],"state.":[121],"introduce":[123],"two":[124],"kinds":[125],"objects:":[127],"simple":[128,135,258],"objects":[129,136,144,161,174,226],"objects.":[132],"Methods":[133],"pure,":[138],"while":[139],"allow":[145],"interactions":[147],"before":[148],"returning":[149],"result.":[151],"approach":[153,168],"also":[154],"extend":[158],"additional":[163],"methods.":[164],"refine":[166],"our":[167,243],"state-dependent":[170,185],"through":[175],"we":[177,188,201,219,236,255],"can":[178,189],"avoid":[179],"exceptions.":[180],"For":[181],"example,":[182,200],"with":[183],"stack":[186,225,233],"object,":[187],"statically":[190],"disable":[191],"pop":[193],"empty":[196],"stacks.":[197],"As":[198],"an":[199],"implementation":[204],"recursive":[206],"functions":[207],"using":[208,273],"safe":[210],"stack.":[211],"Using":[212],"object":[217],"bisimilarity,":[218],"verify":[220],"basic":[221],"correctness":[222],"properties":[223],"show":[228],"equivalence":[230],"different":[232],"implementations.":[234],"Finally,":[235],"give":[237],"proof":[239],"concept":[241],"interaction":[244],"model":[245],"GUI":[249],"natural":[253],"way:":[254],"present":[256],"drawing":[259],"program,":[260],"program":[263],"users":[267],"move":[269],"small":[271],"spaceship":[272],"button.":[275]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":6},{"year":2017,"cited_by_count":2},{"year":2016,"cited_by_count":1}],"updated_date":"2026-04-23T06:14:38.165362","created_date":"2025-10-10T00:00:00"}
