From 98b554584d06d85f20e10905efb96e4dd5f7c820 Mon Sep 17 00:00:00 2001 From: Moon Flower Date: Thu, 27 Feb 2025 14:49:26 +0330 Subject: Slight revamp + Algebraic data types --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'README.md') diff --git a/README.md b/README.md index c2378b9..1bf9c8d 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,10 @@ Its current features are: - Revamped stdlib functions such as `char* strdup(const char* str) -> t(char) strdup(ctring str)` - Array manipulation using `reverse_array(array)` which returns the reversed array and also reverses it in-place. - Custom `_start` function that initializes moonshine functionality whilst still keeping the ease of use of the libc `main` function. +- Algebraic data types using the `datatype` macro, eg. `datatype(binarytree, ((leaf, int), (node, binarytree *, int, binarytree *) ));` +- Pattern matching using algebraic data types. The roadmap for moonshine is: -- Adding Algebraic data types - Implementing Garbage collection - Achieving more libc compatibility - Moving common operations to macros for reduced code size and increased conciseness -- cgit v1.2.3