Live data from Hacker News

The Hare programming language

harelang.org

261–270 of 323 posts

Re: The Hare programming language

#261

Earlier quoted context omitted.

Why?

Because the compiler won't let you, except under duress.

What exactly are you thinking of? There are very few things I can think of that rust cannot do when using unsafe (And one of the biggest is interacting with safe code ergonomically because of &mut/& guarantees like the noalias/restrict attributes)

Re: The Hare programming language

#262

Earlier quoted context omitted.

No, there are no plans for first-class metaprogramming. The purpose of exposing the parser, type checker, module system, etc, in the standard library is to allow for users to more easily build custom Hare tooling. The closest thing you could get to metaprogramming with this is some assistance with code generation.

That's unfortunate, some metaprogramming could be fun and without generics and such quite simple and efficient even.

Totally agree that metaprogramming is fun. But I don't think it's a recipe for simplicity and robust engineering, and that's the priority with Hare.

Re: The Hare programming language

#263
post #220

Earlier quoted context omitted.

That is the "ignore everything new" choice. You are pointing out its lack of downside. On many days I would agree. (But you didn't. You spent enough time on it for this.) If in fact the language would have turned out to be interesting, helping out early might make the difference between its fizzling out or getting traction. And, helping out might be a chance to learn a lot, or to ensure it will scratch your itch. In…

> But you didn't. You spent enough time on it for this. Fair, to a point. But writing an HN comment is a bit lower investment than learning a new language well enough to evaluate it fairly. > If in fact the language would have turned out to be interesting, helping out early might make the difference between its fizzling out or getting traction. You may have that kind of pull; I don't. Nobody is going to care whether…

> You may have that kind of pull; I don't.

I meant: one could do some of the work needed to make it ready for use. If not done, the language fizzles. Fizzling is the normal fate of any language, absent the miracle.

Hare looks a tiny bit better than C. That was D's problem: it was a tiny bit better than C++; now C++ is much, much better than what D had targeted. If you make Hare enough better than C to merit attention, it will be different enough for the C stalwarts to reject, but not powerful enough for C++ and Rust refugees to wash up onto.

Re: The Hare programming language

#264
post #223

Earlier quoted context omitted.

Self-hosting will only distract you from any "effort to improve on the status quo". And, do you really want people working on your compiler who can't even cope with C++? (BTW: There is no such language as C/C++. Clang and Gcc are both coded in C++.) Your new language desperately needs libraries that bring it up to a level of practical usefulness. A compiler front end is about the least-useful code you could write in…

> do you really want people working on your compiler who can't even cope with C++? That's the whole point of creating a new programming language.

If you are serious, you want the people working on your compiler to have been doing paid work, and to have demonstrated some capacity for abstract thought. Your language might not be meant for those people; Go and Java, famously, weren't, but demonstrated a language for "the rest" had a ready audience.

Re: The Hare programming language

#265
post #235

Earlier quoted context omitted.

A single ':' is used for other things, like casting types. let x: int = 0; It's so that the compiler can distinguish between those two, and likely some other areas too.

A different character could be used, such as # (like in VimScript) or \ (like in… PHP?)

True, but :: is probably more readable than # or \ Design a language, and you'll understand that there's always trade-offs.

Re: The Hare programming language

#266
post #235

Earlier quoted context omitted.

A different character could be used, such as # (like in VimScript) or \ (like in… PHP?)

True, but :: is probably more readable than # or \ Design a language, and you'll understand that there's always trade-offs.

I personally find :: very unreadable, for the very reason I mentioned.

Re: The Hare programming language

#267

I really respect Drew and his work/advocacy. I think what most enchants me about Hare is that it's not a "take over the world" language. It's pure FOSS engineering: there's nothing out there that does what I want, so I'll (build a community to help me) build it. Love it.

I contributed to this project for this reason. Hare exists as itself and for a purpose. The libre ethos, the simplicity, the design, with people and the future in mind. The dilligence in having a standard, the commitment to supporting libre platforms, and not bending knees to non-free ones just because they are the norm; e.g. not being afraid to dream. Not adopting whatever hype-train technology bandwagon or corporate interest. Hare stands out as something special.

Re: The Hare programming language

#268

Earlier quoted context omitted.

Rust is definitely as complicated as C++. However its complexity isn't as big of a deal because it's so much safer. If you forget one of the extremely complicated Rust rules you'll get a compile error. If you forget one of the extremely complicated C++ rules you hopefully will get a compile error. Maybe a warning with `-Wall` or maybe you'll silently get memory errors at runtime!

Rust is a complicated language, but I don’t it reaches C++ levels of complexity. One of the pernicious aspects of “mastering” C++ is understanding all of its leaky abstractions; there’s nothing like SIOF or SFINAE in Rust.

It definitely does. I think a lot of people think it doesn't because a) most people who know both have far more experience with C++ and are yet to experience its really complicated bits yet, and b) C++ has an actual specification so you can read about all its complexity.

Rust may not have SFINAE but C++ doesn't have for, Phantom data or Pin.

Re: The Hare programming language

#269
I am very pleased to see this out in the open!

Looks like a very simple, yet readable little language. Reminds me of C's glory days.

I know that we already have a couple of "better C" languages out there, but Hare seems like it truly grasps the simplicity of it's older cousin.

I love the focus on open-source only, by the way. It will keep the spirit of the language. I just hope that Drew will stay on this project for a while longer. A language with this kind of vision must persevere.

Good luck to Drew and the Hare team!

Re: The Hare programming language

#270

Earlier quoted context omitted.

The problem here is that focusing on a language can lead to lots of small API design decisions that make it very cumbersome to support other systems later without significant breaking changes. I can appreciate the ideological and practical purity of that decision, but even Linux aficionados need to deploy code to other operating systems to make a living.

I don't have data to support it but even for Go, a language that does support macOS and Windows, it does not feel like the stdlib is as mature or performant as the Linux version. I don't have numbers for that yet just observations doing simple benchmarks across Linux, macOS and Windows. Some languages are just clearly designed to be used on the server.

But there's a difference between "it works, but more slowly on (people's development environments)" and "it doesn't work atoll"
Post reply on HN