frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

The Lisp in the Cellar: Dependent types that live upstairs [pdf]

https://zenodo.org/records/15424968
88•todsacerdoti•11mo ago
Downloadable: https://zenodo.org/records/15424968/files/deputy-els.pdf

Comments

droideqa•11mo ago
Sadly "deputy clojure" on Google brings no results...

The only hint is this repo[0] referenced in the paper.

[0]: https://gitlab.com/fredokun/deputy

agumonkey•11mo ago
Pretty readable code
reuben364•11mo ago
Thinking out aloud here.

One pattern that I have frequently used in EMACS elisp is that redefining a top-level value overwrites that value rather than shadowing it. Basically hot reloading. This doesn't work in a dependently typed context as the type of subsequent definitions can depend on values of earlier definitions.

    def t := string
    def x: t := "asdf"
    redef t := int
redefining t here would cause x to fail to type check. So the only options are to either shadow the variable t, or have redefinitions type-check all terms whose types depend on the value being redefined.

Excluding the type-level debugging they mention, I think a lean style language-server is a better approach. Otherwise you are basically using an append-only ed to edit your environment rather than a vi.

extrabajs•11mo ago
I don’t see the connection to dependent types. But anyway, is ‘redef’ part of your language? What type would you give it?
reuben364•11mo ago
I just wrote redef to emphasize that I'm not shadowing the original definition.

    def a := 1
    def f x := a * x
    -- at this point f 1 evaluates to 1
    redef a := 2
    -- at this point f 1 evaluates to 2
But with dependent types, types can depend on prior values (in the previous example the type of x depends on the value t in the most direct way possible, as the type of x is t). If you redefine values, the subsequent definitions may not type-check anymore.
extrabajs•11mo ago
I see what you mean. But would you not experience the same sort of issue simply from redefining types in the same way? It seems this kind of destructive operation (whether on types or terms) is the issue. As someone who's used to ML, it seems strange to allow this kind of thing (instead of simply shadowing), but maybe it's a Lisp thing?
resize2996•11mo ago
> EMACS elisp

I used this to write the front end for an ATM machine.

wk_end•11mo ago
I've fantasized about some kind of a dependently-typed Smalltalk-like thing before, and in those fantasies the solution would be that changes would be submitted in the form of transactions - they wouldn't be live until you bundled them all together into one big change that would be fully type-checked, as you describe.
kscarlet•11mo ago
The only option that you described is called "hyperstatic global environment".

And it is called that for a reason, it is not very dynamic :) and probably too static to the taste of many Lisp and all Smalltalk fans.

dang•11mo ago
Any URL for this that we can open in a browser (as opposed to the dreaded "Content-Disposition: attachment")?
Jtsummers•11mo ago
https://zenodo.org/records/15424968 - This at least takes you to a webpage where you can view the paper. If you select to download it, it still downloads of course instead of just opening in the browser.
dang•11mo ago
Thanks! I've switched to that above, and put the downloadable link in the top text.
reikonomusha•11mo ago
Related context: The 2025 European Lisp Symposium [1] was just wrapped a few hours ago in Zurich. There was content on:

- Static typing a la Haskell with Coalton in Common Lisp

- Dependent typing with Deputy in Clojure (this post)

- The Common Lisp compiler SBCL ported to the Nintendo Switch

- Common Lisp and AI/deep learning

- A special retrospective on Modula and Oberon

- Many lightning talks.

[1] https://european-lisp-symposium.org/2025/index.html

no_wizard•11mo ago
I feel like Lisp would be an ideal language for AI development. Its exceedingly good for DSL development and pattern matching. Its already structurally like math notation as well, which I would think would lend itself to thinking how models would consume information and learn
rscho•11mo ago
Well... believe it or not, some have thought of using lisp for AI for quite some time. ;-)
froh•11mo ago
indeed.

Peter Norvig, 1992

Paradigms of AI Programming: Case Studies in Common Lisp

https://g.co/kgs/hck8wsE

https://en.m.wikipedia.org/wiki/Peter_Norvig

it's no coincidence Google is actively maintaining sbcl, either.

Zambyte•11mo ago
Why not go all the way to the source? John McCarthy coined the term "artificial intelligence", and then invented / discovered LISP in pursuit of it in the 1950s :D
ayrtondesozzla•11mo ago
https://quantumzeitgeist.com/lisp-and-the-dawn-of-artificial...

