datatype99
« Back to VersTracker
Description:
Algebraic data types for C99
Type: Formula  |  Latest Version: 1.6.5@0  |  Tracked Since: Dec 17, 2025
Links: Homepage  |  formulae.brew.sh
Category: Developer tools
Tags: c99 metaprogramming algebraic-data-types pattern-matching header-only development
Install: brew install datatype99
About:
datatype99 is a C99 library that provides algebraic data types (ADTs) and pattern matching through advanced preprocessor metaprogramming. It enables developers to write expressive, type-safe, and boilerplate-free C code by simulating high-level functional programming constructs. The library is powered by Metalang99, a powerful C preprocessor framework for complex metaprogramming.
Key Features:
  • Algebraic data types (sum and product types) for C
  • Expressive pattern matching capabilities
  • Zero runtime overhead via preprocessor metaprogramming
  • Header-only library for easy integration
  • Powered by the Metalang99 metaprogramming library
Use Cases:
  • Implementing state machines and parsers with cleaner, more maintainable code
  • Modeling complex data structures and domain logic in C projects
  • Reducing boilerplate and error-prone manual type management
Alternatives:
  • tagged-unions – A simpler, more lightweight alternative for tagged unions, but lacks the extensive metaprogramming and pattern matching features of datatype99.
  • GObject – A full-fledged object-oriented framework for C, but is much heavier and designed for a different purpose (object orientation vs. functional ADTs).
License: MIT
Dependencies: metalang99
Bottles available for: all
Version History
Detected Version Rev Change Commit