Slide 1

Slide 1 text

Fun of writing Unison Yoshikuni Kato FP AMS, 10.09.2025 1

Slide 2

Slide 2 text

Unison • Unison is a friendly programming language from the future: statically-typed, functional, and a lot of fun1 • ML-like syntax • Implemented in functional stack: Haskell, Elm • Have you used Unison before? 1 https://www.unison-lang.org/ 2

Slide 3

Slide 3 text

My libraries • @yoching/units - Unit conversion and calculation • @yoching/codable - Ergonomic data decoding and encoding • With Abilities Both on Unison Share. I will share how I write Unison with demo. 3

Slide 4

Slide 4 text

Unison Characteristics • Content-addressed & Unison Codebase Manager • Abilities: Algebraic Effects • Distributed computing & Unison Cloud • Unison Share: GitHub for Unison • Computable documentation 4

Slide 5

Slide 5 text

Content-addressed & UCM • functions/terms/types are referenced by hash of the Abstruct Syntax Tree. Names are aliases to the hash • Code is stored in a database as serialized AST with its hash (=“codebase”) • Tool to access the codebase = Unison Codebase Manager 5

Slide 6

Slide 6 text

Live Demo 6

Slide 7

Slide 7 text

Unison experience • Updating codebase is safe, easy, and quick • Substitutes a lot of work IDEs currently do • Future of programming? • Unison is a friendly programming language from the future 7

Slide 8

Slide 8 text

Tips • Get used to the tooling first. Ability (algebraic effects) next • There is Dutch Unison Meetup • Check #meetups of Unison Discord 8

Slide 9

Slide 9 text

Yoshikuni Kato • Software engineer since 2013, ! -> " -> # , University of Tokyo alumni • Now freelancing • TS/Swift/Python for client projects, Elm/Unison for OSS • Organizing Amsterdam Casual FP meetup - unconference style • Open to new projects soon (maybe FP?) 9