Matches in SemOpenAlex for { <https://semopenalex.org/work/W1489921942> ?p ?o ?g. }
Showing items 1 to 67 of
67
with 100 items per page.
- W1489921942 abstract "Abstraction is ubiquitous in computer programming. The work of this thesis focuses on one specific form of abstraction. Computer programs manipulate data, which can either be primitive machine data (such as integer or fractional numbers) or programmer-defined data (such as lists, trees, matrices, images, etc.). There is only a small number of primitive datatypes, but a potentially infinite number of programmer-defined data. The structure of the latter data depends on the problem at hand, and while some structures appear very often (such as sequences of values), others are truly specific to a particular problem. Some kind of functionality is generally desired for all types of data. Reading and storing files to the disk, for instance, is as important for machine integers as it is for complex healthcare databases, or genealogy trees. And not just reading and writing files: testing for equality, sorting, traversing, computing the length, all are examples of functionality that is often desired for all kinds of data. Most programming languages allow defining complex datatypes as a form of abstraction, but few provide good support for defining behaviour that is generic over data. As such, programmers are forced to specify this behaviour over and over again, once for each new type of data, and also to adapt this code whenever the structure of their data changes. This is a tedious task, and can quickly become time-consuming, leading some programmers to write programs to generate this type of functionality automatically from the structure of data. We think that a programming language should allow programmers to define generic programs, which specify behaviour that is generic over the type of data. Moreover, it should automatically provide generic behaviour for new data, eliminating the need for repeated writing and rewriting of trivial code that just specialises general behaviour to a particular type of data. It should do so in a convenient way for the programmer, leading to more abstract and concise programs, while remaining clear and efficient. This leads us to the two research questions we set out to answer: 1) There are many different approaches to generic programming, varying in complexity and expressiveness. How can we better understand each of the approaches, and the way they relate to each other? 2) Poor runtime efficiency, insufficient datatype support, and lack of proper language integration are often pointed out as deficiencies in generic programming implementations. How can we best address these concerns? We answer the first question in the first part of this thesis. We start by picking a number of generic programming approaches and define a concise model for each of them. We then use this model to formally express how to embed the structural representation of data of one approach into another, allowing us to better understand the relation between different approaches. The second part of this thesis deals with answering the second question, devoting one chapter to analysing and mitigating each of the practical concerns" @default.
- W1489921942 created "2016-06-24" @default.
- W1489921942 creator A5076048903 @default.
- W1489921942 date "2012-09-05" @default.
- W1489921942 modified "2023-09-27" @default.
- W1489921942 title "Less Is More : Generic Programming Theory and Practice" @default.
- W1489921942 cites W1571615440 @default.
- W1489921942 cites W2137236134 @default.
- W1489921942 hasPublicationYear "2012" @default.
- W1489921942 type Work @default.
- W1489921942 sameAs 1489921942 @default.
- W1489921942 citedByCount "0" @default.
- W1489921942 crossrefType "dissertation" @default.
- W1489921942 hasAuthorship W1489921942A5076048903 @default.
- W1489921942 hasConcept C111472728 @default.
- W1489921942 hasConcept C124304363 @default.
- W1489921942 hasConcept C13280743 @default.
- W1489921942 hasConcept C138885662 @default.
- W1489921942 hasConcept C138958017 @default.
- W1489921942 hasConcept C162319229 @default.
- W1489921942 hasConcept C175971053 @default.
- W1489921942 hasConcept C176809094 @default.
- W1489921942 hasConcept C199360897 @default.
- W1489921942 hasConcept C205649164 @default.
- W1489921942 hasConcept C2778514511 @default.
- W1489921942 hasConcept C41008148 @default.
- W1489921942 hasConcept C80444323 @default.
- W1489921942 hasConceptScore W1489921942C111472728 @default.
- W1489921942 hasConceptScore W1489921942C124304363 @default.
- W1489921942 hasConceptScore W1489921942C13280743 @default.
- W1489921942 hasConceptScore W1489921942C138885662 @default.
- W1489921942 hasConceptScore W1489921942C138958017 @default.
- W1489921942 hasConceptScore W1489921942C162319229 @default.
- W1489921942 hasConceptScore W1489921942C175971053 @default.
- W1489921942 hasConceptScore W1489921942C176809094 @default.
- W1489921942 hasConceptScore W1489921942C199360897 @default.
- W1489921942 hasConceptScore W1489921942C205649164 @default.
- W1489921942 hasConceptScore W1489921942C2778514511 @default.
- W1489921942 hasConceptScore W1489921942C41008148 @default.
- W1489921942 hasConceptScore W1489921942C80444323 @default.
- W1489921942 hasLocation W14899219421 @default.
- W1489921942 hasOpenAccess W1489921942 @default.
- W1489921942 hasPrimaryLocation W14899219421 @default.
- W1489921942 hasRelatedWork W102079401 @default.
- W1489921942 hasRelatedWork W1713170780 @default.
- W1489921942 hasRelatedWork W1964211642 @default.
- W1489921942 hasRelatedWork W1970404787 @default.
- W1489921942 hasRelatedWork W1992483812 @default.
- W1489921942 hasRelatedWork W2006346808 @default.
- W1489921942 hasRelatedWork W2027420727 @default.
- W1489921942 hasRelatedWork W2034269153 @default.
- W1489921942 hasRelatedWork W2089143460 @default.
- W1489921942 hasRelatedWork W2102101008 @default.
- W1489921942 hasRelatedWork W2102248562 @default.
- W1489921942 hasRelatedWork W2137236134 @default.
- W1489921942 hasRelatedWork W2156076209 @default.
- W1489921942 hasRelatedWork W2157155332 @default.
- W1489921942 hasRelatedWork W2170732676 @default.
- W1489921942 hasRelatedWork W2480707945 @default.
- W1489921942 hasRelatedWork W2519009229 @default.
- W1489921942 hasRelatedWork W2806384388 @default.
- W1489921942 hasRelatedWork W2947881925 @default.
- W1489921942 hasRelatedWork W3106743807 @default.
- W1489921942 isParatext "false" @default.
- W1489921942 isRetracted "false" @default.
- W1489921942 magId "1489921942" @default.
- W1489921942 workType "dissertation" @default.