/chug/ - comfy hare users general - /g/ (#105680443) [Archived: 800 hours ago]

Anonymous
6/23/2025, 3:36:48 PM No.105680443
1750685796
1750685796
md5: 7d87b6f96c9d7f8e2de846a9589577b6๐Ÿ”
The purpose of this General is to discuss Hare, Low level and also systems programming in general.
Hare is a successor to C. Therefore, hare users are experts on C. Because of that, questions and discussion about C are also welcome.

What is Hare?
>https://harelang.org
>Hare is a systems programming language designed to be simple, stable, and robust. Hare uses a static type system, manual memory management, and a minimal runtime. It is well-suited to writing operating systems, system tools, compilers, networking software, and other low-level, high performance tasks.

What does Hare bring to the table?
>Staying loyal to C ideal of simplicity while revamping the error handling, module system and the standard library
Other than that, Hare doesn't deviate from C that much unlike Zig, Rust, etc. That is why Hare is best used by seasoned C developers who do not dislike C, but have only minor nitpicks with C.

Don't know how to write Hare? Start here:
General documentation: https://harelang.org/documentation/
General language introduction: https://harelang.org/tutorials/introduction
Standard library: https://harelang.org/tutorials/stdlib
Tsoding's review: https://www.youtube.com/watch?v=2E3E_Rh3mvw [Embed]

The flagship feature of Hare is the "Tagged Unions". C users who have used OCaml in the past will feel right at home!

type signed = (int | i8 | i16 | i32 | i64);
type unsigned = (uint | u8 | u16 | u32 | u64);
type integer = (...unsigned | ...signed);


Previous: >>105604073
Replies: >>105680869 >>105681184 >>105684569
Anonymous
6/23/2025, 3:40:57 PM No.105680481
Hare 0.25.2 was just released.
https://harelang.org/blog/2025-06-21-hare-0.25.2-released/

The most interesting thing in my opinion is this paragraph:
>This release also adds support for semantic code annotations, to enrich your Hare code with additional metadata. Hereโ€™s an example of how this is being used to prototype JSON encoders and decoders for hare-json:

#[json::gen]
export type player = struct {
name: str,
#[json::field(name = "X", omit_null=true)]
x: *f64,
#[json::field(name = "Y", omit_null=true)]
y: *f64,
};


So this is Hare's answer to reflection. In-code tags + codegen tools. Codegen tools are actually baked into "hare" build driver itself, which is neat.
Replies: >>105680509
Anonymous
6/23/2025, 3:43:35 PM No.105680509
>>105680481
Oopsie, messed up the code. Let's try that again.
#[json::gen]
export type player = struct {
name: str,
#[json::field(name = "X", omit_null=true)]
x: *f64,
#[json::field(name = "Y", omit_null=true)]
y: *f64,
};
Anonymous
6/23/2025, 4:18:38 PM No.105680756
buy an ad
Replies: >>105682096
Anonymous
6/23/2025, 4:34:18 PM No.105680869
>>105680443 (OP)
Nobody wants to use your language, pedophile fuck.

Buy an ad and stop making generals.

>sage
Replies: >>105682096
Anonymous
6/23/2025, 5:18:59 PM No.105681184
1745048490328562
1745048490328562
md5: 76daf47d68dfcfddf408b410ee7d607f๐Ÿ”
>>105680443 (OP)
Go shill your garbage language to your troons, faggot
Replies: >>105682096
Anonymous
6/23/2025, 7:12:37 PM No.105682096
>>105681184
>>105680869
>>105680756
You are mentally ill, bro. 3 posts in a row over nothing? You should consult a doctor or you will end up ACK-ing. Just saying.
Anonymous
6/23/2025, 7:45:24 PM No.105682304
>json through tags and separate programs generating code
based or cring?
Replies: >>105683630
Anonymous
6/23/2025, 10:18:07 PM No.105683630
>>105682304
Based
Anonymous
6/24/2025, 12:21:52 AM No.105684569
>>105680443 (OP)
>What is Hare?
Useless.
>What does Hare bring to the table?
Nothing