All Projects → morrisonlevi → Ardent

morrisonlevi / Ardent

Licence: mit
A Collections library for PHP.

Projects that are alternatives of or similar to Ardent

awesome-hacker-api-tools
A collection of hacker tools using HackerOne's API
Stars: ✭ 177 (-71.99%)
Mutual labels:  collections
Stream Parser
⚡ PHP7 / Laravel Multi-format Streaming Parser
Stars: ✭ 391 (-38.13%)
Mutual labels:  collections
Knapsack
Collection pipeline library for PHP
Stars: ✭ 521 (-17.56%)
Mutual labels:  collections
Galgame-Engine-Collect
各种视觉小说引擎合集
Stars: ✭ 23 (-96.36%)
Mutual labels:  collections
For Data Science Beginners
Set of 📝 with 🔗 to help those who are Data Science beginners 🤖
Stars: ✭ 355 (-43.83%)
Mutual labels:  collections
Laravel Helpers
An extensive set of Laravel framework helper functions and collection macros.
Stars: ✭ 407 (-35.6%)
Mutual labels:  collections
NonEmptyCollections
A type-safe implementation for collections that cannot be empty. Life is too short for emptiness-checks!
Stars: ✭ 45 (-92.88%)
Mutual labels:  collections
Vue Mc
Models and Collections for Vue
Stars: ✭ 588 (-6.96%)
Mutual labels:  collections
Awesomearticles
🗃 收集看到的内容特别棒的技术文章并会配有一段个人短评
Stars: ✭ 383 (-39.4%)
Mutual labels:  collections
Awesome Flake8 Extensions
A curated awesome list of flake8 extensions. Feel free to contribute! 🎓
Stars: ✭ 510 (-19.3%)
Mutual labels:  collections
Smoothiemap
A gulp of low latency Java
Stars: ✭ 255 (-59.65%)
Mutual labels:  collections
Mlib
Library of generic and type safe containers in pure C language (C99 or C11) for a wide collection of container (comparable to the C++ STL).
Stars: ✭ 321 (-49.21%)
Mutual labels:  collections
Deep Learning Resources
由淺入深的深度學習資源 Collection of deep learning materials for everyone
Stars: ✭ 422 (-33.23%)
Mutual labels:  collections
trembita
Model complex data transformation pipelines easily
Stars: ✭ 44 (-93.04%)
Mutual labels:  collections
Cdsa
A library of generic intrusive data structures and algorithms in ANSI C
Stars: ✭ 549 (-13.13%)
Mutual labels:  collections
JTK
JTK is a library designed for writing applications and libraries in C. It provides core utilities such as collections, unit testing, I/O streams, threads and much more.
Stars: ✭ 25 (-96.04%)
Mutual labels:  collections
Immutable
Immutable collections for Go
Stars: ✭ 392 (-37.97%)
Mutual labels:  collections
Windows Kernel Exploits
windows-kernel-exploits Windows平台提权漏洞集合
Stars: ✭ 5,963 (+843.51%)
Mutual labels:  collections
Swift Nonempty
🎁 A compile-time guarantee that a collection contains a value.
Stars: ✭ 585 (-7.44%)
Mutual labels:  collections
Kotlinx.collections.immutable
Immutable persistent collections for Kotlin
Stars: ✭ 465 (-26.42%)
Mutual labels:  collections

A Library of Collections for OO Programming

Build Status

While developing and helping others develop PHP applications I noticed the trend to use PHP's arrays in nearly every task. Arrays in PHP are useful but are overused because PHP doesn't have rich standard libraries for working with common data structures and algorithms. This library hopes to fill in that gap. Undoubtably, I've made mistakes in design and implementation; hopefully more community involvement can help identify and fix such mistakes.

Requirements

Patience

This project is unstable and subject to significant changes from release to release. Stability is not a goal during this phase of development. To be clear: you are using this project at your own risk. I highly value your experience using this library and am thankful for the early adopters, but I want to emphasize that this project is highly unstable.

PHP 5.4

This project requires PHP 5.4 because PHP 5.3 is at its End Of Life (EOL). As such the project makes use of Traits, the callable type and short array syntax. Depending on how long this project takes to mature it might require PHP 5.5 for generators and improved handling of non-scalar keys in foreach loops, or maybe PHP 5.6 for ... support.

You can also use HHVM. I won't let HHVM compatibility stop me from doing what I feel is right for this library, but hopefully we can maintain compatibility.

Roadmap

There is no official roadmap for this project. I intend to release version 1.0.0 when I am confident enough in the API that it is suitable for public use. Until then, minor versions will be tagged as they are deemed helpful. This project follows semantic versioning.

How can I help?

The best way to help is to use the library (again, at your own risk) and submit issues when you find them. Over 99% of the library has been executed in a unit test but the quality of some of these tests is poor; improved tests are definitely welcome.

Can you add X structure?

Maybe. Open an issue and I'll look into it.

Why not use the existing Standard PHP Library?

The Standard PHP Library (SPL) has many problems, some of which are documented in an unfinished RFC regarding the SPL. I won't go into full details here, but essentially the SPL is not providing the standardized data structures and algorithms that I feel the PHP community needs.

What's up with the name?

This project was originally aimed to fix the SPL; as such I had named it SPL. Eventually I realized that I would do better with a different name; I picked Ardent it describes how I feel about the need for this kind of library. Unfortunately another PHP project decided to use the name after I had already picked it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].