All Projects → aionescu → vec

aionescu / vec

Licence: MIT license
Fast, safe mutable dynamic arrays for OCaml

Programming Languages

ocaml
1615 projects
shell
77523 projects

Projects that are alternatives of or similar to vec

Glazedlists
Open Source List Transformations for Java
Stars: ✭ 132 (+428%)
Mutual labels:  collections
Explore
Community-curated topic and collection pages on GitHub
Stars: ✭ 2,840 (+11260%)
Mutual labels:  collections
.net Big O Algorithm Complexity Cheat Sheet
Big-O complexities of common algorithms used in .NET and Computer Science.
Stars: ✭ 215 (+760%)
Mutual labels:  collections
Awesome Gpt3
Curating the best GPT3 tools and resources
Stars: ✭ 139 (+456%)
Mutual labels:  collections
Sc
Common libraries and data structures for C.
Stars: ✭ 161 (+544%)
Mutual labels:  collections
Mad Metasploit
Metasploit custom modules, plugins, resource script and.. awesome metasploit collection
Stars: ✭ 200 (+700%)
Mutual labels:  collections
Containers
This library provides various containers. Each container has utility functions to manipulate the data it holds. This is an abstraction as to not have to manually manage and reallocate memory.
Stars: ✭ 125 (+400%)
Mutual labels:  collections
Staticvec
Implements a fixed-capacity stack-allocated Vec alternative backed by an array, using const generics.
Stars: ✭ 236 (+844%)
Mutual labels:  collections
Devsecops
🔱 Collection and Roadmap for everyone who wants DevSecOps.
Stars: ✭ 171 (+584%)
Mutual labels:  collections
Codejam
Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another
Stars: ✭ 217 (+768%)
Mutual labels:  collections
Ecsharp
Home of LoycCore, the LES language of Loyc trees, the Enhanced C# parser, the LeMP macro preprocessor, and the LLLPG parser generator.
Stars: ✭ 141 (+464%)
Mutual labels:  collections
Itiriri
A library built for ES6 iteration protocol.
Stars: ✭ 155 (+520%)
Mutual labels:  collections
Awesome Deep Learning And Machine Learning Questions
【不定期更新】收集整理的一些网站中(如知乎、Quora、Reddit、Stack Exchange等)与深度学习、机器学习、强化学习、数据科学相关的有价值的问题
Stars: ✭ 203 (+712%)
Mutual labels:  collections
Eclipse Collections
Eclipse Collections is a collections framework for Java with optimized data structures and a rich, functional and fluent API.
Stars: ✭ 1,828 (+7212%)
Mutual labels:  collections
Java Interview Questions
1000+ Java Interview Questions
Stars: ✭ 212 (+748%)
Mutual labels:  collections
Streamex
Enhancing Java Stream API
Stars: ✭ 1,780 (+7020%)
Mutual labels:  collections
Collections C
A library of generic data structures.
Stars: ✭ 2,297 (+9088%)
Mutual labels:  collections
Awesome Python
A curated list of awesome Python frameworks, libraries, software and resources
Stars: ✭ 110,263 (+440952%)
Mutual labels:  collections
Smart Hierarchy
Better hierarchy for Unity.
Stars: ✭ 234 (+836%)
Mutual labels:  collections
Best Of Jupyter
🏆 A ranked list of awesome Jupyter Notebook, Hub and Lab projects (extensions, kernels, tools). Updated weekly.
Stars: ✭ 200 (+700%)
Mutual labels:  collections

vec

OPAM

Fast, safe mutable dynamic arrays for OCaml.

You can find API documentation here.

Summary

The idea behind this library is to provide efficient, mutable dynamic arrays with Rust-like mutability permissions.

To achieve this, the Vec.t type uses a polymorphic variant as a phantom type parameter, which is [`R | `W] for read-write vectors, [`R] for read-only vectors, or [`W] for write-only vectors.

All functions defined in the Vec module are polymorphic in this type parameter, only requiring it to contain each function's needed capability.

For example, functions that only read data from a vector accept a ('a, [> `R]) Vec.t parameter, so both [`R] vectors and [`R | `W] vectors can be passed.

Installing

The package can be found on OPAM here.

To install it, run:

opam install vec

Building from source

To build the project and run the test suite, run the following in the root of the repository:

dune build @doc @runtest

License

This repository is licensed under the terms of the MIT License. For more details, see the license file.

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].