Skip to content
0:00 / 0:00

#clojure#clojure.spec#maybetype

Maybe Not - Rich Hickey

ClojureTV

111K subscribers • 159 videos on Hallway

YouTube
  • Recommended by 19 people: 14 on Hacker News, 1 on Lobsters and 4 in engineering communities.
  • A classic. People kept recommending it from 2018 to 2024.
  • Presented by Rich Hickey, creator of Clojure
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

181K views7 years ago19 recommendations

Software designProgramming languagesLanguage design and type systemsLisp and ClojureDesign patterns

Rich Hickey argues that Maybe and Option types are poor tools for modeling data that changes over time, presenting Clojure spec as an alternative.

The uploader added no description.

Why it's here

19 people recommend this, 1 disputes it

What people say. Highly recommended for its paradigm-shifting perspective on domain modeling, nulls, and the limitations of static Option types.

Moments people linked to

u/eval2020in r/Clojure • Recommends

Maybe Not - Rich Hickey

u/magmastin r/ProgrammingLanguages • Recommends

…lks and he is giving some good reasons why he thinks that dynamic typing is actually better, like making your code less coupled, not something like "I'm lazy and don't want to write type annotations". And his talks made me to start thinking if he is right and would love to hear your opinions about the topic. Here is one of the talks I said about: link to this video EDIT: I have missed the point about programming speed. It is not about the requirement to write type annotations when inference doesn't work. It's about designing traits, interfaces etc. to make the type system express the thing you actually want. So my bad, and thanks for explaining it to me.…

u/JavaSuckin r/Kotlin • Recommends

Rich Hickey likes Kotlin's approach to nullability
43View on Reddit

sulamion Lobsters • Recommends

Maybe Not - Rich Hickey

u/xtreakin r/haskell • Recommends

Maybe Not - Rich Hickey

slifinon Hacker News • Recommends

On “Clojure REBL [video]”

While we're talking about this conference, rich hickey just changed how I think about domain modelling forever with this talk, released about an hour ago: link to this video Strongly recommend a watch particularly if you're modelling something in a typed language

gambleron Hacker News • Recommends

On “NULL: The worst mistake of computer science? (2015)”

Rich Hickey's "Maybe Not" should be watched by anyone who thinks nulls/nils/undefineds are okay. It should also be watched by anyone who think that Optional/Maybe/Nullable and good enough: link to this video

ttiuranion Hacker News • Recommends

On “Ask HN: Best talks of 2018?”

"Maybe Not" by Rich Hickey: link to this video Another excellent talk by the creator of Clojure, and like the previous ones, relevant for all programmers.

vga805on Hacker News • Recommends

On “Porting 30K lines of code from Flow to TypeScript”

…to fight with the compiler. BUT, I vastly prefer TypeScript to JavaScript because JS has a lot of foot-guns. I think when we get the existential operator, it will have less foot-guns, but I will probably never again write a new project for work in JS from scratch. I really love the ideas Rich Hickey put forth in his most recent Clojure conj talk: link to this video The ability to spec out the shape of an object, and then in the different contexts in which you need some of that data, specify what you need, is an awesome solution to optionality (Watch the talk!). I absolutely love how much thought RH has put into the design of Clojure, and I think the final release of spec will be a close to perfect bal…

MarkMarineon Hacker News • Recommends

On “Programming languages that blew my mind (2023)”

…entially maps, and how rigid that makes every aspect of your programs. Currently I deal with a fairly large go monolith that had some clean code practices in it, and changing a single field that is going to make it into the public API ends up being hundreds or thousands of lines of changes. Such a waste of time to CRUD what is a map of strings. 1. link to this video…

jpittison Hacker News • Recommends

On “Party REPL – A multi-player REPL built for pair-programming [video]”

Conj always makes me so envious. So many good talks. This one, the Rich Hickey one on Maybe, the Stuart Halloway one on REBL. Any other must watches? Hickey: link to this video Halloway: link

draw_downon Hacker News • Recommends

On “NULL: The worst mistake of computer science? (2015)”

…usage as well. (e.g. My function changes from maybe giving you a Book or maybe not, to definitely providing you a Book. So I change its return type from `Maybe Book` to `Book`. Except, oops, I just broke every single caller of my function, even though I strengthened the guarantee of the data my function will provide. That shouldn't break anyone.) link to this video (Discussion of Option/Maybe starts…

jmiskovicon Hacker News • Recommends

On “Clojure: A Lisp that wants to spread”

I would say Clojure more than substantial returns of invested time. Not just the language itself, but also the wider approach to software composition, feature accretion vs backward compatibility, schema'd dynamic typing seem benefictial no matter what your development tools you use. Maybe check out the talks below and see if they don't enRich you as software engineer. link The Language of the System link Design, Composition, and Performance link Spec-ulation link to this video Maybe Not

t0astbreadon Hacker News • Recommends

On “Show HN: IHP, a batteries-included web framework built on Haskell and Nix”

Because you mentioned Result specifically: I've recently seen a talk by Rich Hickey that (for me) made a pretty strong case against Result/Maybe/etc. and for union types instead. Maybe you'll find it interesting: link to this video

tantamanon Hacker News • Recommends

On “From Rust to TypeScript”

Please please please don't perpetuate the use of either or maybe types :( They make software very hard to maintain and end up breaking anyone who depends on a library that uses them. Rich Hickey (author of Clojure) has a great discussion of Either and Maybe here: link to this video that dives into their unsoundness.

nerdponxon Hacker News • Recommends

On “Some thoughts about raising the profile of Lisp”

…: - "Common Lisp for the Curious Clojurian" by Alan Diepert. A very lucid side-by-side comparison of Clojure and Common Lisp; assumes some but doesn't really require much knowledge of Clojure. link - "Maybe Not" by Rich Hickey. An unusual but thoughtful take on "types" in programming, which I think cuts to the heart of what Clojure is all about. link to this video - "Immutable Conversations - Common Lisp" interview with Alejandro Serrano and Michał "phoe" Herda. Demonstrates the deep programmability and flexibility of the Common Lisp runtime, including its unique "condition system". link…