Advertisement

Spider Spinning for Dummies

  • Richard S. Bird
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5832)

Abstract

Spider spinning is a snappy name for the problem of listing the ideals of a totally acyclic poset in such a way that each ideal is computed from its predecessor in constant time. Such an algorithm is said to be loopless. Our aim in these lectures is to show how to calculate a loopless algorithm for spider spinning. The calculation makes use of the fundamental laws of functional programming and the real purpose of the exercise is to show these laws in action.

Keywords

Linear Time Binary Tree Transition Code Functional Programming Gray Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ehrlich, G.: Loopless algorithms for generating permutations, combinations, and other combinatorial configurations. J. ACM 20, 500–513 (1973)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Filliâtre, J.-C., Pottier, F.: Producing all ideals of a forest, functionally. Journal of Functional Programming 13(5), 945–956 (2003)CrossRefzbMATHGoogle Scholar
  3. 3.
    Koda, Y., Ruskey, R.: A Gray code for the ideals of a forest poset. Journal of Algorithms 15, 324–340 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
  5. 5.
    Knuth, D.E.: The Art of Computer Programming, vol. 4, Fascicles 2,3,4. Addison-Wesley, Reading (2005)zbMATHGoogle Scholar
  6. 6.
    Knuth, D.E., Ruskey, F.: Efficient Coroutine Generation of Constrained Gray Sequences (aka Deconstructing Coroutines). In: Owe, O., Krogdahl, S., Lyche, T. (eds.) From Object-Orientation to Formal Methods. LNCS, vol. 2635, pp. 183–208. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  7. 7.
    Okasaki, C.: Simple and efficient purely functional queues and deques. Journal of Functional Programming 5(4), 583–592 (1995)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Richard S. Bird
    • 1
  1. 1.Computing LaboratoryOxford UniversityOxfordUK

Personalised recommendations