awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
apple avatar

apple/swift-algorithms

0
View on GitHub↗
6,293 stars·473 forks·Swift·apache-2.0·22 views

Swift Algorithms

Swift Algorithms is a library of sequence and collection algorithms for Swift, providing operations for splitting, cycling, combining, and sampling collections with lazy evaluation. It extends Swift's standard library with algorithms that work across all types conforming to Sequence and Collection protocols, enabling efficient data processing without intermediate storage.

The library specializes in combinatorial enumeration, generating all possible permutations, combinations, and product sequences from collections for testing and exploration. It also includes utilities for splitting collections into groups based on element properties or transformations, creating infinite sequences by repeating collection elements, and selecting random subsets of unique elements without replacement.

Additional capabilities include chunking collections by predicate conditions, cycling over collection elements endlessly, and performing lazy sequence operations that compute elements on demand during iteration. The library is distributed as a Swift package, with documentation and source code available through the Swift Package Manager.

Features

  • Swift Collection Extensions - Provides a library of collection algorithms for splitting, cycling, combining, and sampling Swift collections.
  • Collection Combinatorics - Combinatorial operations that generate permutations, combinations, and product sequences from Swift collections.
  • Generic Monomorphisation - Provides compile-time specialization of generic algorithms for each concrete collection type.
  • Lazy Sequences - Implements lazy sequence operations that chain transformations without intermediate storage.
  • Combinatorial Generators - Generates all permutations and combinations of collection elements for combinatorial testing and exploration.
  • Generic Data Abstractions - Defines algorithms as protocol extensions on Sequence and Collection for reuse across all conforming types.
  • Generator-Based Iterators - Implements combinatorial algorithms as stateful iterators that yield elements one at a time.
  • Copy-On-Write Proxying - Implements copy-on-write value semantics for collection operations to ensure predictable performance.
  • Permutation Generation Algorithms - Generates all possible permutations and combinations of collection elements for combinatorial testing.
  • Collection Partitioning & Grouping - Provides chunking and grouping algorithms that partition collections by element properties or predicates.
  • Lazy Infinite Sequences - Repeats collection elements endlessly to create infinite sequences for continuous iteration.
  • Collection Cyclers - Ships a cycle algorithm that repeats collection elements to form an infinite sequence.
  • Collection Element Transformations - Provides predicate-based chunking to break collections into consecutive groups by matching properties.
  • Infinite Cycling - Provides algorithms for cycling over collection elements endlessly to create infinite sequences.
  • Predicate-Based Chunking - Ships algorithms for chunking collections by predicate conditions into consecutive groups.
  • Random Sampling - Selects random subsets of unique elements from collections without replacement for sampling.

Star history

Star history chart for apple/swift-algorithmsStar history chart for apple/swift-algorithms

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Swift Algorithms

Similar open-source projects, ranked by how many features they share with Swift Algorithms.
  • more-itertools/more-itertoolsmore-itertools avatar

    more-itertools/more-itertools

    4,074View on GitHub↗

    more-itertools is an extension library for the Python itertools module. It serves as a toolkit for manipulating iterables, providing a wide range of routines for data transformation, combinatorial generation, and iterator state management. The library distinguishes itself through advanced state management and complex sequence generation. It provides capabilities for peeking at future elements, seeking within sequences, and producing unique permutations, combinations, and set partitions from collections that may contain duplicate elements. Its broader capability surface covers data processing

    Python
    View on GitHub↗4,074
  • ankurp/dollarankurp avatar

    ankurp/Dollar

    4,240View on GitHub↗

    Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection manipulation, string processing, mathematical calculations, and date and time management. It serves as a utility suite for filtering, aggregating, and restructuring arrays and dictionaries. The project implements functional programming patterns such as currying, memoization, and function composition. It also features a chainable wrapper interface that allows multiple data transformations to be applied sequentially before extracting a final result. The library covers a wide range of capab

    Swift
    View on GitHub↗4,240
  • morelinq/morelinqmorelinq avatar

    morelinq/MoreLINQ

    3,827View on GitHub↗

    MoreLINQ is a functional programming toolkit and extension library for .NET that augments LINQ to Objects with advanced operators for sequence manipulation and analysis. It provides a set of tools for declarative data transformation, leveraging lazy evaluation and composition to handle complex object sequences. The library is distinguished by its specialized capabilities for combinatorial generation, including the production of permutations, subsets, and Cartesian products. It also provides advanced sequence joining options, such as full, left, and right outer joins, and supports complex data

    C#dotnetlinq
    View on GitHub↗3,827
  • aimeos/mapaimeos avatar

    aimeos/map

    4,200View on GitHub↗

    This PHP data collection library is a functional data wrapper and array manipulation framework. It converts arrays, JSON strings, and iterables into chainable collection objects designed for advanced filtering, sorting, and transformation. The library is distinguished by its ability to dynamically extend functionality through the registration of custom methods via closures. It also provides specialized capabilities for hierarchical data modeling, allowing flat datasets with parent-child identifiers to be reconstructed into nested tree structures. The toolkit covers a broad surface of data ma

    PHParraycollectionmap
    View on GitHub↗4,200
See all 30 alternatives to Swift Algorithms→

Frequently asked questions

What does apple/swift-algorithms do?

Swift Algorithms is a library of sequence and collection algorithms for Swift, providing operations for splitting, cycling, combining, and sampling collections with lazy evaluation. It extends Swift's standard library with algorithms that work across all types conforming to Sequence and Collection protocols, enabling efficient data processing without intermediate storage.

What are the main features of apple/swift-algorithms?

The main features of apple/swift-algorithms are: Swift Collection Extensions, Collection Combinatorics, Generic Monomorphisation, Lazy Sequences, Combinatorial Generators, Generic Data Abstractions, Generator-Based Iterators, Copy-On-Write Proxying.

What are some open-source alternatives to apple/swift-algorithms?

Open-source alternatives to apple/swift-algorithms include: more-itertools/more-itertools — more-itertools is an extension library for the Python itertools module. It serves as a toolkit for manipulating… ankurp/dollar — Dollar is a functional programming library for Swift that provides a comprehensive toolkit for collection… morelinq/morelinq — MoreLINQ is a functional programming toolkit and extension library for .NET that augments LINQ to Objects with… pytoolz/toolz — Toolz is a Python library that implements functional programming utilities for iterable transformation, dictionary… aimeos/map — This PHP data collection library is a functional data wrapper and array manipulation framework. It converts arrays,… azl397985856/leetcode — This project is a curated educational resource and solution repository for algorithmic challenges, specifically…