¿Qué está mal?

Aviso: Antes de informar sobre un error con la descarga, por favor, prueba el enlace directo: Purely Functional Data Structures


Debes iniciar sesión para hacer esto.

Purely Functional Data Structures

Purely Functional Data Structures

Purely Functional Data Structures

Puntuación: ---- | 0 votos
| Enviando voto
| ¡Votado!

Detalles del libro:

Editor:Carnegie Mellon University
Páginas:162 páginas
Tamaño:493 KB
Licencia:Pendiente de revisión


When a C programmer needs an efficient data structure for a particular problem, he or she can often simply look one up in any of a number of good textbooks or handbooks. Unfortunately, programmers in functional languages such as Standard ML or Haskell do not have this luxury. Although some data structures designed for imperative languages such as C can be quite easily adapted to a functional setting, most cannot, usually because they depend in crucial ways on assignments, which are disallowed, or at least discouraged, in functional languages. To address this imbalance, we describe several techniques for designing functional data structures, and numerous original data structures based on these techniques, including multiple variations of lists, queues, double-ended queues, and heaps, many supporting more exotic features such as random access or efficient catenation.

In addition, we expose the fundamental role of lazy evaluation inamortized functional data structures. Traditional methods of amortization break down when old versions of a data structure, not just the most recent, are available for further processing. This property is known aspersistence, and is taken for granted in functional languages. On the surface, persistence and amortization appear to be incompatible, but we show how lazy evaluation can be used to resolve this conflict, yielding amortized data structures that are efficient even when used persistently. Turning this relationship between lazy evaluation and amortization around, the notion of amortization also provides the first practical techniques for analyzing the time requirements of non-trivial lazy programs.

Finally, our data structures offer numerous hints to programming language designers, illustrating the utility of combining strict and lazy evaluation in a single language, and providing non-trivial examples using polymorphic recursion and higher-order, recursive modules.



Cargando comentarios...

Escaneando listas...

El libro en números

Posición global

posición en categorías

en catálogo desde



Nothing yet...


Nothing yet...

'LIKES' sociales

Nothing yet...



Esto puede tardar un momento


Segmentación por países

Esto puede tardar un momento

Páginas de entrada

Segmentación por sitios web


Esto puede tardar un momento