We'll assume x86_64 for now. I'll start us off with something simple /// located in clovertypes.h #define based 1 #define cringe 0 typedef void u0; typedef char sbyte; typedef unsigned char ubyte; typedef int i32; typedef unsigned int u32; typedef short i16; typedef unsigned short u16; typedef long long i64; typedef unsigned long long u64;
feel free to suggest better names if you enjoy bikeshedding. However, a more productive post would be finding something not finished by another user and extending it. The functionality of the new std can be however you like.
heres my contribution void print_nigger(void) { printf("nigger\n"); }
patch license: +NIGGER
Connor Gray
>ubyte Why not u8?
Isaac Hall
typedef void should be sneed
Julian Thompson
how about sneed for void* u0 is an appeasement for Terry
Cameron Miller
oh yes one more simple thing #define is == #define isnt != #define imply if
Noah James
Afaik int can be 16 bit depending on machine so calling it i32 while being 16 is wrong.
Parker Thompson
#define implying(x) if(!x)
Evan Price
i need a string, op
give me strings
Hunter Harris
fantastic we're assuming x86_64 platforms right now. also, if we're going to be going down to the syscall level, we're assuming Linux since it's the easiest to implement against
here you go, strings are an opaque type "text" which you will operate on EXCLUSIVELY via functions. They will keep the null terminator internally because it's easier and because it makes talking to the OS simpler.
Zachary Anderson
>ubyte >sbyte >not u8 and i8 ???
Aaron Bennett
you're right, the word 'byte' is bloat.
Xavier Hill
Byte doesnt have to be 8bit
Isaac Foster
At this point just grab Zig's standard library and export it to C.
Easton Smith
You have stdint.h already you dummy
Luke Peterson
we aren't allowed to use std
Logan Gray
Wait, has Casey moved on from almond milk to cocaine? This is a genuine question and only real replies will be taken seriously. Thanks.