"In all the languages I know of, you can't break out of a loop from an inner loop."<p>You can in all the languages that the author says they're interested in (Rust, Zig, and Myrddin).<p>I think comparing Hare to C in this day and age is pointless. Rust, Zig, Myrddin, Nim, D, Odin, Crystal, Scopes, even V bring interesting and useful innovations to the table. What does Hare offer? No Windows support ever? No thanks. With Zig I can cross compile out of the box to just about any platform.
With regards to the no functional programming, functional programming aspects make code less buggy for doing standard things. Sure functional programming isn't as explicit as a 5 layer dip of for loops but to me less code equals less bugs and functional programming doesn't entail more abstractions, in fact it could mean less abstraction.
Project is "secret" pre-alpha, not yet done... and the person is complaining that docs and tutorials aren't fully polished.<p>Seems like a trite complaint. docs (let alone polished) is not something you usually expect from pre-alpha software.
> … a technique called "subtyping" is used, where struct B, who's first member is a struct A, is cast as that struct A to properly conform to an interface. It's supposedly common in C (that's what I was told in #hare, anyway), though this is the first time I'm encountering it.<p>How much C have you looked at if you’ve never seen that pattern (or ‘story’, not up on the lingo)?<p>Is there another way to do this I’m not aware of because it’s so common I thought it was just common.<p>—edit—<p>Thinking about this for a minute there’s another ‘story’ where you use the least significant bit(s) as a tag and use that to differentiate between object types but that is definitely not too common, this hextree library I found somewhere uses it to tell a leaf from a branch and I’m really tempted to just replace it with the previously mentioned ‘subtyping’.
Supports only Linux and a bunch of other Unix-likes in the long tail that almost nobody uses, no generics, similar philosophy to Zig but without the interesting async stuff and comptime. It’s not clear to me why people keep doing this. Why wouldn’t you just take C and remove the footguns if you think that’s all that needs to be done? Seems like it would have much better chances of adoption.
> In all the languages I know of, you can't break out of a loop from an inner loop.<p>Rust has this feature: <a href="https://doc.rust-lang.org/rust-by-example/flow_control/loop/nested.html" rel="nofollow">https://doc.rust-lang.org/rust-by-example/flow_control/loop/...</a>
> Because of that, I'm going to ask you, dear reader, to please respect Drew's wishes and not share this post in any public space. This page is "unlisted" and won't appear on the frontpage, and I only intend to share this with those who are already aware of Hare. If you, due to IRC logs, public GitHub repositories, or cosmic rays, find this page, kindly keep it to yourself.<p>Hmm.