I recently found out about the Hare programming language. Tagged unions, linear types, seems like a mathfag language like Haskell to me
Have you guys tried it out?
>>105560164 (OP)Buy an ad, Drew.
>>105560164 (OP)Almost every modern language has those features.
It's nothing special.
Hare is *awesome* for math, yes
>>105560936Because the only thing it's good for is being a bootleg calculator LOL
>>105560164 (OP)why does drew feel the need to lie every time he does something shady, only to be definitively proven a liar lol
>>105560164 (OP)It's potentially a really good language if you are looking for a modern C and *nothing more*
Basically drew added to c some ergonomics around the known C warts
> modules instead of textual macros > better error handling, to me the best feature that hare adds to C. > "real strings" > non nullalble pointers > slices so you can avoid using pointer arithmetic for 90% of the cases you need it in C > complete stdlib inspired by golangThe error handling mechanism is the real evolution over C and should be expanded a little bit. The anonymous tagged union mechanism allows you to have optional types on the fly and you can combine them instead of creating N unions for N functions that could return an error, and the pattern matching (that should be exhaustive) + propagation operator (?) is simple and powerful
Linear types are not yet implemented and are only an idea tho.
>>105560164 (OP)is it memory safe?
>>105560164 (OP)>>105561746Adding to that there are a couple of non functional features that are also interesting, and lowkey and counterintuitively innovative
> Hare will freeze its features once it'll reach 1.0. The rationale behind this is that languages nowadays want to live eternally and theoretically they could evolve to implements new feature to be up to date. In reality what we have seen is simple languages that end up suffering with featuritis(C++/Java), backward compatibility problems (python 2 vs 3 and also between minor versions). Drew want you to be able to say "This 50 years old project used Hare, I can work with this without caring what version it is, or what standards implements) and once the new programming language technology outgrow too much hare there will be another completely new language that will solve the gap. The idea is to have a 100 years language, which imo is too ambitious, by a "good enough" language can last easily 30 years old > QBE as backend instead of the de facto starndard LLVM. Hare want to be as simple as possible, so it sacrifice performance over other dependability factor (maintanability, readability, extendability). A small team of good programmer can port hare +QBE to any platform in a couple of months. This again seems counterintuivie but the reality is that new languages that originally used LLVM (like zig and odin) are trying to move away from LLVM because it's a gigantic and really complex project that breaks compatibility on pretty much any new releases. > Tagged unions, linear types, seems like a mathfag language like Haskell to meOn the contrary. Hare goals is to be a simple and very practical language
tagged unions are just a way to implement optional types in a simple way, something like
fn file_open(path : str) (void | fs::errror) {
So your function can return *either* nothing in case of success, or an error in opening the file
>>105560404You are a liar, no mainstream language implement anonymous (dynamic) tagged union and linear types
>>105560164 (OP)linear types in practice just means that any resource **has** to be used **exactly once**
https://austral-lang.org/tutorial/linear-types
>>105561770It has some memory safety features like nonnullable pointers, no pointer arithmetics and slices but it's not really memory safe
Once (and if) they will implement linear types it will be as safe as Rust
I'm not a PL theorist but Rust uses affine types (resources might be used at most once) which are less restricted than linear types (resources must be used exactly once) so I assume Hare will inher the same guarantees
I imagine that linear types lead to more rigid program structure but they are easier to use, implement and reason about as opposed to Rust affine types
>>105561791In a "simple" and "practical" language (aka C) you just return a int, and if it's 0 the caller knows there was no error.
>>105561948That's not simple, that's not sufficient
C has big limitation in error handling because you have to use a coded value which is perfectly valid in the domain type returned by the function. Also you have a global errno, [p/str]error buffer to hold any local errors which force you to access it in order to know which error happened withouth knowing which function raised (unless you encoded in the string error message)
It also doesn't force you to deal with error, so you can use a perfectly valid value that in reality encoded an error
That's just inexcusable. Being simple is something different from being primitive
Hare honestly solve in the most convenient way: tagged unions and pattern matching
>>105561883>no pointer arithmetics and slices but it's not really memory safeYes that's what I wanted to get into.
Isn't it restrictive, for a low level language, to not have pointer arithmetic?
Are slices dereferences automatically bounds checked? aka are there conditionals inserted?
>Once (and if) they will implement linear types it will be as safe as RustOnly if linear types are imposed on all pointers, I think. Because otherwise you could have use after free and related. But yeah, having them even optionally makes programs safer if they are used.
>>105562019>Isn't it restrictive, for a low level language, to not have pointer arithmetic?most of pointer arithmetics usecase is covered by slices. But iirc you can still do pointer arithmetic but hare forces you to acknowledge in some way (iirc by casting) you are doing it
> Are slices dereferences automatically bounds checked?I don't really remember, there's defer iirc. I'm not following hare development untill it'll reaches an "almost stability" because I don't trust ddv mental stability although I think it's a really interesting project
Anyway you can learn about it in half hour by looking at the tutorial on the website https://harelang.org/documentation/ https://harelang.org/tutorial
It also has a formal specification if you want to look into that https://harelang.org/specification
> Only if linear types are imposed on all pointers, I think. I don't understand why do you think it will applied partially
>>105562004>That's not simpleyes it is
>that's not sufficientyes it is
>use a coded value which is perfectly valid in the domain type returned by the functionSo don't do that. I can do the same thing in hare, if I want
>It also doesn't force you to deal with error[[nodiscard]]
there, the "innovation" of hare has been added to c23. Can you stop spamming these stupid threads now drew?
>>105562134It's not simple, it's again, too primitive, which is not an empty statement. That oversimplistic error handling lead to serious bugs and really hard bug hunting, especially when your are dealing with 3rd party library
> So don't do that. I can do the same thing in hare, if I wantYou'll be a retard if you choose to do it in hare. You can also not using functions in C and put your whole program in a single file but you would be an idiot doing that
What hare offers is something it can't be done in C and has only advantages
> [[nodiscard]]That doesn''t do anything of interest. It doens't force you to check if a function returning an integer that returns -1 is a valid value or an error
> Can you stop spamming these stupid threads now drew?Can you come back once you actually know shit? because you are making drew a favor by showing yourself as a retard
>>105562215>It's not simplemethinks you would benefit from the perusal of a dictionary
>it's again, too primitive"too primitive" is not an antonym of "simple", but regardless is demonstrated to not be applicable here.
>You'll be a retard if you choose to do it in hare.Same in C, obviously.
>It doesn't force you to check if a function returning an integer that returns -1 is a valid value or an errornothing forces you to write such functions
>>105562301>too primitive" is not an antonym of "simple"It wasn't intended to be
> Same in C, obviously.C doesn't implement that error handling method, you just can't do it in C
> nothing forces you to write such functionsyet it's the way every C programmers write functions (and it is actually the only way to managing errors despite what you nocode contrarian say)
Only a retard would argue in favor of C error handling, that's an objective reality. You just want to be a contrarian faggot
>>105562367>C doesn't implement that error handling method, you just can't do it in Cilliterate-kun, I was saying nothing forces you to use a certain error handling method, not that you can't use hare's overcomplicated approach in c (you can, of course, tagged unions are possible in c as well)
>yet it's the way every C programmers write functionsThis is simply false. well designed c apis don't work this way
>Only a retard would argue in favor of C error handling, that's an objective reality. You just want to be a contrarian faggotI'm not even arguing that it's better, just that's it's simpler. You decided that you would equivocate the two, and are now quite mad when you realize this let you get drawn into an argument with a contrarian.
>>105562416>illiterate-kun, I was saying nothing forces you to use a certain error handling method,But it offers only advantages over C, so...
> not that you can't use hare's overcomplicated approach in c (you can, of course, tagged unions are possible in c as well)They are not anonymous first of all, but more importantly there's no enforcing in checking by exhaustive pattern matching
Again, you can't do it simply in C
> overcomplicated You must be a complete retard if you can't grasp your head around (valid return type | errror class 1 | error class 2)
> This is simply false. well designed c apis don't work this waypost code then
> I'm not even arguing that it's better, just that's it's simplerBetter should be implied otherwise the entire conversation doesn't make any sense to begin with.
I'm arguing that the (lack) of C error handling mechanisms actually makes programming harder
So what's your point in C error handling being simple?
>>105560164 (OP)Hare is way simpler than Haskell lol. It's more like C but without the footguns. Tagged unions are just enums on steroids.
>>105562104I got my answer for the bounds checking.
https://harelang.org/tutorials/introduction#arrays-and-slices-continued
see pic related
https://harelang.org/tutorials/introduction#slice-assignment
slices assignments are also bounds check
>I don't understand why do you think it will applied partiallyLook at what Austral do. You can have both regular pointers and regular slices, and also linear pointers and linear slices.
https://borretti.me/article/introducing-austral
https://borretti.me/article/how-australs-linear-type-checker-works
>without the footguns
Except manual memory management. But yeah, it's clean. Wrote a small CLI tool in it last week and it felt refreshing.
>>105560164 (OP)Every once in a while this hobbit gets tired of being BTFO on orange reddit and comes here for (you)s.
Tried it for a weekend project. The stdlib is surprisingly decent for such a young language. Networking and crypto are built-in.
use fmt;
fn main() void = fmt::println("No hidden allocations!")!;
>>105563077Drew, none of this matters. I just wrote a simple https in c and you know how I avoided the โfootgunsโ (cringe Reddit term)?
AI testing.
>>105563069thanks
> You can have both regular pointers and regular slices, and also linear pointers and linear slices.Oh ok, in that sense yes. To me it's ok to have a property by default
Programming languages need to be useful, if linear types gets too much in your way I'm ok with the possibility of "evading" some security measure as long as it forces you to explicitly acknowledge it (just as unchecked array access)
It should be no much different from the unsafe in rust
>sir, how to redeem the java???
>NO SIR, NOOO DO NOT REDEEM THE HARE PROGRAMMING LANGUAGE
is Hare the most based programming language?
hair
md5: b013fcea0475c08c96b9fb8c146f5718
๐
>>105563276>if you dont like hair you must be a jeetthats cope
have you implemented threading yet?
>>105560164 (OP)Pedophile thread!
I prefer language with GC. Like for example, Golang!
>>105563276If you masturbate to videos of little children getting raped, then Hare is for you!
Contact Drew DeVault on mastodon for more material.
>>105563314>hidden allocationsno thanks
>>105563317What if I'm not a tranny and I don't give a shit about what the people behind some piece of sw do in their spare time?
>>105560164 (OP)>mathfag languageNah, it's for people who hate debugging C at 3am. Linear types just mean "don't leak memory, idiot."
>>105563349Then you wouldn't be in this thread here.
Everybody who uses Hare (which is three people) is a confessed pedophile.
100% of them.
If you are one of those three people, and love to rape 5yo children, admit it and don't LARP.
>>105560164 (OP)Hare's error handling (!) is great. No exceptions, no monads, just "handle it or crash."
>>105563349Pedophiles like you deserve death.
Stop playing pretend, in this ridiculous attempt to lure people into this child-fucker thread.
>Can I use multithreading in Hare?
>Probably not.
>>105563421yeah
idc about drew being a pedo
but does his lang even compete?
>>105563391>Then you wouldn't be in this thread here.Why? It doesn't make any sense anon
>>105563417>Pedophiles like you deserve death.This is a pedo website
Daily reminder that masturbating to pictures of children getting raped, is illegal in the Netherlands. EVEN WHEN DRAWN.
>>105563439>thing has three users>all three of them are confessed pedophiles>LOOK AT ME, I'M ONE OF THEM, BUT TOTALLY DIFFERENT I SWEAR, PLEASE JOIN OUR COMMUNITY OF PEDOSyou deserve a knife in your head, disgusting pedophile
>>105563421Muiltithreading should be managed by the OS
You can use multiple processes with fork
>>105563432>but does his lang even compete?yes it's surprisingly fun to program with
>>105563439>This is a pedo websiteno
try it
see what happens
>hey kid, i got free candy in my van, wanna see?
>>105563468>yes it's surprisingly fun to program withgive me a sample code where you use threading
and walk me through how it works
>>105563414>"handle it or crash"Based. Reminds me of Plan 9's "errors are strings" philosophy.
>>105563459Anon, you are on a pedo website. You are not anything better than an hare user
>>105563474hello newfriend
>>105563482Bald, names language Hare
>>105563439>This is a pedo websiteThen post your child porn cartoons. Do it.
Or would it get you banned?
>>105563468>Muiltithreading should be managed by the OS>You can use multiple processes with forknobody does this, just like how nobody uses nice so it's basically non-functional, except in this case it's just unusably slow and you have no way to inform the OS two processes should run on the same thread
>>105563486>you are on a pedo websiteSo you admit that you are a pedophile now and stopped your LARP of "actually, i'm not interested in what the people in my community do"?
>>105563484> give me a sample code where you use threadingWhat "fun" has to do with "threading" lol?
see again
>>105563468SMT execution should be managed by the OS. Just create a new process ;^)
>>105563496> nobody does this, A lot of people uses fork-exec multiporcessing, what are you talking about ?
Drew's obsession with simplicity is contagious. Hare feels like what C should've been if it wasn't designed in the 70s.
>>105563516it wouldnt be as much of a problem if he cared what *our community does and just integrates
but as pedos function
hes a fucking retard
and wants to turn g into a pedoboard
like the piece of shit invader he is
>>105563519>Just create a new process ;^)i need a decently performing language
i could just be using python at this pace
python has had more eyes than hare
and certainly has more libs
and has threading
>>105563530no
otherwise your like wouldnt need to necrobump
can we go back to programming now?
i dont care about edgy teenager shit
>>105563520>what C should've beenBut with defer! God, I miss defer when I go back to C.
Wish it had generics though. Writing the same algo for different types feels like 2005.
>>105563539>i need a decently performing language>i could just be using python at this pacePython has GIL. Nice attempt at being a retard you completely succeeded
Hare benchmarked 0.7 C speed in some SSL shit implementation I can't remember. Process creation is not so expensive as you think it is
But keep using python lel
>>105563547> necrobumpNo such thing on 4chan you dumbass
> i dont care about edgy teenager shitI'm not the one obsessed with pedophile anon. If you want to talk about tech let's talk about tech
>>105563573>Nice attempt at being a retard you completely succeededi program in C
i dont need to be a walking man page
>0.7 C speed in some SSL shit implementation>compiled with -O3wasnt it?
>be me
>developer
>see hare thread
>click hare thread
>it has more development related discussion than actual /dpt/ thread
This place is full of fucking zoomers.
>>105563581>No such thing on 4chan you dumbass>noooooo, you cannot say the wordyes. necrobump
ne(g)robump if you like
>>105563595welcome to 2025 i guess
>>105563553Generics would bloat it. Hare's niche is "small and predictable." Use Rust if you want templates.
Anyone used Hare for embedded? The no-runtime thing seems perfect for microcontrollers.
>>105563704Tried it on a Pi Pico. Had to write my own HAL, but it worked. QBE backend is janky for ARM though.
The docs are sparse but honest. No "HOW TO BUILD A WEB SCALE AI" nonsenseโjust "here's how to open a file."
>>105563704Pretty sure Hare has like 3 OSes written in it already.
>>105563812>Pretty sure Hare has like 3 OSes written in it already.list em
>>105563812>docs are sparseTrue, but the stdlib is so small you can read the source in an afternoon.
Hare's match with tagged unions is beautiful.
type animal = void | int | string;
fn foo(a: animal) void = match (a) {
case void => fmt::println("nothing")!,
case i: int => fmt::println("number: {}", i)!,
case s: string => fmt::println("string: {}", s)!,
};
>>105563900>beautifulUntil you realize you can't nest matches without as casts. Still cleaner than C switch hell.
>>105560164 (OP)The lack of threads in the stdlib is a vibe check. "Use processes or GTFO."
>>105563866Most /g/tards watch youtube videos to learn2code, imagine them reading source code LMAO
>>105563937Huh, that is a shame
>>105563539Pytoddlers have no right to ever talk down on ANY language. Know your place, peasant
>>105564002>>105563539Misread your post lol. Imagine that am I seething at other pytoddlers instead of you
>>105563981>"Use processes or GTFO."Plan 9 energy. Drew really won't compromise on simplicity.
Wrote a static file server in Hare. 200 lines, no deps, and it's faster than Python's http.server.
>>105564013ok, np
no hard feelings
Processes can't share memory the same way as threads can
Unless Drew has some plan to make a new OS and make it work differently, this is all gigacope
>>105564140>Unless Drew has some plan to make a new OS and make it work differentlyWho's gonna tell him
Tried it last month. It's way more practical than Haskell despite the similar features. The syntax is actually readable.
>>105560164 (OP) >seems like a mathfag language
Wait until you see the standard library - it's very Unix/C oriented. Not mathy at all.
>>105564369 How's the tooling? I heard the compiler is fast but the ecosystem is tiny.
>>105564425 Tooling is barebones but effective. The compiler is indeed instant compared to Rust/Go.
$ time harec -o hello hello.ha
real 0m0.03s
>>105560164 (OP) The manual memory management turned me off at first, but it's actually refreshing after using Go.
>>105564478 Same. I thought I'd hate it but the explicit alloc/free makes behavior more predictable.
>>105560164 (OP) Anyone using this for real projects? Or is it still in toy phase?
>>105564522 Using it for some CLI tools at work. Replaced Python scripts and the performance difference is insane.
>>105564544 What about libraries? Don't you miss Python's package ecosystem?
>>105560164 (OP)go back to mastodong drew
>>105564553 Not really. For CLI tools you mostly just need the stdlib. And C interop is good for anything else.
>>105560164 (OP)Hare is not a good programming language-
>>105560164 (OP) The error handling is my favorite part. No exceptions, no monads, just good old error returns.
>>105564610 Yeah, and the ! operator makes it clean. Better than Go's err != nil spam.
>>105560164 (OP) How's the learning curve coming from C?
>>105564653 Pretty smooth. The biggest adjustment is getting used to tagged unions instead of void*.
>>105564673 And the defer statement. I miss it every time I go back to C now.
>>105560164 (OP) No generics seems like a dealbreaker. How do you write reusable code?
>>105564717 You either:
1. Use void* like C
2. Copy-paste with different types
3. Realize you didn't need generics anyway
>>105564728 Option 3 is surprisingly common. Generics are overrated for most systems code.
>>105560164 (OP) The lack of threads in stdlib is weird. How do you do concurrent stuff?
>>105564776 Processes + IPC, like God intended. Or use C threads via FFI if you must.
>>105564791 This is the Way. Threads are overused anyway.
>>105560164 (OP) Documentation is rough. Any good learning resources?
>>105564828 The spec is short and readable. Otherwise yeah, you'll be reading source code a lot.
I wish Blonathan Jow would just let me into the beta so I wouldn't have to waste time with these dumb memelangs
>>105560164 (OP) How's Windows support?
Isn't this the worse C that is made a lolicon weirdo who fantasizes about 14 year olds?
>>105560164 (OP) Anyone tried Hare for embedded?
>>105564939 Working on a RISC-V port. The lack of runtime makes it promising, but toolchain support isn't there yet.
>>105560164 (OP) Biggest strength: the language fits in your head entirely. No hidden complexities.
Didn't expect so many replies and interest for a language which pretty much only has one person writing blogs for lmao (lol)
>>105564965 This. After working with C++ for years, Hare feels like a vacation.
>>105560164 (OP) Biggest weakness?
>>105565009 Ecosystem, no question. Sometimes you just want a mature HTTP client library.
>>105565015 But then you write one in an afternoon and realize it wasn't so bad.
>>105560164 (OP) Would you recommend it over Rust for new projects?
>>105565057 Depends. Nah, actually it doesn't. I would reccommend any language over Rust
Least organic thread. Go back to your hole
>>105565072Vaxry, is that you??
>>105560164 (OP) Tagged unions are enums on steroids. In C you'd have:
enum type { INT, STRING };
struct value {
enum type tag;
union {
int i;
char *s;
};
};
In Hare it's just:
type value = int | string;
The compiler handles all the tag checking for you.
>>105565828 And critically - the compiler ENFORCES you to handle all cases. No more forgetting to check the tag and getting weird crashes.
>>105560164 (OP) The real magic comes when you combine them with pattern matching. Compare this C:
switch(val.tag) {
case INT: printf("%d", val.i); break;
case STRING: printf("%s", val.s); break;
default: assert(0);
}
To Hare:
match (val) {
case i: int => fmt::println(i)!;
case s: string => fmt::println(s)!;
}
Cleaner syntax AND exhaustive checking.
>>105566297>>105565828So it's just like std::variant?
Where can I learn more about type theory?
>>105564970That's because the creator of hare is a pedo. Lunduke did a whole video on him exposing him for it.
>>105566297 >exhaustive checking This is the killer feature. The compiler won't let you forget cases. I've eliminated so many bugs by switching to this pattern.
>>105560164 (OP) I'm still not convinced. Why not just use polymorphism like in OOP languages?
>>105566785 Because:
1. No hidden vtable lookups
2. Explicit memory layout
3. Better performance
4. Actually understandable code
Tagged unions are what OOP promises but delivers cleaner.
>>105566785 Also - no inheritance nightmares. The data structure is right there in your face. No digging through class hierarchies to understand what's really happening.
>>105560164 (OP) The functional programming crowd has been using these for decades (called "sum types"). It's nice to see them in a systems language.
>>105567472 Exactly! But Hare implements them without all the FP complexity. No monads, no functors, just practical data modeling.
>>105567676>same thing but worsepass
>>105560164 (OP)Linear types are not in yet and no it's not a mathfag language, it's more of a kernel devs take on modern C.
It's a really comfy little language, it feels like C but without the legacy cruft. All the new features just makes life easier doing systems programming.
>>105560164 (OP) Can someone show a real-world example where tagged unions saved their bacon?
Rust is so cool.
let tree = Tree::Node(
2,
Box::new(Tree::Node(0, Box::new(Tree::Leaf), Box::new(Tree::Leaf))),
Box::new(Tree::Node(3, Box::new(Tree::Leaf),
Box::new(Tree::Node(4, Box::new(Tree::Leaf), Box::new(Tree::Leaf)))))
);
fn add_values(tree: Tree) -> i64 {
match tree {
Tree::Node(v, a, b) => v + add_values(*a) + add_values(*b),
Tree::Leaf => 0
}
}
assert_eq!(add_values(tree), 9);
>>105564900he is just like me fr fr
It is a pretty baZed language.
>>105560164 (OP)>mathfag languagei don't even have to look it up to know that (You) Drew, do not even have set primitives
>>105560164 (OP) Hare is unironically based. It's like C but without decades of legacy bullshit. The error handling alone makes it worth using over C.
>>105562367 >you can't do it in C Exactly. Hare gives you modern features while staying simple. C programmers coping hard in this thread. The tagged unions + pattern matching combo is something you'd normally need Rust or Haskell for, but Hare implements it in a way that doesn't feel like academic wank. You get proper sum types without having to learn category theory first.
>>105563077 >manual memory management That's a feature, not a bug. GC is for cowards who can't handle responsibility.
>>105570128Your "manual memory" just ends up being poorly implemented, ad-hoc garbage collectors.
>>105563371 >Nah, it's for people who hate debugging C at 3am This. Wrote a calculator in Hare last week. The compiler caught so many potential memory issues that would've been runtime errors in C. The linear types (when they're fully implemented) will make resource management even better - no more forgetting to close files or free memory. It's like Rust's ownership but without the borrow checker insanity.
>>105560269Hiro sure trained you well to parrot this cucked line, janny.
>>105560164 (OP)You will never be a woman you bald pedo cuck.
>>105563414 Hare's (!) operator is genius. Forces you to handle errors right there instead of letting them bubble up silently.
>>105563520 >what C should've been Drew looked at C and said "let's fix all the stupid parts" while keeping the good stuff. Based. No more:
- Implicit integer conversions
- Undefined behavior landmines
- Janky header files
- Macro abuse
Instead, we have clean, predictable code that does what you tell it to. The defer statement alone is worth switching for - finally proper resource cleanup without goto hell.
>>105570184drew, legitimately, do you genuinely think you're fooling anyone?
>>105570184Post your favorite loli getting fucked again, sircmpwn.
>>105563704 Used it on an STM32. The lack of runtime makes it perfect for embedded. QBE generates surprisingly decent ARM code once you get past the initial setup. The whole toolchain is like 5MB compared to GCC's bloat. Only pain point was lack of HAL libraries, but that's improving as more people use it.
>>105563900 The match syntax is so clean compared to C's janky switch statements. And the compiler forces you to handle all cases.
>>105570184that's the language we needed in 1990, now we need more
>>105564081 >200 lines, no deps This is Hare's killer feature. No dependency hell, no bloated runtime. Just your code and the OS. Wrote a static file server that handles 10k req/s on a Pi while using <10MB RAM. Try doing that in Go without pulling in 50MB of runtime and 100 dependencies.
>all this glazing
>0 repos or actual code beyond beyond hello world shit
how does drew do it lads
>>105564369 >more practical than Haskell Thank fuck. Haskell is academic wank. Hare takes the useful parts (ADTs, pattern matching) and makes them actually usable for real work.
>>105564438 >real 0m0.03s After dealing with Rust's glacial compile times, Hare feels like magic. Edit-compile-test cycle is instant. The compiler is simple enough that you can actually understand what it's doing instead of waiting 30 seconds for LLVM to optimize your hello world.
>>105564522 Using it in production for monitoring tools. Replaced a Python service that used 200MB RAM with a Hare binary that uses 3MB. Boss thinks I'm a wizard. The deployment story is beautiful - single static binary with no runtime dependencies. No more "works on my machine" bullshit.
>>105564544 >performance difference is insane Python "programmers" seething when they see a Hare binary outperform their "optimized" code while using 1/100th the memory. The best part? No GIL, no interpreter overhead, just raw machine code. For CLI tools and system services, it's perfect.
>>105564965 >fits in your head entirely This is why I switched from Rust. No more fighting the borrow checker or wondering what magic the compiler is doing behind my back. The whole language spec is like 30 pages - you can actually internalize all of it. After working with C++ for years, Hare feels like a vacation for my brain.
>>105570190>>105570201You WISH you were Drew
>>105565828 >compiler handles all the tag checking And if you forget a case, it won't compile. Which means you dont get subtle bugs from unhandled enum values. The syntax is clean too - no need to tag unions and void* casting. You declare your types and let the compiler handle the rest. It's like std::variant but without the template nonsense.
>>105566991 >Tagged unions are what OOP promises OOPcels seething when they realize a 50 line Hare program does what their 500 line Java "design pattern" mess tries to accomplish. Polymorphism without inheritance, interfaces, or vtables - just pure data and functions. It's what Alan Kay originally wanted OOP to be before it got corrupted by enterprise "architects".
>>105563154>It should be no much different from the unsafe in rustAren't lifetime semantics more expressive than linear types?
>>105567772 >kernel devs take on modern C Nail on head. It's what you'd get if Unix devs redesigned C today without backwards compatibility baggage. All the good ideas from Plan 9 (like the error handling) combined with modern type safety features. The result is something that feels both familiar and revolutionary at the same time.
At this point, Hare is the only white man's language.
>>105567909 Used tagged unions for a parser. Instead of void* and type tags everywhere, the compiler enforced proper handling of each node type. Caught several bugs during development that would have been runtime errors in C. The match syntax made the code way more readable too - no more nested switch statements with manual type checking.
>>105570348I wanted to install hare on my debian system. The recommended way is apparently to use my "favorite package manager", but it's not in the debian stable lists, so I had to temporarily enable the unstable repositories. After installing, a quick dpkg check revealed that this package installed 1076 (a THOUSAND SEVENTY SIX) files on my system, scattering them across various system level directories.
Drew, can you please elaborate on why you think this is a reasonable process? If the language is so minimal, why can't I just install a single binary and be done with it?
>>105569777 >baZed language True. It's not for everyone, but if you get it, you get it. No bullshit, just code. The kind of language where you spend your time solving actual problems instead of fighting the toolchain or framework. For certain use cases (systems programming, embedded, CLI tools), it's damn near perfect.
>>105570495The 1000 files is probably stdlib. The collective size is probably something like 5MB
>>105560164 (OP) So, is Hare worth using? How would the following C code look in Hare?
int read_file(const char *filename, unsigned char **data, size_t *size) {
FILE *file = fopen(filename, "rb");
if (!file) {
perror("Failed to open file");
return -1;
}
if (fseek(file, 0, SEEK_END) != 0) {
perror("Failed to seek to end of file");
fclose(file);
return -1;
}
long file_size = ftell(file);
if (file_size == -1) {
perror("Failed to get file size");
fclose(file);
return -1;
}
if (fseek(file, 0, SEEK_SET) != 0) {
perror("Failed to seek to beginning of file");
fclose(file);
return -1;
}
*data = malloc(file_size);
if (!*data) {
perror("Failed to allocate memory");
fclose(file);
return -1;
}
size_t bytes_read = fread(*data, 1, file_size, file);
if (bytes_read != (size_t)file_size) {
perror("Failed to read entire file");
free(*data);
fclose(file);
return -1;
}
*size = bytes_read;
fclose(file);
return 0;
}
>>105570608lolis are not children
>>105570593 In Hare, this is just
fn read_file(filename: str) ([]u8 | error) = {
const file = os::open(filename)?;
defer io::close(file);
const stat = fs::fstat(file)?;
if (stat.size > types::SIZE_MAX: u64) {
return errors::limit;
};
let buf: []u8 = alloc([], stat.size: size);
match (io::readall(file, buf)) {
case let n: size =>
if (n != stat.size) {
free(buf);
return errors::unexpected;
};
return buf;
case io::error =>
free(buf);
return errors::unexpected;
};
};
>>105560164 (OP)use bufio;
use fmt;
use os;
use strings;
export fn main() void = {
const user = askname();
greet(user);
};
// Asks the user to provide their name.
fn askname() str = {
fmt::println("Hello! Please enter your name:")!;
const name = bufio::read_line(os::stdin)! as []u8;
return strings::fromutf8(name)!;
};
// Greets a user by name.
fn greet(user: str) void = {
fmt::printfln("Hello, {}!", user)!;
};
bufio::read_line is actually a killer feature. the only reason I use C++ instead of C for command line programs is because of std::getline
>>105570649looks nice, how is Hare compared to Odin ?
>>105570723Odin is to Hare what Zig is to C. It is a different philosophy. Odin I think is like Go without GC. Hare is like C with tagged unions, Rust-like error handling and with Go's standard library
>>105570722Hare's stdlib is modeled after Go. It has to be good!
>>105570620the law in the netherlands things different, pedophile
>>105570802It is actually insane how a language goes from tedious (Go) to super easy (Hare), just by adding the '?' and '!' operators + proper error handling
I am considering daily driving this language once the LLVM/GCC port gets done (already in progress)
I will not use this until it gets Generics and LLVM backend
I've hare'd enough. Get ye gone
>>105570768>will never work on Windowsand dropped
No LLVM backend and no windows are the only two based parts though. All LLVM-based compilers are invariably slow pieces of shit
>>105570987That is true. I really like how you can import C files in Zig and it just works unlike in every other compiled language.
But I am so turned off by the slow compile times. Have you seen tsoding video? 4 seconds to compile a hello world. WTF?
I would like Zig to have a faster backend and codegen, even if code isn't as optimized. I could use that codegen for debugging and running the program and then once release is ready, compile with LLVM
>>105570919Lmao, imagine using LLVM slowware bloat
>>105570969>>105571007Keep seething, retards. Not using it.
>>105571069Slop developers belong to >>>/g/wdg/
Yes, we need less one year memelangs and slop and we need more 100 year programming languages like Hare aims to be
https://harelang.org/blog/2023-11-08-100-year-language/
>>105571183This is awesome
>>105571183>aims to become a 100-year programming language>has zero usecase right now
>>105571183>https://harelang.org/blog/2023-11-08-100-year-language/>Conservatism in language design>The importance of the standard>The necessity of a feature freeze>Defining long-term API stability goals>Fostering a culture that values stabilityThat sounds pretty cool to me. Was this ever tried before?
>>105571183Wait, so what about Linear Types?
>>105560164 (OP)>linear types>practical>system programming>100 year language*opens lid*
<not yet implemented tho
<no windows support
<compiler backend is an art project, spits out garbage code
<breaking changes in the latest version (0ver forever)
haha drew good joke, now go back to cancelling people that actually contribute something useful to foss
>>105571372They might make it in, they might not. Either way, once Hare reaches 1.0, it is considered "done" as far as features go.
Only thing remaining then will be porting to different platforms, bugfixes and performance improvements
>>105571309Hare literally includes a tool that can convert old code to new code every time the language changes
I love how the devs pay attention to such things and really put their money where their mouth is
They say stability, they *mean* stability
Are you anti-Wayland, chud?
>>105570450Only drawback for me is no windows support.
Not that I use windows but id like to make and sell games with hare.
>>105571523Rust does this better with editions. It's not a breaking change in the first place because you can keep using the same old code forever: the compiler basically remembers the old behavior and will compile your old code under the old rules. But if you still want to upgrade to the new edition, a you can run a similar tool to make the transition automatically for 95% or cases.
>>105571790Literally the bast part of the Hare programming language ...
>live shot of Drew inventing Hare
>>105570248What on earth are you talking about?
import (
"log"
"net/http"
)
func main() {
fs := http.FileServer(http.Dir("./public"))
http.Handle("/", fs)
log.Println("Serving on :8080...")
err := http.ListenAndServe(":8080", nil)
if err != nil {
log.Fatal(err)
}
}
>>105571555Wayland is actually pretty good if I say so myself
Hare is not a bad programming language. I like it!
Can't wait until it matures.
>>105560172>>105560269Why are you in every thread? Stop spamming, fucking indians
rangeban the following
- India
- Israel
from the internet!
>>105573134any good /c/ threads, drew?
Who is the bigger lolcow, Drew or Ebasedi??
>>105571555>Are you anti-Wayland, chud?Hare works great on Wayland. Drew's based Sway WM is proof you don't need Xorg cruft. The language's simplicity matches Wayland's philosophy - no legacy bullshit.
>>105571711>Rust does this better with editionsRust editions are just technical debt with extra steps. Hare's approach is cleaner - if something needs to change, it changes. No maintaining multiple versions of the same feature. KISS principle.
>>105575277>Hare's approach is cleaner - if something needs to changeNot good for backwards compatibility
>>105571790>Cute mascot!The Hare logo is unironically better than most language mascots. No creepy gopher shit that gives all girls the ick when looking at your monitor
Girls love bunnies and horses.
>>105571868>Literally the best partNah, the best part is how the entire language basically makes C obsolete. The mascot is just icing on the cake.
>>105575368It shows that it was made by someone who can actually draw. I hate the cartoonish Golang gopher and the Rust crab mascots. I don't think programming languages even need mascots per se, but if they have one, they should look good.
>>105571868>Literally the best partNah, the best part is how the entire language basically makes C obsolete. The mascot is just icing on the cake.
>>105575421>I hate the cartoonish GolangSame, although this version is kinda cool
>>105572288>live shot of Drew inventing HareDrew when he realized he could make a language that:
>1. Doesn't suck>2. Isn't bloated>3. Actually respects your intelligence>4. Has proper error handlingAbsolute madman.
>>105572481>Go code exampleYeah, that runs GC and also multiple threads. A real webserver needs only one thread.
>>105572732>Wayland is actually pretty goodWayland and Hare are spiritual cousins - both about cutting legacy cruft while keeping what works. Drew's involvement in both isn't a coincidence.
>>105572760>Can't wait until it maturesIt's already more mature than Go was at this stage. The stdlib is small but rock solid. Only thing missing is more libraries, but that comes with adoption.
>>105575486just speak in 1st person drew
>>105573134>rangeban India/IsraelLeast racist Hare fan. Based
>>105573324>any good /c/ threadsDrew's too busy writing real world code to shitpost on /c/. Unlike Rust evangelists who spend more time on Reddit than actually programming.
>>105573870>Good morning, Hare-sirs!Morning, saar. Remember to `defer do(needful);` your resources today. Be the based systems programmer Drew knows you can be.
>>105575821i am trans btw, if it matters
>>105575826It doesn't matter :)
https://harelang.org/blog/2023-07-03-all-rabbits-welcome/
>>105563442lolis are based
hag fans are not welcome on 4chan
>>105574066>Drew or EbasediDrew by a mile. Ebasedi is just a faggot, but Drew actually created:
>Hare>Sway>SourceHutDude outputs more quality software before breakfast than most devs do in a year.
>>105571555Wayland is like Hare's runtime - minimal and predictable. Xorg is like C++ - decades of accumulated nonsense that nobody fully understands anymore.
>>105571641The Windows thing is temporary. Once Hare gets LLVM support, Win32 compatibility will come naturally. But honestly, why would you want to? Windows is where good languages go to die. Stick to Linux/BSD where Hare shines.
>>105572288The genius of Hare is that Drew took all the best ideas from:
>C (simplicity)>Go (readability)>Plan 9 (philosophy)And stripped out all the bad parts. No GC, no exceptions, no OOP nonsense - just clean systems programming. The result is something that feels both familiar and revolutionary.
>>105572760Hare's already mature enough for:
>CLI tools>System utilities>Embedded>Network servicesWhat's missing is:
>More arch support>Threading>GUI librariesBut the foundation is rock solid. It's like early Go but without Google's corporate stench.
>>105574066Drew isn't a lolcow - he's an actual productive developer. While others shitpost, he:
>Wrote a language>Made a Wayland compositor>Built a Git alternative>Created an email clientEbasedi is only good for wojak memes. There's no comparison.
>>105571711Rust editions are technical debt disguised as progress. Hare's approach is better - if something needs to change, it changes cleanly. No maintaining multiple versions of features indefinitely. The Unix philosophy applies - do one thing well, then move forward.
Every morning I wake up and thank Drew for:
>making /g/ seethe
>making rustroons ack
>making github obsolete
>>105560164 (OP)I prefer austral, because it's not made by a lolicon
>>105560164 (OP)Do the world a favor and kill yourself, Drew.
You are a failure. All your friends abandoned you. Instead, the only interactions you get are from sรถyboys, who only care about irrelevant politics of a culture war from the other side of the world.
The people, who you thought were on your side, backstabbed you and denied ever having any contact to you, as soon as they got questioned about your pedophile fetish.
You moved into a country where even cartoon pedophilia can land you in jail and it gets increasingly more touchy about that subject, as AI forces them to rethink laws, and we all know in which direction the women in charge will take those laws. You will eventually land in jail if you stay there, and you know it.
How do you think do pedophiles get treated in jail?
Is this the future you want for yourself, or wouldn't the friendly rope offer a quicker and easier escape?
Don't worry, nobody will miss you. Your biggest accomplishments was a webshit platform for viewing git repositories. A platform that is impossible for anyone else to run. Even fossil is better than this. We will be fine without you and won't miss it.
>>105560172>Hi DrewNot Drew, just a based Hare enjoyer. Unlike Rusttards, we don't need a cult of personality around the creator.
>>105560269>Buy an ad, Drew.Hare doesn't need ads when it has actual technical merits. Go back to your bloated JS framework, newfriend.
>>105560404>Almost every modern language has those featuresName one mainstream language that combines:
> Manual memory management> Tagged unions> Linear types> No runtime> Compiles to native code> <5MB toolchainI'll wait.
>>105560936>Hare is *awesome* for mathNot just math - systems programming, networking, embedded. The type system is clean enough for math but practical enough for real work.
>>105561413>bootleg calculatorSpoken like someone who's never written actual systems code. Hare's type system prevents entire classes of bugs that C programmers waste hours debugging.
>>105561719>why does drew feel the need to lieWhAat exactly has he lied about? The language spec is public, the implementation is clean, and the design goals are clear. Sounds like cope from a Rust tranny.
>>105561746This. Hare is what happens when someone looks at C's problems and fixes them properly instead of piling on complexity like C++.
>>105561770>is it memory safe?More than C. The bounds checking and non-nullable pointers prevent most common issues. Linear types will make it even safer when implemented.
>>105561791The freezing at 1.0 is based. Modern languages keep adding features until they become unmaintainable messes (looking at you, C++ and Java). Hare knows what it wants to be.
>>105561808>no mainstream language implement anonymous (dynamic) tagged union and linear typesAND Hare's implementation is clean and straightforward.
>>105561883>linear types in practice just means that any resource **has** to be used **exactly once**Exactly. This eliminates entire classes of resource management bugs while being simpler than Rust's ownership model.
>>105561948>you just return a intAnd then spend hours debugging when someone forgets to check the error code. Hare's approach forces proper error handling at compile time.
>>105562004>Hare honestly solve in the most convenient way: tagged unions and pattern matchingThis. It's not academic wank - it's practical error handling that prevents real-world bugs. The (!) operator is genius.
>>105562019>Isn't it restrictive, for a low level language, to not have pointer arithmetic?90% of pointer arithmetic is just array access. Hare's slices cover that safely. For the remaining 10%, you can still do it - you just have to be explicit.
>>105562134>[[nodiscard]]A band-aid on C's broken error handling. Hare's approach is cleaner and more comprehensive. The compiler actually forces you to handle errors properly.
>>105562215>What hare offers is something it can't be done in CThis. You can emulate parts of it in C, but the compiler won't enforce it. Hare gives you safety without sacrificing control.
Once you've tried discriminated unions, you just can't go back to archaic languages like C.
>>105562367>Only a retard would argue in favor of C error handlingBased. C's error handling is objectively terrible. Anyone defending it either hasn't worked on large projects or enjoys pain.
>>105563077>Wrote a small CLI tool in it last week and it felt refreshingThis is Hare's sweet spot - small, fast utilities where you want control without the bloat of Go or Rust. The compilation speed is a game-changer.
>>105563154>It should be no much different from the unsafe in rustExactly. Hare gives you safety by default but lets you opt out when needed. Unlike Rust, it doesn't make you jump through hoops for basic systems programming.
>>105576577Why are you like this, sis?
>>105580087drew take a break please..
>>105563439>This is a pedo websitecorrect
Based jannies allowing Drew threads again
>>105563486>Anon, you are on a pedo website. You are not anything better than an hare userThey are newfags who don't know the culture of this website.
Hare threads were always for us.
>>105563496>nobody does thisi have an ill-advised awk script that does this with xargs --max-procs :^)
>>105563496There is no need for threading if you can run multiple processes
>>105579563Hare was a real improvement compared to C
>>105581165https://www.law.cornell.edu/uscode/text/18/1466A
retard
>>105575421>by someone who can actually drawexactly
>>105581272Did preZident Trump introduce this? Based
>>105580386this thread was active 24/7 if you haven't noticed. Moron! Does Drew never sleep?
>>105582151You probably just have a script posting every half hour Drew.
Curious, how these meme languages like zig, hare, beef, etc have daily threads, yet no one ever posts any personal projects there.
Why is this leftoid pedophile so obsessed with /g/?
How does that even make sense? I thought he got such a vibrant community on mastodon with his two codeberg friends?
Or could it be that indeed everybody abandoned him?
>>105583845Personally? I am waiting for the AppImage release of the Hare compiler, but I already have some projects in mind
Hare is just a very cool hyped language, like JBlow's Jay
>>105583845It's just a pedophile, who failed at life, bumping his own thread.
That nigger is well known for samefagging and even did that on orange reddit. I guess if your name is already ruined, it doesn't matter anymore and you might as well limit your existence on annoying people on the internet
>>105583865Because Hare is /g/ - the language. Literally every /g/ meme united into one single point
>>105583865turns out that not even leftoids want to talk to leftoids
>>105583952nta but people first and foremost wanna talk to people that are attractive. attractive people dont really have a reason to be left, unless theyre female, because females benefit most from all the socialist policies they implement. thats of course intentional, but any male thats on the left is just desperate or misguided. real men are out fucking cunny and ignoring hags
>>105583952What color is your programming language
>>105580386>drew take a break please..Drew doesn't sleep. He's currently implementing linear types while you shitpost on /g/.
>>105580956>ill-advised awk scriptThis is why we need Hare - to save people from writing monstrosities like awk+xargs when a simple Hare program would do.
Drew will go to any length to manipulate online forums he uses. This thread is mild compared to some of his deeds as "Sir cum pwn"
>>105586666He's getting pumped by his gendergoblin "spouse"
Hare's QBE backend produces surprisingly decent code. Not quite GCC levels, but the compile speed makes up for it. Perfect for rapid iteration.
>>105587659Hobbit hands typed this post.
>>105583787Hare's growth is organic because the language is actually good.
>>105583845>no one ever posts any personal projectsI've written 3 CLI tools in Hare this month alone. They're just not interesting enough to post - simple, fast, and bug-free. The boring future we deserve.
The language freeze at 1.0 is the most based decision. No featuritis, no breaking changes - just a stable tool that will still work in 20 years.
>>105583865>leftoid pedophileAd-hominem attacks won't make your C++ template metaprogramming any less of an abomination. Hare is clean by design.
Say whatever you want about Drew, but he surely can code. He's a retarded fag, but his software is mostly decent, and sometimes better than the alternatives.
Most criticism presented in this thread is Ad hominem, by nocoders shitposters.
>like haskell
into the fucking trash it goes
>>105583882Real chads build from source. The entire Hare toolchain compiles in under a minute on my ThinkPad.
>>105570495>>105570529No, the way you enabled unstable repos, is what caused apt to replace your system packages prioritizing the unstable branch. Because you should configure apt to use stable as the target release, then you can install packages from other releases using -t without replacing all your system packages. You can read apt_preferences(5) to understand it better, because most of online tutorials use an outdated method of setting priorities, that will ruin your system, and get you in dependencies' versions hell. Debian's manuals aren't that helpful (at least regarding this) without prior experience.
You better not reboot your machine, it may not boot correctly (from experience), and you would also find problems with dependencies. Find a way to return all packages to a uniform branch, be it stable, or unstable. Or expect hell.
>>105560164 (OP)>Here is your language maintainers bro>https://harelang.org/whoThey even got a Jewish tranny.
>>105583918Let's keep this about programming ...
>>105583928>Drew's autismPerfect for /g/tards.
>>105584695>nta but people first and foremost wanna talk to people that are attractiveattractive people use Hare
https://harelang.org/who
Wrote a Hare version of coreutils' cat yesterday. 80 lines, no dependencies, and faster than GNU cat. When will you C boomers wake up?
>makes C obsolete
>makes Rust trannies seethe
ummm, based?
>>105591167Why did you sage, you fucking nigger
>>105589498>>Drew's autism>Perfect for /g/tards.You're here too, Drew.
Nice to see a somewhat serious thread about Hare. Most of the time it's just cringy seething about Drew. I wasn't paying close attention to it though because I thought it was still too early-phase, but some of the posts ITT are making me think it's relatively developed.
>>105570723>>105570768This has been a question of mine as well. They do seem like they have different philosophies, but I feel like if I'm anticipating a somewhat small tool project, it will be hard for me to determine which language is more suitable.
>>105592206>Most of the time it's just cringy seething about Drew.Actually, mostly it's Drew samefagging
>>105588770Do your CoC tranny friends know you post on far right imageboards to shill your meme lang, Drew?
Maybe someone should tell them.
>>105592488His samefagging is at least more interesting to read.
>Posted from my Swayโข-brand Wayland display.
>>105592768You won't do shit.
>>105592955Probably not but some New Zealand fruit agriculturalists might.
>>105593106Last I checked there, Drew thread is long dead and everyone is focusing on Elon-Trump feud
>>105593133Hi, Drew. Itโs not dead, but if that makes you feel better.
>>105593447It literally is.
>>105592844>Posted from my Swayโข-brand Wayland display.Based
I REALLY like the hare bnuyy
>>105589956>80 lines, no dependenciesThis is why Hare is based. No bloated GNU shit, just clean efficient code.
>>105595799I don't. It's a very cute bnuyy and would be a great mascot - but the language is called Hare and bnnuys aren't hares.
>the picture IS a hareIt is NOT you blind FUCKS try going outside some time
>>105595997It can pass as a baby hare.
>>105595997https://harelang.org/documentation/faq.html#that-s-not-a-hare-it-s-a-rabbit
>>105596034And people say Drew doesn't browse /g/
>>105596016>>105596034I think the fact that Drew has an FAQ for this says all that needs to be said. I'm tired of trying to open the eyes of the blind, so I won't do talk about it again.
I also don't want to do anything to draw such trivial criticism to Hare. While there's already a ton of pointless bitching in tech, and corpogarbage on all fronts, Drew is one of the few out there making good software for the benefit of all.
>What about Windows users?They chose to use Windows. Sometimes you have to help yourself before others can help you. Drew can offer his hand, but he isn't your dad.
Tried Hare for a weekend project. The compiler is so fast it feels like scripting, but with native performance. Why isn't everyone using this?
>>105591094Hitting two birds with one stone - writing fast code while watching Rustrannies mald. Hare is truly the /g/ language.
>>105591167>>105591185Stop derailing the thread with your autism. We're here to discuss why Hare's slices are better than C pointers
>>105591834Not Drew, just someone who appreciates a language that doesn't treat me like a toddler. Unlike Rust's tranny-state compiler.
>>105592206>somewhat serious thread about HareFinally. The language is actually getting mature enough for real work. Wrote a production monitoring tool in it last month - 3MB static binary vs Python's 200MB memory hog.
The more I use tagged unions for error handling, the more I hate exceptions and error codes. Why did we suffer with C's error handling for 50 years?
>>105592488>mostly it's Drew samefaggingProof? The language stands on its own merits
>>105592844>Posted from my Swayโข-brand Wayland display.Kek. Say what you will about Drew, but Sway is unironically good. Just like Hare - minimal, efficient, ...
Anyone benchmarked Hare against Zig yet? Both are going for the "better C" space but Hare feels more minimal and focused.
>>105595585Based and Hare-pilled. The language is what C should have evolved into if not for committee design and backwards compatibility obsession.
Hare general post:
Hare's lack of threads is based. Processes + IPC is the Unix way. If you need threads, you're probably writing Java-tier bloat.
Hare general post:
The language freeze at 1.0 is genius. No breaking changes, no feature creep - just a stable tool that will work decades from now.
>>105595799>I REALLY like the hare bnuyyThe mascot is unironically good
>Hare fits on a 3ยฝ" floppy disc โ these will be available for purchase when Hare 1.0 is released!
jesus fucking christ lmao
>>105600070That is literally the coolest thing ever
Since there is so much interest in Hare discussion, what do you say we make a new General for Hare?
/chug/ - comfy hare users general
What do you say?
This thread is so artificial
>>105598799Hare seems like C, Zig seems like C+