3.9 KiB
Tanya
Tanya is a general purpose library for D programming language.
Its aim is to simplify the manual memory management in D and to provide a guarantee with @nogc attribute that there are no hidden allocations on the Garbage Collector heap. Everything in the library is usable in @nogc code. Tanya extends Phobos functionality and provides alternative implementations for data structures and utilities that depend on the Garbage Collector in Phobos.
Overview
Tanya consists of the following packages:
async
: Event loop (epoll, kqueue and IOCP).container
: Queue, Array, Singly and doubly linked lists, Buffers, UTF-8 string, Hash set.math
: Arbitrary precision integer and a set of functions.memory
: Tools for manual memory management (allocator, reference counting, helper functions).network
: URL-Parsing, sockets, utilities.
Supported compilers
dmd |
---|
2.074.1 |
2.073.2 |
2.072.2 |
2.071.2 |
Current status
Following modules are under development:
Feature | Branch | Build status |
---|---|---|
BitVector | bitvector | |
TLS | crypto | |
File IO | io |
Further characteristics
-
Tanya is a native D library.
-
Tanya is cross-platform. The development happens on a 64-bit Linux, but it is being tested on Windows and FreeBSD as well.
-
The library isn't thread-safe yet.
Release management
3-week release cycle.
Deprecated features are removed after one release (in approximately 6 weeks after deprecating).
Contributing
Feel free to contact me if you have any questions: info@caraus.de.