11 repository-uri
Utilities for processing sequences of values using a declarative, functional syntax to optimize execution and allocation.
Distinct from Sequence Processing: This is a software architecture pattern for sequence processing, distinct from bio-sequence or text processing.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Declarative Sequence Processing. Refine with filters or upvote what's useful.
Folly is a collection of high-performance C++ components designed as an extension to the C++ Standard Library for large-scale production environments. It provides specialized toolkits for memory management, concurrency, asynchronous workflows, and low-latency input and output operations. The project distinguishes itself through the provision of lock-free containers and bounded queues to minimize contention in multi-threaded applications, alongside a framework for managing deferred computations using futures and promises. It further offers specialized memory arenas and optimized implementation
Uses functional comprehensions to process sequences of values efficiently through a declarative syntax.
Functional-Light-JS is a JavaScript functional programming library designed to implement functional patterns within JavaScript applications. It serves as a toolkit for declarative data processing, immutable data management, and the construction of complex logic through higher-order functions. The library focuses on a pragmatic implementation of functional programming, providing utilities for curried argument application and function composition. It emphasizes the use of pure functions to calculate state updates and manage application data without side effects. The project covers broad capabi
Provides a toolkit for processing sequences of values using a declarative, functional syntax.
pysheeet este o bibliotecă de referință tehnică ce oferă o colecție curatoriată de fragmente de cod și modele de implementare pentru dezvoltarea avansată în Python, integrarea sistemelor și calculul de înaltă performanță. Servește ca un ghid cuprinzător pentru implementarea programării de rețea de nivel scăzut, extensiilor native C și programării asincrone și concurente. Proiectul oferă framework-uri specializate pentru dezvoltarea și implementarea modelelor de limbaj mari, inclusiv instrumente pentru inferență distribuită pe GPU și servire de înaltă performanță. Include, de asemenea, modele detaliate pentru orchestrarea clusterelor de calcul de înaltă performanță, acoperind alocarea resurselor GPU și gestionarea sarcinilor de lucru pe mai multe noduri. Biblioteca acoperă o gamă largă de capabilități, inclusiv comunicarea securizată în rețea și criptografia, object-relational mapping și gestionarea bazelor de date, precum și implementarea structurilor de date și algoritmilor complecși. Oferă, de asemenea, utilitare pentru gestionarea memoriei, interoperabilitate nativă prin interfețe de funcții străine (FFI) și integrarea la nivel de sistem de operare.
Demonstrates the use of generator functions to produce data sequences lazily to minimize memory usage.
This project is a comprehensive library of practical Python code examples and patterns. It provides a collection of scripts and snippets designed to demonstrate a wide range of programming tasks, from basic syntax to advanced implementation patterns. The repository focuses on several core domains, including the implementation of concurrency and multithreading examples, data analysis snippets for cleaning and manipulating tabular data, and various data visualization examples. It also covers automation scripts for file system management and a variety of general programming patterns. Additional
Uses lazy evaluation and generators to process large datasets and nested lists without allocating full intermediate collections.
Lazy.js is a JavaScript library that implements a lazy evaluation model for processing collections and data streams. It defers all computation until iteration begins, building chains of transformations that execute only when values are consumed, avoiding intermediate arrays and buffering. The library wraps data sources into a uniform sequence interface, enabling operations like map and filter to be chained together without materializing intermediate results. The library extends lazy processing beyond simple collections to handle asynchronous data sources, DOM events, strings, and Node.js stre
Processing collections and data streams by deferring computation until results are requested, avoiding intermediate arrays and iterating only as needed.
Remeda este o bibliotecă de utilitare funcționale type-safe pentru TypeScript, concepută pentru construirea de pipeline-uri de transformare a datelor. Aceasta oferă un toolkit de funcții helper pentru manipularea array-urilor și a obiectelor, menținând în același timp o integritate strictă a tipurilor pe tot parcursul procesului. Biblioteca se caracterizează prin suportul pentru stiluri de apelare data-first și data-last. Utilizează evaluarea leneșă (lazy evaluation) pentru a procesa colecțiile de date, evaluând transformările doar atunci când este solicitat rezultatul final, pentru a evita crearea de copii intermediare ale colecțiilor. Toolkit-ul acoperă manipularea colecțiilor, compoziția funcțiilor și crearea de lanțuri logice modulare. Aceste capabilități permit construirea de pipeline-uri de date care direcționează informația prin secvențe de transformări.
Processes large data sets using lazy evaluation to improve performance by resolving items only when needed.
Reactor Core este un toolkit de programare reactivă și o fundație non-blocking pentru compunerea pipeline-urilor de date asincrone pe JVM. Servește drept framework de procesare a fluxurilor asincrone și sistem de gestionare a backpressure-ului, permițând dezvoltatorilor să transforme, filtreze și combine secvențe de evenimente în timp ce reglează fluxul de date între producători și consumatori pentru a preveni epuizarea resurselor. Biblioteca se diferențiază printr-un sistem sofisticat de programare a concurenței și control al fluxului bazat pe cerere. Decuplează procesarea semnalelor de firele de execuție specifice folosind un registru de scheduler și oferă mecanisme pentru propagarea metadatelor imutabile conștiente de context peste limitele asincrone. De asemenea, dispune de instrumente specializate pentru capturarea urmelor la momentul asamblării și programarea timpului virtual pentru a facilita testarea operatorilor bazați pe timp. Proiectul acoperă o gamă largă de capabilități, inclusiv procesarea funcțională a datelor pentru agregarea și windowing-ul secvențelor, o varietate de strategii de recuperare a erorilor precum reîncercările cu backoff exponențial și utilitare pentru a conecta API-urile legacy de tip callback sau sincrone în fluxuri reactive. Oferă, de asemenea, instrumente pentru monitorizarea pipeline-ului și o suită de instrumente de testare pentru verificarea secvențelor de semnale.
Implements sophisticated windowing operators to group streaming data by time intervals or element counts.
Aceasta este o bibliotecă de ranges C++ și o extensie a Standard Template Library care oferă o colecție de algoritmi compozabili și view-uri lazy pentru procesarea secvențelor de date. Funcționează ca un framework de procesare a secvențelor lazy și o bibliotecă de meta-programare template pentru manipularea listelor de tipuri și efectuarea calculelor de tip la compilare. Proiectul permite tipare de programare funcțională în C++ prin utilizarea sintaxei pipe și a aplicării parțiale pentru a crea lanțuri de transformare a datelor lizibile, de la stânga la dreapta. Permite construirea de pipeline-uri de date lazy care filtrează și transformă elementele la cerere pentru a reduce consumul de memorie și a evita copiile inutile. Biblioteca acoperă zone largi de capabilități, inclusiv manipularea secvențelor, manipularea tipurilor la compilare și implementarea de tipuri de range-uri și iteratori personalizați. Oferă instrumente pentru mutarea containerelor in-place, dispatch-ul algoritmilor bazat pe proiecție și gestionarea listelor de tipuri printr-o serie de apelabile la nivel de tip.
Implements a framework for building data pipelines that transform and filter elements on demand without full memory allocation.
more-itertools este o bibliotecă utilitară pentru iterabile în Python, care oferă funcții avansate pentru manipularea, filtrarea și transformarea secvențelor de date. Servește drept set de instrumente pentru procesarea fluxurilor de date și gestionarea stării iteratorilor, extinzând capabilitățile modulului standard itertools din Python. Biblioteca include un set de instrumente matematice combinatorice pentru generarea de permutări, combinații și mulțimi de puteri, alături de rutine pentru calcule de teoria numerelor și operații cu matrice. De asemenea, oferă instrumente pentru gestionarea stării fluxurilor, permițând utilizatorilor să verifice elementele viitoare sau să navigheze într-o secvență pentru a controla modul în care sunt consumate datele. Capabilitățile suplimentare acoperă rutine de procesare a datelor pentru fragmentarea (chunking), intercalarea și aplatizarea secvențelor complexe. Setul de instrumente include, de asemenea, funcții pentru analizarea proprietăților iterabilelor și sincronizarea fluxurilor de date concurente.
Processes data sequences using generators to avoid full memory allocation via lazy evaluation.
coobjc este o bibliotecă de coroutine pentru Objective-C care oferă metode „await” și generatoare pentru a simplifica programarea asincronă în Objective-C și Swift. Aceasta permite implementarea fluxurilor de lucru non-blocante pentru a elimina callback-urile imbricate și blocarea thread-urilor. Toolkit-ul include un wrapper non-blocant pentru Foundation, care convertește API-urile sincrone Foundation și UIKit în operațiuni suspendabile. Oferă un generator de secvențe „lazy” pentru producerea valorilor la cerere prin „yield”, precum și un instrument de comunicare bazat pe canale pentru schimbul de date între sarcini concurente, folosind canale cu și fără buffer. Biblioteca acoperă coordonarea sarcinilor asincrone și gestionarea stării, utilizând un model de tip „actor” pentru a preveni „data races”. Capacitățile sale includ programarea coroutinelor, anularea acestora și posibilitatea de a executa operațiuni de sistem de fișiere și rețea fără a bloca interfața utilizatorului.
Implements a lazy sequence generator to produce values on demand, reducing memory allocation for large data sets.
Reactor is a reactive streams library and framework for building asynchronous data pipelines. It provides a system for coordinating execution contexts via an asynchronous event-loop manager, alongside a set of reactive abstractions for implementing high-performance TCP, UDP, QUIC, and HTTP services. The project includes a specialized testing tool for verifying the timing and order of asynchronous data flows and a bill of materials to synchronize compatible versions of core reactive libraries and networking add-ons. Its capability surface covers non-blocking network services, demand-based bac
Segments continuous asynchronous data streams into smaller sub-sequences based on size, time, or predicates.