joka 0.0.29

A nogc utility library.


To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

🃏 Joka

A nogc utility library for the D programming language. Joka provides data structures and functions that work without garbage collection, offering precise memory control. It is designed to complement the D standard library, not replace it.

Modules

  • joka.ascii: ASCII string utilities
  • joka.cli: Command-line parsing utilities
  • joka.containers: Heap-allocated data structures
  • joka.io: Input and output functions
  • joka.math: Mathematical data structures and functions
  • joka.memory: Functions for dealing with memory
  • joka.types: Type definitions and compile-time utilities

Versions

  • JokaCustomMemory: Allows the declaration of custom memory allocation functions
  • JokaGcMemory: Like JokaCustomMemory, but preconfigured to use the D garbage collector

WebAssembly

WebAssembly is supported with BetterC, but something like Emscripten is needed to make it work. If you encounter errors with BetterC, try using the -i flag.

Documentation

Start with the examples folder for a quick overview. To try an example, run:

rdmd -Isource examples/_001_hello.d

Frequently Asked Questions

Why aren't you using X library?

Here are a few things I like about Joka that I don't see in other libraries:

  • Minimalistic: Avoids abstractions
  • Focused: Doesn't try to support every use case
  • Simple: Uses a single global allocator, set at compile time
  • Fast: Compile times are blazingly fast
  • Friendly: Includes many examples

Why aren't some functions @nogc?

Because the D garbage collector can be used as a global allocator.

Why are you supporting the D garbage collector?

Because I can and it's useful sometimes.

What are you using Joka for?

Primarily for Parin, a game engine I'm working on.

TODO

  • Maybe think about IO.
  • Maybe "copy-paste" this thing: subprocess.h
Authors:
  • Alexandros F. G. Kapretsos
Dependencies:
none
Versions:
0.0.29 2025-Jun-20
0.0.28 2025-Jun-14
0.0.27 2025-Jun-08
0.0.26 2025-Jun-07
0.0.25 2025-May-30
Show all 30 versions
Download Stats:
  • 0 downloads today

  • 3 downloads this week

  • 19 downloads this month

  • 249 downloads total

Score:
1.4
Short URL:
joka.dub.pm