A collection of reusable Erlang components that extend the standard library for production applications.
Erlware Commons is an open-source Erlang library that extends the standard library with reusable components proven useful in production applications. It provides modules for date formatting, parallel list operations, semantic version parsing, file utilities, and dictionary signatures. The project aims to fill gaps in the Erlang distribution with high-quality, well-tested code.
Erlang developers building production applications who need reliable utilities beyond the standard library, such as parallel processing, date handling, or SemVer parsing.
Developers choose Erlware Commons for its production-ready, well-documented modules that address common gaps in Erlang's stdlib, with a focus on code quality and the potential for future inclusion in the main distribution.
Erlware Commons is an Erlware project focused on all aspects of reusable Erlang components.
Modules like ec_date and ec_plists are derived from Erlware's production experience, ensuring they solve real-world problems effectively, as highlighted in the project's introduction.
ec_plists offers a drop-in replacement for the lists module with configurable parallelization for IO-bound, CPU-bound, or distributed scenarios, providing performance gains for suitable workloads.
ec_semver provides a complete parser and comparator for the Semantic Versioning standard, filling a gap not addressed by Erlang's stdlib, as detailed in the module description.
The ec_dictionary signature and its implementations (e.g., ec_dict, ec_gb_trees) offer a consistent interface for key-value stores, improving code modularity and reusability, as explained in the signatures section.
ec_date explicitly does not support timezones or certain PHP date formats, making it unsuitable for international applications that require timezone-aware handling, as admitted in the README.
ec_plists requires careful tuning via 'malt' parameters to avoid overhead and optimize performance, which can be a barrier for developers unfamiliar with parallel computing nuances.
The library focuses on Erlware's specific production needs, so it may lack utilities for other common tasks, such as advanced file operations or command-line parsing beyond basic interactions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.