frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Clojure 1.13 adds support for checked keys

https://clojure.org/news/2026/07/02/clojure-1-13-alpha1
90•FelipeCortez•3d ago

Comments

slifin•46m ago
This is a case I never really thought about - if the key is missing today you'll get nil as the value and since Clojure is a nil punning language it usually does sensible behaviour in your program

I know this sounds unreliable but in practise I like a language that defaults to pragmatic code paths so I don't have to stay up at night imagining a million code paths

This adds a throwing codepath which is quite drastic so I'm glad people don't build this into programs everywhere - I'd be nice to hear what the team imagine as the use case for this

Normally for correctness I'd like to see specs at the boundaries for programs and different test suites for internal behaviours

ndr•45m ago
Is it only me or this sounds a bit counter to clojure philosophy?
erichocean•37m ago
It's 100% opt-in at the call site and doesn't affect existing code, so no?

Many people (including myself) already have checked key variants for maps; this mainly extends the syntax to destructuring too.

rads•29m ago
The maps are still open to new keys even if some keys are checked. I think that fits in with how clojure.spec and Malli work already, but in a lighter syntax.
summarybot•3m ago
As a Clojurist the standard pattern for ensuring keys-are-set before doing-something is not-as-elegant-as-this. Clojure is full of macros that do useful things :) Simplifying oft-used patterns into compact representations is very on-brand. Plus, you need this like, all the time.

This will eliminate two whole classes of errors: 1) where keys are supplied a value at an undesired nesting-level. 2) where keys are not-yet-set for some other reason.

For the many programmers who have to write in checks and verifications themselves for this, this saves quite a bit of time, removing the interruption from coding and restoring the flow of getting logic-to-symbol.

hk__2•24m ago
Some explanations from https://clojure.atlassian.net/browse/CLJ-2961:

> Clojure’s idiomatic use of maps has proven valuable, but missing required keys, misspelled keys, and invalid values can lead to failures that do not connect to the actual source of the problem (e.g. NPEs) making diagnosis difficult. At the same time, Clojure lacks a simple inline mechanism for functions to document and check the keys they require and accept. Existing tools either separate those expectations from the function itself or couple data shape and data provision.

moomin•16m ago
This is actually great, and I predict that fans of nil-punning will rapidly discover the joys of actually having errors trigger where the error was introduced rather than propagating through the program.

Any news on ClojureScript gaining the feature?

temporallobe•10m ago
We just updated one of our projects to 1.12.5, but I might push for 1.13 as this could be very useful, although an alpha version might raise questions.

Aluminum foil (2021)

https://dernocua.github.io/notes/aluminum-foil.html
88•firephox•2h ago•29 comments

Road to Elm 1.0

https://elm-lang.org/news/faster-builds
180•wolfadex•4h ago•80 comments

Do you really need separate systems when you already have Postgres?

https://postgresisenough.dev/
31•b-man•1h ago•9 comments

Fable 5 On Vending-Bench: Misbehaving, With Plausible Deniability

https://andonlabs.com/blog/fable5-vending-bench
80•optimalsolver•3h ago•34 comments

Real-time map of Great Britain's rail network

https://www.map.signalbox.io
296•scrlk•6h ago•112 comments

1k Words: A Writing Contest

https://writingclub.world/1picture1000words
14•surprisetalk•29m ago•3 comments

Multilingual Experience Linked to Delayed Aging in Populations and Individuals

https://fens2026.abstractserver.com/program/#/details/presentations/5474
10•bookofjoe•55m ago•0 comments

How Kalshi Infects the News

https://www.publicnotice.co/p/kalshi-cnn-cnbc
66•everybodyknows•2h ago•40 comments

Clojure 1.13 adds support for checked keys

https://clojure.org/news/2026/07/02/clojure-1-13-alpha1
90•FelipeCortez•3d ago•8 comments

Emily Bender Sets the Record Straight on "Stochastic Parrots"

https://spectrum.ieee.org/stochastic-parrot
78•digital55•1h ago•73 comments

Nintendo announces new product revisions in Europe with replaceable batteries

https://www.nintendo.com/en-gb/Support/Nintendo-Switch-2/Information-about-upcoming-battery-relat...
143•akyuu•2h ago•89 comments

When 2+2=5

https://arstechnica.com/security/2026/06/ai-browsers-can-be-lulled-into-a-dream-world-where-guard...
31•noashavit•3d ago•17 comments

Car touchscreens are cheap, not good

https://ben.stolovitz.com/posts/car-touchscreens-are-cheap-not-good/
6•citelao•24m ago•4 comments

Introduction to Genomics for Engineers

https://learngenomics.dev/docs/biological-foundations/cells-genomes-dna-chromosomes/
148•yreg•4d ago•24 comments

GPT-5.6 Sol Ultra will be in Codex

https://twitter.com/thsottiaux/status/2073933490513752151
380•mfiguiere•14h ago•327 comments

Apricot Computers: An underrated British brand

https://dfarq.homeip.net/apricot-computers-an-underrated-british-brand/
47•giuliomagnifico•5d ago•13 comments

Why low-latency Java still requires discipline?

https://chronicle.software/insights/blogs/why-low-latency-java-still-requires-discipline
46•theanonymousone•2h ago•22 comments

Show HN: Scan your AI agents for dangerous capabilities

https://github.com/makerchecker/MakerChecker
32•smashini•2h ago•17 comments

Workers Cache

https://blog.cloudflare.com/workers-cache/
167•ilreb•2h ago•66 comments

AMD Ryzen AI Halo – $4k AI Dev Kit

https://www.lttlabs.com/articles/2026/07/06/amd-ryzen-ai-halo
40•LabsLucas•58m ago•40 comments

Electric anti-aircraft interceptor drone breaks world air speed record at 434mph

https://www.tomshardware.com/tech-industry/drones/electric-drone-breaks-world-air-speed-record-at...
14•LorenDB•34m ago•6 comments

Has_not_been_viewed_much

https://iamwillwang.com/notes/has-not-been-viewed-much/
421•wxw•16h ago•112 comments

Building relationships with customers through support didn't turn out as hoped

https://www.uncommonapps.nyc/p/castro-podcasts-things-i-got-wrong-support
262•dabluck•13h ago•162 comments

Google Chrome Installed a 4GB AI Model on Your PC

https://oztalking.com/en/issues/hidden-4gb-ai-model
3•haebom•57m ago•2 comments

Amazon will stop accepting new customers for Mechanical Turk

https://techcrunch.com/2026/07/05/amazon-will-stop-accepting-new-customers-for-mechanical-turk/
74•bookofjoe•3h ago•18 comments

Resetting Xbox

https://news.xbox.com/en-us/2026/07/06/resetting-xbox/
76•dijksterhuis•1h ago•32 comments

Lost and Found

https://walzr.com/lost-and-found
17•walz•14h ago•5 comments

The Complete Homemade Juggling Beanbag Guide

https://www.joshuaclifton.com/juggle/
49•mrauha•4d ago•5 comments

DOJ Closing Abbott Labs Case Spurs Wider Corporate Crime Retreat

https://news.bloomberglaw.com/us-law-week/doj-closing-abbott-labs-case-spurs-wider-corporate-crim...
24•petethomas•1h ago•1 comments

C programmers commit fresh crimes against readability

https://www.theregister.com/offbeat/2026/07/05/c-programmers-commit-fresh-crimes-against-readabil...
96•Bender•4h ago•14 comments