SRFI

Scheme Requests for Implementation: http://srfi.schemers.org/


Final SRFIs and their support.

(The number of supporting implementations are derived from the '$$srfis' macro in each implementation's page. To see which implementations support the srfi, follow the link on the srfi number.)

SRFI-0: Feature-based conditional expansion construct[22 implementations]
SRFI-1: List Library[24 implementations]
SRFI-2: AND-LET*: an AND with local bindings, a guarded LET* special form[23 implementations]
SRFI-4: Homogeneous numeric vector datatypes[13 implementations]
SRFI-5: A compatible let form with signatures and rest arguments[6 implementations]
SRFI-6: Basic String Ports[22 implementations]
SRFI-7: Feature-based program configuration language[7 implementations]
SRFI-8: receive: Binding to multiple values[24 implementations]
SRFI-9: Defining Record Types[22 implementations]
SRFI-10: #, external form[7 implementations]
SRFI-11: Syntax for receiving multiple values[14 implementations]
SRFI-13: String Libraries[17 implementations]
SRFI-14: Character-set Library[21 implementations]
SRFI-16: Syntax for procedures of variable arity[16 implementations]
SRFI-17: Generalized set![11 implementations]
SRFI-18: Multithreading support[12 implementations]
SRFI-19: Time Data Types and Procedures[15 implementations]
SRFI-21: Real-time multithreading support[1 implementation]
SRFI-22: Running Scheme Scripts on Unix[10 implementations]
SRFI-23: Error reporting mechanism[20 implementations]
SRFI-25: Multi-dimensional Array Primitives[12 implementations]
SRFI-26: Notation for Specializing Parameters without Currying[16 implementations]
SRFI-27: Sources of Random Bits[20 implementations]
SRFI-28: Basic Format Strings[16 implementations]
SRFI-29: Localization[8 implementations]
SRFI-30: Nested Multi-line Comments[11 implementations]
SRFI-31: A special form `rec' for recursive evaluation[13 implementations]
SRFI-34: Exception Handling for Programs[11 implementations]
SRFI-35: Conditions[8 implementations]
SRFI-36: I/O Conditions[3 implementations]
SRFI-37: args-fold: a program argument processor[13 implementations]
SRFI-38: External Representation for Data With Shared Structure[15 implementations]
SRFI-39: Parameter objects[19 implementations]
SRFI-41: Streams[14 implementations]
SRFI-42: Eager Comprehensions[13 implementations]
SRFI-43: Vector library[12 implementations]
SRFI-44: Collections[1 implementation]
SRFI-45: Primitives for Expressing Iterative Lazy Algorithms[11 implementations]
SRFI-46: Basic Syntax-rules Extensions[5 implementations]
SRFI-47: Array[4 implementations]
SRFI-48: Intermediate Format Strings[9 implementations]
SRFI-49: Indentation-sensitive syntax[2 implementations]
SRFI-51: Handling rest list[4 implementations]
SRFI-54: Formatting[5 implementations]
SRFI-55: require-extension[8 implementations]
SRFI-57: Records[3 implementations]
SRFI-58: Array Notation[3 implementations]
SRFI-59: Vicinity[6 implementations]
SRFI-60: Integers as Bits[17 implementations]
SRFI-61: A more general cond clause[12 implementations]
SRFI-62: S-expression comments[10 implementations]
SRFI-63: Homogeneous and Heterogeneous Arrays[7 implementations]
SRFI-64: A Scheme API for test suites[9 implementations]
SRFI-66: Octet Vectors[8 implementations]
SRFI-67: Compare Procedures[9 implementations]
SRFI-69: Basic hash tables[15 implementations]
SRFI-70: Numbers[2 implementations]
SRFI-71: Extended LET-syntax for multiple values[5 implementations]
SRFI-72: Hygienic macros[1 implementation]
SRFI-74: Octet-Addressed Binary Blocks[5 implementations]
SRFI-78: Lightweight testing[10 implementations]
SRFI-86: MU and NU simulating VALUES & CALL-WITH-VALUES, and their related LET-syntax[3 implementations]
SRFI-87: => in case clauses[8 implementations]
SRFI-88: Keyword objects[5 implementations]
SRFI-89: Optional positional and named parameters[2 implementations]
SRFI-90: Extensible hash table constructor[1 implementation]
SRFI-94: Type-Restricted Numerical Functions[2 implementations]
SRFI-95: Sorting and Merging[8 implementations]
SRFI-96: SLIB Prerequisites[4 implementations]
SRFI-97: SRFI Libraries[2 implementations]
SRFI-98: An interface to access environment variables[13 implementations]
SRFI-99: ERR5RS Records[6 implementations]
SRFI-100: define-lambda-object[2 implementations]
SRFI-101: Purely Functional Random-Access Pairs and Lists[6 implementations]
SRFI-105: Curly-infix-expressions[2 implementations]
SRFI-106: Basic socket interface[4 implementations]
SRFI-107: XML reader syntax[1 implementation]
SRFI-108: Named quasi-literal constructors[1 implementation]
SRFI-109: Extended string quasi-literals[1 implementation]
SRFI-110: Sweet-expressions (t-expressions)[1 implementation]
SRFI-111: Boxes[8 implementations]
SRFI-112: Environment Inquiry[6 implementations]
SRFI-113: Sets and bags[7 implementations]
SRFI-115: Scheme Regular Expressions[6 implementations]
SRFI-116: Immutable List Library[5 implementations]
SRFI-117: Queues based on lists[7 implementations]
SRFI-118: Simple adjustable-size strings[3 implementations]
SRFI-119: wisp: simpler indentation-sensitive scheme[0 implementations]
SRFI-120: Timer APIs[2 implementations]
SRFI-123: Generic accessor and modifier operators[2 implementations]
SRFI-124: Ephemerons[6 implementations]
SRFI-125: Intermediate hash tables[7 implementations]
SRFI-126: R6RS-based hashtables[3 implementations]
SRFI-127: Lazy Sequences[7 implementations]
SRFI-128: Comparators (reduced)[10 implementations]
SRFI-129: Titlecase procedures[7 implementations]
SRFI-130: Cursor-based string library[6 implementations]
SRFI-131: ERR5RS Record Syntax (reduced)[5 implementations]
SRFI-132: Sort Libraries[8 implementations]
SRFI-133: Vector Library (R7RS-compatible)[10 implementations]
SRFI-134: Immutable Deques[6 implementations]
SRFI-135: Immutable Texts[6 implementations]
SRFI-136: Extensible record types[1 implementation]
SRFI-137: Minimal Unique Types[2 implementations]
SRFI-138: Compiling Scheme programs to executables[1 implementation]
SRFI-139: Syntax parameters[2 implementations]
SRFI-140: Immutable Strings[2 implementations]
SRFI-141: Integer division[7 implementations]
SRFI-143: Fixnums[9 implementations]
SRFI-144: Flonums[6 implementations]
SRFI-145: Assumptions[7 implementations]
SRFI-146: Mappings[3 implementations]
SRFI-147: Custom macro transformers[2 implementations]
SRFI-148: Eager syntax-rules[0 implementations]
SRFI-149: Basic Syntax-rules Template Extensions[6 implementations]
SRFI-150: Hygienic ERR5RS Record Syntax (reduced)[0 implementations]
SRFI-151: Bitwise Operations[8 implementations]
SRFI-152: String Library (reduced)[4 implementations]
SRFI-154: First-class dynamic extents[2 implementations]
SRFI-155: Promises[0 implementations]
SRFI-156: Syntactic combiners for binary predicates[2 implementations]
SRFI-157: Continuation marks[1 implementation]
SRFI-158: Generators and Accumulators[6 implementations]
SRFI-160: Homogeneous numeric vector libraries[2 implementations]
SRFI-161: Unifiable Boxes[1 implementation]
SRFI-162: Comparators sublibrary[2 implementations]
SRFI-163: Enhanced array literals[1 implementation]
SRFI-164: Enhanced multi-dimensional Arrays[1 implementation]
SRFI-165: The Environment Monad[0 implementations]
SRFI-166: Monadic Formatting[2 implementations]
SRFI-167: Ordered Key Value Store[0 implementations]
SRFI-168: Generic Tuple Store Database[0 implementations]
SRFI-169: Underscores in numbers[2 implementations]
SRFI-170: POSIX API[2 implementations]
SRFI-171: Transducers[3 implementations]
SRFI-172: Two Safer Subsets of R7RS[0 implementations]
SRFI-173: Hooks[3 implementations]
SRFI-174: POSIX Timespecs[2 implementations]
SRFI-175: ASCII character library[2 implementations]
SRFI-176: Version flag[4 implementations]
SRFI-178: Bitvector library[2 implementations]
SRFI-179: Nonempty Intervals and Generalized Arrays (Updated)[1 implementation]
SRFI-180: JSON[2 implementations]
SRFI-181: Custom ports (including transcoded ports)[2 implementations]
SRFI-185: Linear adjustable-length strings[2 implementations]
SRFI-188: Splicing binding constructs for syntactic keywords[2 implementations]
SRFI-189: Maybe and Either: optional container types[3 implementations]
SRFI-190: Coroutine Generators[1 implementation]
SRFI-192: Port Positioning[3 implementations]
SRFI-193: Command line[4 implementations]
SRFI-194: Random data generators[0 implementations]
SRFI-195: Multiple-value boxes[2 implementations]
SRFI-196: Range Objects[3 implementations]
SRFI-197: Pipeline Operators[3 implementations]
SRFI-201?: Syntactic Extensions to the Core Scheme Bindings[0 implementations]
SRFI-202?: Pattern-matching Variant of the and-let* Form that Supports Multiple Values[0 implementations]
SRFI-203: A Simple Picture Language in the Style of SICP[1 implementation]
SRFI-206: Auxiliary Syntax Keywords[0 implementations]
SRFI-207: String-notated bytevectors[3 implementations]
SRFI-208: NaN procedures[1 implementation]
SRFI-209: Enums and Enum Sets[1 implementation]
SRFI-210: Procedures and Syntax for Multiple Values[0 implementations]
SRFI-211: Scheme Macro Libraries[0 implementations]
SRFI-212: Aliases[0 implementations]
SRFI-213: Identifier Properties[0 implementations]
SRFI-214: Flexvectors[1 implementation]
SRFI-215: Central Log Exchange[0 implementations]
SRFI-216: SICP Prerequisites (Portable)[2 implementations]
SRFI-217: Integer Sets[3 implementations]
SRFI-219: Define higher-order lambda[4 implementations]
SRFI-221: Generator/accumulator sub-library[1 implementation]
SRFI-222: Compound Objects[0 implementations]
SRFI-223: Generalized binary search procedures[1 implementation]
SRFI-224: Integer Mappings[1 implementation]
SRFI-225?: Dictionaries[0 implementations]
SRFI-227: Optional Arguments[2 implementations]
SRFI-228?: Composing Comparators[0 implementations]
SRFI-229: Tagged Procedures[2 implementations]
SRFI-230: Atomic Operations[0 implementations]
SRFI-231?: Intervals and Generalized Arrays[0 implementations]
SRFI-232: Flexible curried procedures[2 implementations]
SRFI-233?: INI files[0 implementations]
SRFI-236?: Evaluating expressions in an unspecified order[0 implementations]