Matches in SemOpenAlex for { <https://semopenalex.org/work/W2397637064> ?p ?o ?g. }
Showing items 1 to 73 of
73
with 100 items per page.
- W2397637064 abstract "This thesis has two independent parts concerned with different aspects of laziness in functional programs. The first part is a theoretical study of productivity for very restricted stream programs. In the second part we define a programming abstraction over a recursive pattern for defining circular traversals modularly.Productivity is in general undecidable. By restricting ourselves to mutually recursive polymorphic stream equations having only three basic operations, namely head, tail, and cons, we aim to prove interesting properties about productivity. Still undecidable for this restricted class of programs, productivity of polymorphic stream functions is equivalent to the totality of their indexing function, which characterise their behaviour in terms of operations on indices. We prove that our equations generate all possible polymorphic stream functions, and therefore their indexing functions are all the computable functions, whose totality problem is indeed undecidable. We then further restrict our language by reducing the numbers of equations and parameters, but despite those constraints the equations retain their expressiveness. In the end we establish that even two non-mutually recursive equations on unary stream functions are undecidable with complexity $Π_2^0$. However, the productivity of a single unary equation is decidable.Circular traversals have been used in the eighties as an optimisation to combine multiple traversals in a single traversal. In particular they provide more opportunities for applying deforestation techniques since it is the case that an intermediate datastructure can only be eliminated if it is consumed only once. Another use of circular programs is in the implementation of attribute grammars in lazy functional languages. There is a systematic transformation to define a circular traversal equivalent to multiple traversals. Programming with this technique is not modular since the individual traversals are merged together. Some tools exist to transform programs automatically and attribute grammars have been suggested as a way to describe the circular traversals modularly. Going to the root of the problem, we identify a recursive pattern that allows us to define circular programs modularly in a functional style. We give two successive implementations, the first one is based on algebras and has limited scope: not all circular traversals can be defined this way. We show that the recursive scheme underlying attribute grammars computation rules is essential to combine circular programs. We implement a generic recursive operation on a novel attribute grammar abstraction, using containers as a parametric generic representation of recursive datatypes. The abstraction makes attribute grammars first-class objects. Such a strongly typed implementation is novel and make it possible to implement a high level embedded language for defining attribute grammars, with many interesting new features promoting modularity." @default.
- W2397637064 created "2016-06-24" @default.
- W2397637064 creator A5063917905 @default.
- W2397637064 date "2015-10-15" @default.
- W2397637064 modified "2023-09-24" @default.
- W2397637064 title "The productivity of polymorphic stream equations and the composition of circular traversals" @default.
- W2397637064 hasPublicationYear "2015" @default.
- W2397637064 type Work @default.
- W2397637064 sameAs 2397637064 @default.
- W2397637064 citedByCount "0" @default.
- W2397637064 crossrefType "dissertation" @default.
- W2397637064 hasAuthorship W2397637064A5063917905 @default.
- W2397637064 hasConcept C118615104 @default.
- W2397637064 hasConcept C121332964 @default.
- W2397637064 hasConcept C138885662 @default.
- W2397637064 hasConcept C140820882 @default.
- W2397637064 hasConcept C141603448 @default.
- W2397637064 hasConcept C153269930 @default.
- W2397637064 hasConcept C154945302 @default.
- W2397637064 hasConcept C18932819 @default.
- W2397637064 hasConcept C192034797 @default.
- W2397637064 hasConcept C200114574 @default.
- W2397637064 hasConcept C33923547 @default.
- W2397637064 hasConcept C41008148 @default.
- W2397637064 hasConcept C41895202 @default.
- W2397637064 hasConcept C75165309 @default.
- W2397637064 hasConcept C78023250 @default.
- W2397637064 hasConcept C80444323 @default.
- W2397637064 hasConcept C97355855 @default.
- W2397637064 hasConceptScore W2397637064C118615104 @default.
- W2397637064 hasConceptScore W2397637064C121332964 @default.
- W2397637064 hasConceptScore W2397637064C138885662 @default.
- W2397637064 hasConceptScore W2397637064C140820882 @default.
- W2397637064 hasConceptScore W2397637064C141603448 @default.
- W2397637064 hasConceptScore W2397637064C153269930 @default.
- W2397637064 hasConceptScore W2397637064C154945302 @default.
- W2397637064 hasConceptScore W2397637064C18932819 @default.
- W2397637064 hasConceptScore W2397637064C192034797 @default.
- W2397637064 hasConceptScore W2397637064C200114574 @default.
- W2397637064 hasConceptScore W2397637064C33923547 @default.
- W2397637064 hasConceptScore W2397637064C41008148 @default.
- W2397637064 hasConceptScore W2397637064C41895202 @default.
- W2397637064 hasConceptScore W2397637064C75165309 @default.
- W2397637064 hasConceptScore W2397637064C78023250 @default.
- W2397637064 hasConceptScore W2397637064C80444323 @default.
- W2397637064 hasConceptScore W2397637064C97355855 @default.
- W2397637064 hasLocation W23976370641 @default.
- W2397637064 hasOpenAccess W2397637064 @default.
- W2397637064 hasPrimaryLocation W23976370641 @default.
- W2397637064 hasRelatedWork W127052848 @default.
- W2397637064 hasRelatedWork W1485199833 @default.
- W2397637064 hasRelatedWork W1512151485 @default.
- W2397637064 hasRelatedWork W1516952404 @default.
- W2397637064 hasRelatedWork W1523648047 @default.
- W2397637064 hasRelatedWork W1532143586 @default.
- W2397637064 hasRelatedWork W1562372713 @default.
- W2397637064 hasRelatedWork W1596142788 @default.
- W2397637064 hasRelatedWork W1706172200 @default.
- W2397637064 hasRelatedWork W2035778526 @default.
- W2397637064 hasRelatedWork W2036466202 @default.
- W2397637064 hasRelatedWork W2037400252 @default.
- W2397637064 hasRelatedWork W2088126145 @default.
- W2397637064 hasRelatedWork W2096524783 @default.
- W2397637064 hasRelatedWork W2163468719 @default.
- W2397637064 hasRelatedWork W2264605182 @default.
- W2397637064 hasRelatedWork W2293879310 @default.
- W2397637064 hasRelatedWork W3117045059 @default.
- W2397637064 hasRelatedWork W612509057 @default.
- W2397637064 hasRelatedWork W785823749 @default.
- W2397637064 isParatext "false" @default.
- W2397637064 isRetracted "false" @default.
- W2397637064 magId "2397637064" @default.
- W2397637064 workType "dissertation" @default.