{"id":"https://openalex.org/W1544871986","doi":null,"title":"PolyLib - a polytypic function library","display_name":"PolyLib - a polytypic function library","publication_year":1998,"publication_date":"1998-01-01","ids":{"openalex":"https://openalex.org/W1544871986","mag":"1544871986"},"language":"en","primary_location":{"id":"pmh:oai:research.chalmers.se:10125","doi":null,"is_oa":true,"landing_page_url":"https://research.chalmers.se/en/publication/10125","pdf_url":"https://research.chalmers.se/en/publication/10125","source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null},"volume":null,"type":"article","is_traditional":true,"indexed_in":[],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://research.chalmers.se/en/publication/10125","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5032737176","display_name":"Patrik Jansson","orcid":"https://orcid.org/0000-0003-3078-1437","observed_orcids":["https://orcid.org/0000-0003-3078-1437"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Patrik Jansson","raw_affiliation_strings":[],"raw_orcid":"https://orcid.org/0000-0003-3078-1437","affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5011892251","display_name":"Johan T. Jeuring","orcid":"https://orcid.org/0000-0001-5645-7681","observed_orcids":["https://orcid.org/0000-0001-5645-7681"]},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Johan Jeuring","raw_affiliation_strings":[],"raw_orcid":"https://orcid.org/0000-0001-5645-7681","affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.5492,"has_fulltext":true,"cited_by_count":10,"citation_normalized_percentile":{"value":0.69516971,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"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.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.9994999766349792,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T11975","display_name":"Evolutionary Algorithms and Applications","score":0.0,"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.0,"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/polyps","display_name":"polyps","score":0.8600000143051147},{"id":"https://openalex.org/keywords/functional-programming","display_name":"functional programming","score":0.5509999990463257},{"id":"https://openalex.org/keywords/type-constructors","display_name":"type constructors","score":0.8740000128746033},{"id":"https://openalex.org/keywords/polytypic-programming","display_name":"polytypic programming","score":0.5879999995231628},{"id":"https://openalex.org/keywords/library-design","display_name":"library design","score":0.7329999804496765},{"id":"https://openalex.org/keywords/check-all-that-apply","display_name":"check-all-that-apply","score":0.4569999873638153},{"id":"https://openalex.org/keywords/maps","display_name":"maps","score":0.8550000190734863},{"id":"https://openalex.org/keywords/threads","display_name":"threads","score":0.972000002861023},{"id":"https://openalex.org/keywords/unification","display_name":"unification","score":0.6159999966621399},{"id":"https://openalex.org/keywords/syntactic-analysis","display_name":"syntactic analysis","score":0.8510000109672546},{"id":"https://openalex.org/keywords/pattern-matching","display_name":"pattern matching","score":0.746999979019165},{"id":"https://openalex.org/keywords/rewriting","display_name":"rewriting","score":0.5550000071525574}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8434110879898071},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8224260210990906},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7551069259643555},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.7118164300918579},{"id":"https://openalex.org/C7051814","wikidata":"https://www.wikidata.org/wiki/Q1051282","display_name":"Generic programming","level":2,"score":0.6651565432548523},{"id":"https://openalex.org/C34736171","wikidata":"https://www.wikidata.org/wiki/Q918333","display_name":"Preprocessor","level":2,"score":0.4790136218070984},{"id":"https://openalex.org/C154690210","wikidata":"https://www.wikidata.org/wiki/Q1668499","display_name":"Rewriting","level":2,"score":0.4530288279056549},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.45168668031692505},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.4153149425983429}],"mesh":[],"locations_count":3,"locations":[{"id":"pmh:oai:research.chalmers.se:10125","doi":null,"is_oa":true,"landing_page_url":"https://research.chalmers.se/en/publication/10125","pdf_url":"https://research.chalmers.se/en/publication/10125","source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null},{"id":"pmh:oai:publications.lib.chalmers.se:10125","doi":null,"is_oa":false,"landing_page_url":"http://publications.lib.chalmers.se/publication/10125-polylib-a-polytypic-function-library","pdf_url":null,"source":{"id":"https://openalex.org/S4377196470","display_name":"Chalmers Publication Library (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text.Article.Conference.PeerReviewed"},{"id":"mag:1544871986","doi":null,"is_oa":false,"landing_page_url":"https://research.chalmers.se/publication/10125","pdf_url":null,"source":{"id":"https://openalex.org/S4306421243","display_name":"Workshop on Generic Programming","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"conference"},"license":null,"license_id":null,"version":null,"is_accepted":false,"is_published":false,"raw_source_name":"Workshop on Generic Programming","raw_type":null}],"best_oa_location":{"id":"pmh:oai:research.chalmers.se:10125","doi":null,"is_oa":true,"landing_page_url":"https://research.chalmers.se/en/publication/10125","pdf_url":"https://research.chalmers.se/en/publication/10125","source":{"id":"https://openalex.org/S4306402469","display_name":"Chalmers Research (Chalmers University of Technology)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"listed_in":[],"host_organization":"https://openalex.org/I66862912","host_organization_name":"Chalmers University of Technology","host_organization_lineage":["https://openalex.org/I66862912"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":null},"sustainable_development_goals":[],"study_designs":[],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W1544871986.pdf","grobid_xml":"https://content.openalex.org/works/W1544871986.grobid-xml"},"referenced_works_count":0,"referenced_works":[],"related_works":["https://openalex.org/W7096997223","https://openalex.org/W7095856995","https://openalex.org/W1585967043","https://openalex.org/W3021985179","https://openalex.org/W138078219","https://openalex.org/W7100691880","https://openalex.org/W2058137890","https://openalex.org/W1505177643","https://openalex.org/W2912111500","https://openalex.org/W7099849192"],"abstract_inverted_index":{"A":[0,33],"polytypic":[1,17,31,34,53,70,82,105,117,122,147,159,201,233,249,262,271,336,348],"program":[2,5],"is":[3,21,36,56,73,206,237,251,280,312],"a":[4,10,66,74,102,171,204,211,232,243,281],"that":[6,78,292],"behaves":[7],"uniformly":[8],"over":[9,26,303],"large":[11],"class":[12],"of":[13,44,51,59,81,87,104,152,200,210,225,288,298,306,309],"datatypes.":[14],"For":[15,231],"functional":[16,61],"programming":[18,62,212,234],"this":[19,299,310],"uniformity":[20],"achieved":[22],"by":[23,39],"parameterizing":[24],"functions":[25,83,136,148,160,349],"type":[27,46,75],"constructors":[28,47],"to":[29,100,179,241,260,284,313],"obtain":[30,314],"functions.":[32,54,71,337],"function":[35],"defined":[37],"either":[38],"induction":[40],"on":[41,316],"the":[42,60,92,126,150,158,167,187,192,198,265,286,294,307,317,325,328,330,334,339,359],"structure":[43],"regular":[45],"or":[48],"in":[49,149,161,166,186],"terms":[50],"other":[52,184,266,321,360],"PolyP":[55,72,99],"an":[57,207],"extension":[58],"language":[63,235],"Haskell":[64,220],"with":[65,183,197,350],"construct":[67,101],"for":[68,107,109,173,347,354,356],"defining":[69],"guided":[76],"preprocessor":[77],"generates":[79],"instances":[80,89],"and":[84,130,140,169,219,228,245,253,296,358],"inserts":[85],"applications":[86],"these":[88,145],"where":[90],"needed.During":[91],"last":[93],"few":[94],"years":[95],"we":[96,177,254,290,341],"have":[97,143,242],"used":[98],"number":[103],"programs,":[106],"example":[108,355],"unification,":[110],"parsing,":[111],"rewriting,":[112],"pattern":[113],"matching,":[114],"etc.":[115],"These":[116],"programs":[118,250,272,361],"use":[119,270],"several":[120],"basic":[121,146,335],"functions,":[123,278],"such":[124,137,273],"as":[125,138,274],"relatively":[127],"well-known":[128,135],"cata":[129],"map,":[131],"but":[132],"also":[133],"less":[134],"propagate":[139],"thread.":[141],"We":[142,189],"collected":[144],"library":[151,205,287,318,331],"PolyP:":[153],"PolyLib.":[154],"This":[155],"paper":[156,311],"describes":[157],"PolyLib,":[162],"motivates":[163],"their":[164,174,226],"presence":[165],"library,":[168],"gives":[170],"rationale":[172],"design.":[175],"Thus":[176],"hope":[178],"share":[180],"our":[181],"experience":[182],"researchers":[185,322],"field.":[188,326],"will":[190,301,342],"assume":[191],"reader":[193],"has":[194],"some":[195],"familiarity":[196],"field":[199],"programming.Of":[202],"course,":[203],"important":[208,240],"part":[209],"language.":[213],"Languages":[214],"like":[215],"Java,":[216],"Delphi,":[217],"Perl":[218],"are":[221],"popular":[222],"partly":[223],"because":[224],"useful":[227],"extensive":[229],"libraries.":[230],"it":[236],"even":[238],"more":[239,351],"clear":[244],"well-designed":[246],"library:":[247],"writing":[248],"difficult,":[252],"do":[255],"not":[256],"expect":[257,291],"many":[258,268],"programmers":[259,269],"write":[261],"programs.":[263],"On":[264],"hand,":[267],"parser":[275],"generators,":[276],"equality":[277],"etc.This":[279],"first":[282],"attempt":[283],"describe":[285],"PolyP;":[289],"both":[293],"form":[295],"content":[297],"description":[300],"change":[302],"time.":[304],"One":[305],"goals":[308],"feedback":[315],"design":[319],"from":[320],"working":[323],"within":[324],"At":[327],"moment":[329],"only":[332],"contains":[333],"In":[338],"future":[340],"develop":[343],"special":[344],"purpose":[345],"sublibraries":[346],"advanced":[352],"functionality,":[353],"parsing":[357],"mentioned":[362],"above.":[363]},"counts_by_year":[],"updated_date":"2026-11-12T12:28:57.059296","created_date":"2016-06-24T00:00:00"}
