A Modern Dry-Fly Code