libremiliacr is a library that provides utility functions and some extra batteries to Crystal. It is essentially Remilia's personal standard library, and is similar in nature (and design) to her cl-sdm library for Common Lisp.
A list of releases and release notes can be found here.
Wanna support Remilia? Buy me a coffee on Ko-Fi, or support me through Liberapay.
Documentation can be found here.
Add this to your application's shard.yml:
dependencies: libremiliacr: fossil: https://chiselapp.com/user/MistressRemilia/repository/libremiliacr
Most of this stuff has been added out of need, or occasionally just to have some syntactic sugar.
- Command line parser
- Bit reader (read bits at a time instead of bytes)
- Array Pool (reuse arrays to keep memory allocations down)
assertmacro that can have its code inside disabled at compile time (
- BZip2 compression and decompression
- String wrapping
- An alternative/very simple logging framework, including concurrent logging
- Extra ANSI terminal handling
- Detection of the Terminology terminal emulator
- Console-based progress bar
- Dependency Graph
- Common Lisp-style string formatting
- Job pool (a way to spread jobs out over a limited number of Fibers)
- Multiply-Add functions and fast math approximation functions
- Conversion to and from Common Lisp's "universal time"
- A bunch of monkey patched extensions to the standard library that I've found I
needed or were useful over time (some of these will be moved into the
- Native CRC64 implementation
- Native xxHash3, xxHash128, xxHash64, and xxHash32 implementations
- Native SpookyHash implementation
MmappedFileclass, which allows you to do high-speed read/write operations on
mmap()ed files in a stream-like way.
How do I contribute?
- Go to https://chiselapp.com/user/MistressRemilia/repository/libremiliacr/ and clone the Fossil repository.
- Create a new branch for your feature.
- Push locally to the new branch.
- Create a bundle with Fossil that contains your changes.
- Get in contact with me.
Contact me to set up a merge.
Remilia Scarlet - creator and maintainer
Links and Licenses
libremiliacr is under the GNU General Public License version 3, except for the BZip2 code and xxHash code which is under the MIT License, and the SpookyHash code which is under a BSD 3-Clause License.