Skip to content
0:00 / 0:00

#symmetricmonoidalcategories#arrows#linearfunctions

Haskell 2021 - Evaluating Linear Functions to Symmetric Monoidal Categories

ACM SIGPLAN

11K subscribers • 61 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.

Advanced. Deep dive for people who know the field.

786 views5 years ago2 recommendations

Programming languagesComputer scienceHaskellComputation and complexityLanguage design and type systems

A presentation from the Haskell 2021 symposium on converting linear functions to symmetric monoidal categories as an alternative to arrows.

icfp21.sigplan.org/details/haskellsymp-2021/2/Evaluating-Lin…

Why it's here

2 people recommend this

What people say. Recommended as an alternative to arrows for modeling boxes connected by wires in Haskell.

u/Noughtmarein r/haskell • Recommends

On “Alternative to arrows?”

> None of these features require arr :: (x -> y) -> a x y (a “prearrow”), and it would be a huge advantage not to require the ability to lift arbitrary Haskell functions into every arrow. I think the paper Evaluating Linear Functions to Symmetric Monoidal Categories basically does that. It promises a better model of "boxes connected by wires". There's also a presentation on YouTube from the Haskell 2021 symposium. It is implemented in the `linear-smc` package on Hackage.

u/Noughtmarein r/haskell • Recommends

On “Is it possible to write a definitional interpreter in Applicative style?”

I think Arrows or more generally Symmetric Monoidal Categories or Cartesian Closed Categories are better abstractions if you want to explore languages that do not fit in the monadic model.

u/_jackdk_in r/haskell • Recommends

On “Are electrical circuits free applicatives?”

You may be interested in Conal Elliott's Compiling to Categories work and its later extension by KittyHawk. There's also some recent related work on converting between linear functions and symmetric monoidal categories.

u/Noughtmarein r/haskell • Recommends

On “F-algebras versus regular recursion”

I don't think arrows are really a good abstraction, see the beginning of this talk: link to this video They present an alternative using linear functions that you can use in Haskell today, but I think directly having support for compiling to (cartesian/monoidal closed) categories would be even nicer.