Live data from Hacker News

The Hare programming language

harelang.org

311–320 of 323 posts

Re: The Hare programming language

#311
post #138

Earlier quoted context omitted.

Not trying to take away anything, but just from the top of my head: Zig, Rust, Odin, Beef lang and then don’t forget about those that even precede C like Fortran or Pascal.

I think any discussion of small, performant, fairly memory-safe languages could include Forth or Factor. Speaking of the Pascal family, we could also stand for someone to put time into a more modern Oberon or a standard subset of Ada.

As someone who thinks that Forth is an underappreciated language that is very good at some things, it's definitely not "memory-safe". Small and performant, absolutely! (good for bootstrapping a memory-safe language, also yes)

Re: The Hare programming language

#312
post #48

I see that Hare exposes itself via the hare module in stdlib. Is there any plan for metaprogramming/macro (not preprocessor) in Hare?

> Is there any plan for metaprogramming/macro (not preprocessor) in Hare? We don't plan to add anything like that. Hare strives to be simple and straightforward. Metaprogramming would not fit it well. Closest thing in this direction that we tried was reflection, but that didn't turn out to play along with the rest of the language either, so it was removed.

Can you explain how metaprogramming is not "simple and straightforward"?

Re: The Hare programming language

#313
post #109

Earlier quoted context omitted.

I’m sure it is not the answer you want to hear, but partial use of GCs seems to be exactly that. Modern GCs have insanely good throughput OR latency. Quite a few languages have value types now, with that you can restrict your usage to stack allocations for the critical hot loops, while low-latency GCs promise less pauses than the OS itself, which should be plenty good for even the most demanding games.

Hey, I'm open to any answer that helps me write better programs. :) Which languages do you have experience working with in high-performance situations? I, for one, had high hopes for using Go for video game development, but it turns out that even in highly-tuned Go code with the latest GC optimisations, there are still significant GC pauses that cannot be overcome [0]. However, perhaps you're referring to other types…

I use pony https://ponylang.io/ as a language - it's an Actor based language with GC where every actor has its own memory and is responsible for its own GC.

The main feature is its ability to safely share or move data around between actors in a way that is data-race and deadlock free. Pony doesn't use locks anyways :-)

A high level as to how it achieves this:

i. All variables have a "reference capability" - which is a description of what you can and cannot do with the variable alias (pointer) you have.

ii. The references to the data (think pointer) are passed in messages.

iii. As references are made and removed, actors send messages to the originating actor updating the count of references. When the count reaches zero, that data can be GC'd.

It's nice, because unlike some other language runtimes, it doesn't have to stop the world to work out what can and can't be GC'd. It's all done on-the-fly as it were.

Re: The Hare programming language

#314
post #139

Earlier quoted context omitted.

I think you are reacting too strongly. Really, what's the problem?

Thank you for the sanity check. It is difficult for me to articulate really, but I guess I (perhaps in error?) have deferred battles over say proprietary drivers away from programming language licensing (just so that there is no confusion here, I am fairly hard line in terms of the usage of proprietary software for my own personal use; only falling marginally short of the FSF party line). Perhaps seeing this has me f…

I think copyleft is a good way of protecting a creator's intentions. While it's true that 'superior software is the way to software freedom', it's also true that free software is the way to software freedom.

If free software begets other free software simply through its replication, then I think the juice is worth the squeeze

Re: The Hare programming language

#315
post #126

Happy to see “secretlang” out in the open! I have been following development from afar and really like the idea of a “simple” take on a language, but with a lot of wisdom and affordances added since the state of the world back in 1972. In short, Hare seems to be a language that I really should like and I want to take it for a spin. What I find a bit confusing though is the licensing. I belong to the “BSD school”, but…

[deleted]

Re: The Hare programming language

#316
Initial reaction is positive, but as with Blow's Jai, it seems like a programming language for the authors, and there's nothing particularly wrong with that; the ideological stance re FOSS, probably excludes it from any general purpose conversation, which is disappointing. Though, nothing stops interested parties from forking to support proprietary platforms, although the outcome may be disappointing 4 the authors if such a fork picked up a zig head of steam.

Re: The Hare programming language

#317

Earlier quoted context omitted.

For those not familiar with the concept: this is how moral backbone looks like.

This is not "moral backbone" in the slightest - the Hare developers are not risking anything to take this position, unlike others who may lose their jobs, be imprisoned, or even lose their lives for taking a moral stance.

Many fail on "risking leaving money on the table", long way before "risking loosing their life".

Small steps are steps never the less.

Re: The Hare programming language

#318
post #177

The first thing I look for in something that claims to be a systems language is whether it provides anything that helps me out. First and foremost, does it provide any primitive that can be used for automation? C++ brought destructors, Rust did a Drop trait. What do you have? Second, does it provide any way to operate on types? C++ got templates, Rust offers generics. What do you have? Third, does it provide useful c…

> We have learned things since then. Have you? We have learned to read the documentation before we judge things.

Most systems don't merit reading the documentation; if it doesn't look markedly better, I'm moving on.

Re: The Hare programming language

#319

Earlier quoted context omitted.

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.

> Rust may not have SFINAE but C++ doesn't have for , Phantom data or Pin. I'll grant you PhantomData, but I'd argue with the other two. C++ does have lifetimes and pinning semantics, they're just implicit and (largely) taken for granted. That is, until you cause memory unsafety with either. IMO, the overall pattern between C++ and Rust is that "advanced" use requires many of the same skills between the two, but that…

> C++ does have lifetimes and pinning semantics, they're just implicit and (largely) taken for granted.

C++ does have pinning, but it is much rarer than in Rust because of user-defined move constructors.

Re: The Hare programming language

#320

This looks quite nice, actually. The negativity in the comments seems a bit heavy. I really like the idea of a language that is as (or almost as) simple as C but with many of the footguns removed.

Standard HN. Henry Ford and his faster horse would be spinning in their graves.

Another day another group of people criticising a language they’ve never tried.

If you paint a house grab a paint brush. If you need to hang a picture a hammer and a nail.

Writing a program? Pick the best language for the job.

Post reply on HN