Loopless algorithms generate successive combinatorial patterns in constant time, producing the first in time linear to the size of input. Although originally formulated in an imperative setting, this thesis proposes a functional interpretation of these algorithms in the lazy language Haskell. Since it may not be possible to produce a pattern in constant time, a list of integers generated using the library function unfoldr determines the transitions between consecutive patterns. The generation of Gray codes, permutations, ideals of posets and combinations illustrate applications of loopless algorithms in both imperative and functional form, particularly derivations of the Koda-Ruskey and Johnson-Trotter algorithms. Common themes in the const...
It has often been suggested that functional languages provide an excellent basis for programming par...
Choreographic programming is an emerging paradigm for programming distributed systems. In choreograp...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
This thesis is an investigation of graph algorithms in the non-strict purely functional language Has...
Functional programming languages are an excellent tool for teaching algorithms and data structures. ...
It has long been known that some of the most common uses of for and while-loops in imperative progra...
Depth-first search is the key to a wide variety of graph algorithms. In this paper we express depth-...
Even though concurrent programming has been a hot topic of discussion in Computer Science for the pa...
This paper explains binomial heaps, a beautiful data structure for priority queues, using the functi...
AbstractEven though concurrent programming has been a hot topic of discussion in Computer Science fo...
Depth-first search is the key to a wide variety of graph algorithms. In this paper we explore the im...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
We present an algorithm for unrolling recursion in the Haskell functional language. Adapted from a s...
New areas of applications make the world of supercomputing more important than ever before. The prog...
This paper explores some ideas concerning the time-analysis of functional programs defined by instan...
It has often been suggested that functional languages provide an excellent basis for programming par...
Choreographic programming is an emerging paradigm for programming distributed systems. In choreograp...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...
This thesis is an investigation of graph algorithms in the non-strict purely functional language Has...
Functional programming languages are an excellent tool for teaching algorithms and data structures. ...
It has long been known that some of the most common uses of for and while-loops in imperative progra...
Depth-first search is the key to a wide variety of graph algorithms. In this paper we express depth-...
Even though concurrent programming has been a hot topic of discussion in Computer Science for the pa...
This paper explains binomial heaps, a beautiful data structure for priority queues, using the functi...
AbstractEven though concurrent programming has been a hot topic of discussion in Computer Science fo...
Depth-first search is the key to a wide variety of graph algorithms. In this paper we explore the im...
This article demonstrates how a powerful and expressive abstraction from concurrency theory plays a ...
We present an algorithm for unrolling recursion in the Haskell functional language. Adapted from a s...
New areas of applications make the world of supercomputing more important than ever before. The prog...
This paper explores some ideas concerning the time-analysis of functional programs defined by instan...
It has often been suggested that functional languages provide an excellent basis for programming par...
Choreographic programming is an emerging paradigm for programming distributed systems. In choreograp...
AbstractThe powerful abstraction mechanisms of functional programming languages provide the means to...