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, ...

Get Exercises in Programming Style now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.