Hacker Newsnew | past | comments | ask | show | jobs | submit | tome's commentslogin

Why would you want to be pissed off when you could be excited?

Excitement is for when good things happen.

A promotion is only a good thing if you actually benefit from it


What do you mean? Because management says it makes you too slow? Or is it unacceptable for some other reason?

> > But it would have bad ergonomics and still end up with a SecurityManager equivalent because a DSL for permissions is more convenient than doing it all in code. > > This might be the core contention. I don't know if using actual capabilities in a language would have problematically bad ergonomics. You'd probably be passing more arguments to functions. But haskell seems to manage ok despite needing to pass IO to functions that need it. Capabilities seem similarly inconvenient. I think I'd need to see it tried. I agree - I might need to try it myself.

You can try it now yourself in Haskell! This is my effect system, based on capabilities: https://hackage.haskell.org/package/bluefin

One of the common objections I hear to Bluefin is "isn't it too inconvenient to pass around capabilities everywhere?". Perhaps surprisingly, no, I haven't found it remotely inconvenient. I find it liberating, actually.


In Bluefin, IOE (which allows you to do I/O, i.e. what Haskell's IO also allows you to do) is an argument, and therefore not a color under your interpretation.

https://hackage.haskell.org/package/bluefin-0.0.7.0/docs/Blu...


You mean under TFA's interpretation?


What's the difference?


Person you replied to said colour is language specific, not preserved by compilation (or decompilation), and I think you'd agree with that.


I think nextaccountic is not technically fully correct, but he/she is at least correct in the most important part: Safe Haskell is not really practical.

But if you don't want an ironclad guarantee and instead you're content with making wrong code obviously wrong even if it's not formally verified, then I recommend Haskell with a capability system (what the Haskell world calls an "effect system"). As far is I'm concerned there are two practical choices in 2026, Bluefin (mine) and effectful (one of Bluefin's inspirations)

* https://hackage.haskell.org/package/bluefin

* https://hackage.haskell.org/package/effectful


How does this compare to Spritely Goblins? I had a good chat with Christine about it at a conference. She said "Ah, you've been infected with the capabilities virus too. My condolences."

https://spritely.institute/goblins/


Interesting, I have not heard of Spritely Goblins! But neither Bluefin nor effectful could be described as distributed capability systems/effect systems, so I don't think they're comparable.

On infection, I think it's a bit like being infected by mitochondria :)


People don’t say "Haskell makes it impossible to write bugs"! You may have heard "if it compiles it works" which is somewhat tongue in cheek, but also true for a sufficiently loose interpretation of "works" in a way it is not true for languages with a less strong and flexible type system.


I'll blow my own trumpet and promote my own Haskell capabilities library, Bluefin: https://hackage.haskell.org/package/bluefin

Bluefin is used in production, and as far as I know capability is not.


That looks really cool. Can you narrow Bluefin.IO to reads/writes separately? One of the things I've worked on is the ability to allow code to read files, even specific files, but deny writes.


Yeah you can write a capability that encapsulates exactly whatever effects that you like!


Did this start as an effect system and then capabilities shook out naturally?


Yes! It started as an implementation of the effect system I always wanted: effects passed on the value level, rather than implicitly on the type level. Once I'd done that I realise that it was actually a capability system (and that was the better way of describing it, because more people already know what a "capability system" is).


That’s not surprising there’s a lot of mechanical overlap between the two. It’s a really interesting relationship.


Yeah, I think they're basically identical concepts. I'm writing an article on that topic right now.


I’d love to read it!


Here you go! It's a complete document, but I'll continue to edit it over the next few days before I announce it. I'd love to hear any thoughts you have.

https://h2.jaguarpaw.co.uk/posts/bluefin-capability-system/


Awesome, I'll take a look and shoot you an email if I have anything interesting to say about it.


Cool, my contact details are on the front page of that site.


> The Twitter experience is a highly algorithmic feed ... that is, things they want you to see.

Not on Nitter! Which is the point, for me at least.


It's fascinating to me that there's no one in this thread arguing that AI is a bubble and it's all going to crash soon.


I mean, there's certainly silly money involved, but there's surely no credible doubt that AI is already really good at many valuable tasks.

So if there's a crash, doesn't that just leave us with a bunch of useful AI hardware whose costs have been written off? I wouldn't have thought that much changes what social impacts AI is going to have.


Which provider do you use for artificial compassion?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: