Prism: An Impure Functional Language with Typed Effects
stephendiehl.com