Bluefin is a capability system
Bluefin is an effect system that refers to capabilities, which are program entities referencing resources and granting authority to access them. Introduced in early 2024, it builds upon Andrzej Rybczak's effectful system, differing by indicating effects through value-level arguments rather than constraints at the type level. The concept of capabilities originated in operating systems for security purposes, with examples including file handles and inter-process communication via mailboxes. Capabilities grant specific access rights, allowing communication between processes.
Although traditionally associated with security, capabilities can be applied more broadly. Effect systems, like Bluefin, can be viewed as capability systems, allowing programmers to circumscribe the range of externally visible behaviors of program components. In Haskell, effect systems typically involve constraints at the type level, but Bluefin broadens this by indicating effects through value-level arguments.
This allows definitions of program components that are forbidden from performing effects outside a specified set, enabling operations to be pure functions or purely mathematical functions when no externally visible effects are permitted.
Written by urgent.news from Lobsters's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.