Lisp was the de facto language of artificial intelligence in the U.S. for many years. Apparently Prolog was popular in Europe (according to Norvig's PAIP)

fithisux•11mo ago
Impressive.

Uber Torches 2026 AI Budget on Claude Code in Four Months

https://www.briefs.co/news/uber-torches-entire-2026-ai-budget-on-claude-code-in-four-months/
269•lwhsiao•2h ago•276 comments

Ask HN: Who is hiring? (May 2026)

132•whoishiring•3h ago•140 comments

whohas – Command-line utility for cross-distro, cross-repository package search

https://github.com/whohas/whohas
65•peter_d_sherman•3h ago•16 comments

Flock cameras keep telling police a man who doesn't have a warrant has a warrant

https://www.youtube.com/watch?v=nHwxV0Sd9V8
87•johnbarron•59m ago•54 comments

Ask HN: Who wants to be hired? (May 2026)

75•whoishiring•3h ago•138 comments

Sally McKee, who coined the term "the memory wall", has died

https://www.online-tribute.com/SallyMcKee
72•deater•3h ago•8 comments

Show HN: My Private GitHub on Postgres

https://github.com/calebwin/gitgres
9•calebhwin•45m ago•3 comments

Understand Anything

https://github.com/Lum1104/Understand-Anything
11•taubek•58m ago•2 comments

Running Adobe's 1991 PostScript Interpreter in the Browser

https://www.pagetable.com/?p=1854
96•ingve•6h ago•19 comments

Your Website Is Not for You

https://websmith.studio/blog/your-website-is-not-for-you/
219•pumbaa•7h ago•153 comments

I'm Peter Roberts, immigration attorney who does work for YC and startups. AMA

84•proberts•3h ago•123 comments

An open letter asking NHS England to keep its code open

https://keepthingsopen.com
123•tvararu•3h ago•7 comments

AWS stops billing Middle East cloud customers as repairs to war damage drag on

https://arstechnica.com/gadgets/2026/05/amazon-stuck-with-months-of-repairs-after-drone-strikes-o...
22•johnbarron•56m ago•3 comments

AI Uses Less Water Than the Public Thinks

https://californiawaterblog.com/2026/04/26/ai-water-use-distractions-and-lessons-for-california/
6•hirpslop•1h ago•2 comments

Advanced Quantization Algorithm for LLMs

https://github.com/intel/auto-round
90•lastdong•9h ago•13 comments

New copy of earliest poem in English, written 1,3k years ago, discovered in Rome

https://www.tcd.ie/news_events/articles/2026/caedmons-hymn-discovery/
179•giuliomagnifico•2d ago•108 comments

Show HN: Loopsy, a way for terminals and AI agents on different machines to talk

https://github.com/leox255/loopsy
27•todience•7h ago•7 comments

Engineering tough blood clots for rapid haemostasis and enhanced regeneration

https://www.nature.com/articles/s41586-026-10412-y
5•warbaker•1d ago•1 comments

Show HN: Perfect Bluetooth MIDI for Windows

89•mayerwin•8h ago•24 comments

OpenWarp

https://openwarp.zerx.dev
175•zero-lab•16h ago•129 comments

Shai-Hulud Themed Malware Found in the PyTorch Lightning AI Training Library

https://semgrep.dev/blog/2026/malicious-dependency-in-pytorch-lightning-used-for-ai-training/
449•j12y•1d ago•171 comments

Opus 4.7 knows the real Kelsey

https://www.theargumentmag.com/p/i-can-never-talk-to-an-ai-anonymously
441•ilamont•2d ago•238 comments

Grok 4.3

https://docs.x.ai/developers/models/grok-4.3
342•simianwords•9h ago•452 comments

Maladaptive Frugality

https://herbertlui.net/maladaptive-frugality/
193•herbertl•2d ago•210 comments

Softmax, can you derive the Jacobian? And should you care?

https://idlemachines.co.uk/essays/softmax
107•smaddrellmander•3d ago•41 comments

How an oil refinery works

https://www.construction-physics.com/p/how-an-oil-refinery-works
503•chmaynard•1d ago•173 comments

Show HN: WhatCable, a tiny menu bar app for inspecting USB-C cables

https://github.com/darrylmorley/whatcable
293•sleepingNomad•9h ago•110 comments

If I could make my own GitHub

https://matduggan.com/if-i-could-make-my-own-github/
115•matricaria•1d ago•132 comments

Claude Code refuses requests or charges extra if your commits mention "OpenClaw"

https://twitter.com/theo/status/2049645973350363168
1292•elmean•1d ago•696 comments

A Letter from Dijkstra on APL (1982)

https://www.jsoftware.com/papers/Dijkstra_Letter.htm
38•tosh•6h ago•32 comments