LQ-Colligo
LQ-Colligo is a high-performance functional programming and collection manipulation library for Delphi and Lazarus, heavily inspired by C# LINQ and stream-processing APIs from Java, Kotlin, and Rust.
It provides two primary abstractions:
ILQColligoEnumerable<T>— lazy pipeline for in-memory collections (arrays, lists).ILQColligoQueryable<T>— SQL-backed pipeline for database queries (requires FluentSQL + a DataEngine connection).
Where to start
Guides
- Filtering collections
- Projections — Select / SelectMany
- Ordering collections
- Partitioning — Take / Skip
- Set operations — Union, Intersect, Concat, Exclude
- Joins and Zip
- Aggregations
- Grouping
- Querying the database (ILQColligoQueryable)
- Nullable types
Reference
- ILQColligoEnumerable API
- ILQColligoQueryable API
- Collections API (TLQColligoList, TLQColligoArray, TFluentDictionary)
Architecture
Scope
- Covers: lazy in-memory collection pipelines; SQL-backed DB pipelines via
ILQColligoQueryable<T>; fluent collections (TLQColligoList<T>,TLQColligoArray<T>,TFluentDictionary<K,V>); nullable value helpers (LQColligoNullable<T>). - Does not cover: JSON/XML providers (
LQColligo.Json,LQColligo.Xml) — these units are stubs not yet implemented.