https://h2.jaguarpaw.co.uk/posts/bluefin-capability-system/
On Thu, 3 Sept 2026 at 07:56, Vinícius dos Santos Oliveira <vini.i...@gmail.com> wrote:https://h2.jaguarpaw.co.uk/posts/bluefin-capability-system/
I'm doubtful that you can do a capability system in haskell, given the existence of unsafePerformIO.
Cool, I'm curious if anyone knows of anything along these lines that
also has something that tracks memory allocations as effects too,
with something like keykos spacebanks. Koka seems to have an alloc
effect, but it doesn't quite seem to correlate to not producing the
alloc effect == no memory based denial of service. It seems like the
alloc effect is more about allocation of shared references, than space
usage.
Plus it allows "benign effects", which if you alloc/dealloc within the
function the effects cancel one another out.
But that seems like it is not so benign for the case where you try to
allocate more than available memory.
Where presumably there are two options, either panic or never return.
On Thu, 3 Sept 2026 at 07:56, Vinícius dos Santos Oliveira <vini.i...@gmail.com> wrote:
https://h2.jaguarpaw.co.uk/posts/bluefin-capability-system/I'm doubtful that you can do a capability system in haskell, given the existence of unsafePerformIO.
Safe Haskell lets you verify that no such escape hatch is used in the module you're compiling, nor any module imported, transitively.
With Safe Haskell, you remove globally mutable state, because by using unsafePerformIO, you can put a mutable reference in a variable exported by a module. With Safe Haskell, this isn't possible anymore. Any mutable state can only be used downstream of if its creation in a IO action.
Curiously,
Pierre Thierry
--
pie...@nothos.net 0xD9D50D8A
On Thu, 3 Sept 2026 at 12:49, William ML Leslie <william.l...@gmail.com> wrote:On Thu, 3 Sept 2026 at 07:56, Vinícius dos Santos Oliveira <vini.i...@gmail.com> wrote:https://h2.jaguarpaw.co.uk/posts/bluefin-capability-system/
I'm doubtful that you can do a capability system in haskell, given the existence of unsafePerformIO.I clicked through this reference, which is a really comprehensive post!
It mentions that this is called "safe haskell". I was not aware of this.
--William ML LesliePlausible, not normative.
--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAHgd1hHivEPipMrjkJvBwx8YH8Dvgn-TUsbXyAVJPu7rkRzeKg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "friam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to friam+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/friam/CAHgd1hGYYqP%2B8i-_wHs7OXd3s964g8xA_P12Co%2BR3vymfc7wUA%40mail.gmail.com.