Matches in SemOpenAlex for { <https://semopenalex.org/work/W138078219> ?p ?o ?g. }
Showing items 1 to 69 of
69
with 100 items per page.
- W138078219 abstract "Many algorithms have to be implemented over and over again for different datatypes, either because datatypes change during the development of programs, or because the same algorithm is used for several datatypes. Examples of such algorithms are equality tests, pretty printers, and pattern matchers, and polytypic programming is a paradigm for expressing such algorithms. This dissertation introduces polytypic programming for functional programming languages, shows how to construct and prove properties of polytypic algorithms, presents the language extension PolyP for implementing polytypic algorithms in a type safe way, and presents a number of applications of polytypic programming. The applications include a library of basic polytypic building blocks, PolyLib, and two larger applications of polytypic programming: rewriting and data conversion. PolyP extends a functional language (a subset of Haskell) with a construct for defining polytypic functions by induction on the structure of user-defined datatypes. Programs in the extended language are translated to Haskell. PolyLib contains powerful structured recursion operators like catamorphisms, maps and traversals, as well as polytypic versions of a number of standard functions from functional programming: sum, length, zip, (==), ( The first larger application is a framework for polytypic programming on terms. We show that an interface of four functions is sufficient to express polytypic functions for pattern matching, unification and term rewriting. Using this framework, a term rewriting function is specified and transformed into an efficient and correct implementation. In the second application, a number of functions for polytypic data conversion are implemented and proved correct. The conversions considered include pretty printing, parsing, packing and unpacking of structured data. The conversion functions are expressed in an embedded domain specific language for data conversion (a hierarchy of Haskell's constructor classes)." @default.
- W138078219 created "2016-06-24" @default.
- W138078219 creator A5032737176 @default.
- W138078219 date "2000-01-01" @default.
- W138078219 modified "2023-09-28" @default.
- W138078219 title "Functional Polytypic Programming" @default.
- W138078219 hasPublicationYear "2000" @default.
- W138078219 type Work @default.
- W138078219 sameAs 138078219 @default.
- W138078219 citedByCount "14" @default.
- W138078219 crossrefType "dissertation" @default.
- W138078219 hasAuthorship W138078219A5032737176 @default.
- W138078219 hasConcept C11413529 @default.
- W138078219 hasConcept C138958017 @default.
- W138078219 hasConcept C154690210 @default.
- W138078219 hasConcept C162319229 @default.
- W138078219 hasConcept C168773036 @default.
- W138078219 hasConcept C186644900 @default.
- W138078219 hasConcept C199360897 @default.
- W138078219 hasConcept C2780624054 @default.
- W138078219 hasConcept C2780801425 @default.
- W138078219 hasConcept C41008148 @default.
- W138078219 hasConcept C42383842 @default.
- W138078219 hasConcept C68859911 @default.
- W138078219 hasConcept C7051814 @default.
- W138078219 hasConcept C80444323 @default.
- W138078219 hasConcept C96146094 @default.
- W138078219 hasConceptScore W138078219C11413529 @default.
- W138078219 hasConceptScore W138078219C138958017 @default.
- W138078219 hasConceptScore W138078219C154690210 @default.
- W138078219 hasConceptScore W138078219C162319229 @default.
- W138078219 hasConceptScore W138078219C168773036 @default.
- W138078219 hasConceptScore W138078219C186644900 @default.
- W138078219 hasConceptScore W138078219C199360897 @default.
- W138078219 hasConceptScore W138078219C2780624054 @default.
- W138078219 hasConceptScore W138078219C2780801425 @default.
- W138078219 hasConceptScore W138078219C41008148 @default.
- W138078219 hasConceptScore W138078219C42383842 @default.
- W138078219 hasConceptScore W138078219C68859911 @default.
- W138078219 hasConceptScore W138078219C7051814 @default.
- W138078219 hasConceptScore W138078219C80444323 @default.
- W138078219 hasConceptScore W138078219C96146094 @default.
- W138078219 hasLocation W1380782191 @default.
- W138078219 hasOpenAccess W138078219 @default.
- W138078219 hasPrimaryLocation W1380782191 @default.
- W138078219 hasRelatedWork W1556536463 @default.
- W138078219 hasRelatedWork W1557561422 @default.
- W138078219 hasRelatedWork W1608714802 @default.
- W138078219 hasRelatedWork W1649645444 @default.
- W138078219 hasRelatedWork W1919687110 @default.
- W138078219 hasRelatedWork W1964211642 @default.
- W138078219 hasRelatedWork W2009259962 @default.
- W138078219 hasRelatedWork W2027048725 @default.
- W138078219 hasRelatedWork W2030916392 @default.
- W138078219 hasRelatedWork W2058137890 @default.
- W138078219 hasRelatedWork W2093896470 @default.
- W138078219 hasRelatedWork W2131828631 @default.
- W138078219 hasRelatedWork W2136177623 @default.
- W138078219 hasRelatedWork W2137236134 @default.
- W138078219 hasRelatedWork W2154148405 @default.
- W138078219 hasRelatedWork W2166822586 @default.
- W138078219 hasRelatedWork W2169684009 @default.
- W138078219 hasRelatedWork W2911433283 @default.
- W138078219 hasRelatedWork W2912333754 @default.
- W138078219 hasRelatedWork W2913811625 @default.
- W138078219 isParatext "false" @default.
- W138078219 isRetracted "false" @default.
- W138078219 magId "138078219" @default.
- W138078219 workType "dissertation" @default.