Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Datatype99 Alternatives
Similar projects and alternatives to datatype99
-
zig
General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
epilepsy
Discontinued A functional language for C99 preprocessor metaprogramming [Moved to: https://github.com/Hirrolot/metalang99]
-
Cloak
A mini-preprocessor library to demostrate the recursive capabilites of the preprocessor (by pfultz2)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
datatype99 reviews and mentions
-
Future of high-level languages
Sum types and pattern matching have already been hacked together in a preprocessor macro in C; see https://github.com/Hirrolot/datatype99.
- So far there is no evidence that Rust adds any value here. And if C is missing certain features, they can be added.
-
Does C have an equivalent to an algebraic data type?
It does not. There are people who have implemented such constructs in C code however, for example: https://github.com/Hirrolot/datatype99
-
Memory Management Reference
Nice reference but with some strange bits:
> Algebraic data types are usually represented using a heap. Because of their non-uniformity, algebraic data types are more difficult to scan.
Using a heap??? We can represent ADTs using stack as well, that's what we usually do in C and Rust.
Shameless plug: https://github.com/Hirrolot/datatype99 (a library of mine that generates type-safe ADTs for pure C99).
-
Pretty-Printable Enumerations in Pure C
I agree; I would especially not recommend abusing macros throughout an application codebase too much. Conceptually, Metalang99 is more of a (sub)language than a library, which also adds some entry barrier. Ideally, I see the application of Metalang99 being used "behind the scenes", e.g., encapsulated in separate code files/libraries such as Datatype99 and Interface99. This is what I (mostly) do in SmolRTSP.
-
lipstick: a Rust-like syntax frontend for C
I've done something similar with Datatype99 and Interface99. They are like a macro eDSL that compiles to C. The first one features algebraic data types, the second one features interfaces.
-
Any alternative to vala?
If you need a bit more high-level constructions, you can use the Datatype99 and Interface99 libraries. The former provides polymorphism over data, the latter -- over behaviour (I am the creator of these libraries).
-
Syntatic Sugar that compiles to C
OP, you might find datatype99 and its sibling projects interesting, though they mostly leverage the C preprocessor without going all the way towards defining a new language.
-
AST Implementation in C
You can use Datatype99 to represent your AST tagged union conveniently.
-
Rust for Linux Redux
Compared to plain C, you have ADTs which help from day to day programming. You can bring them to C (https://github.com/Hirrolot/datatype99) but I don't know if the Linux guys would allow it.
-
A note from our sponsor - InfluxDB
www.influxdata.com | 9 May 2024
Stats
Hirrolot/datatype99 is an open source project licensed under MIT License which is an OSI approved license.
The primary programming language of datatype99 is C.
Sponsored