O'Reilly logo

Exercises in Programming Style by Cristina Videira Lopes

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 24

Quarantine

image

24.1 Constraints

  • Core program functions have no side effects of any kind, including IO.
  • All IO actions must be contained in computation sequences that are clearly separated from the pure functions.
  • All sequences that have IO must be called from the main program.

24.2 A Program in this Style

  1 #!/usr/bin/env python
  2 import sys, re, operator, string
  3
  4 #
  5 # The Quarantine class for this example
  6 #
  7 class TFQuarantine:
  8 def __init__(self, func):
  9    self._funcs = [func]
 10
 11 def bind(self, func):
 12    self._funcs.append(func)
 13    return self
 14
 15 def execute(self):
 16    def guard_callable(v):
 17        return v() if hasattr(v, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required