Did you know that arXiv is exploring to add Typst? The world's largest preprint archive faces unique challenges to keep science open. Join arXiv veteran Norbert Preining and learn what's ahead for arXiv and Typst.
www.youtube.com/watch?v=zNZl...
Posts by Sebastian Graf
Wow, Gemini-level AI would have been *so useful to learn* when I was starting my PhD. It gives a clearer explanation to the ties between Logical Relations, Parametricity and Abstract Interpretation than I have ever been able to peer from a single source anywhere: gemini.google.com/share/6ef829...
Would at least need syntax like `case x of (PSyn 42 |) -> ...`, where `|` delimits the "parameters" (visible version of "required constraints") from the "match variables" (visible versions of "provided constraints")
At least in Haskell, there's a semantic difference, though. You can't "parameterize" a pattern synonym. So `case x of ((==) 42 -> True) -> ...` where 42 is supposed to be a parameter of the pattern synonym is not really expressible in Haskell.
How about pair syntax? Or a more general record destructing syntax (that's how it works in Lean)
I would make that depends on whether macro expansion (_) happens before ANFisation in your language. Is there some precedent? It would be important to decide coherently.
In Lean, it would be A), I think.
As to <<loop>>: this is just the runtime detecting that a thunk that is already under evaluation is evaluated again. The first eval overwrites the thunk tag with a special tag for a "black hole". Evaluating a black hole crashes with the panic.
A classic... I keep losing hours to this as well. Solution is to implement a linter as described here: github.com/ghc-proposal...
You might enjoy effekt-lang.org#intro-polymo.... I think their notion of implicit effect polymorphism is pretty usable
Paulette Koronkevich, William J. Bowman
One Weird Trick to Untie Landin's Knot
https://arxiv.org/abs/2507.21317
GHC will start maintaining an LTS release – blog.haskell.org/ghc-lts-rele... by @andreaspk.bsky.social
#Haskell
Haskell is a great language if you follow all the same software engineering practices as in any other language. If you believe that Haskell is fundamental different from other languages, you ignore all the past decades' lessons learned about design and you write unmaintainable shit.
Have you tried Lean's InfoView? :)
Incredibly grateful to @sigplan.bsky.social and @sigplan-pldi.bsky.social for awarding #LeanLang the Programming Languages Software Award 2025 at #PLDI2025!
#LeanProver #FormalMethods #ProgrammingLanguages #Mathematics #SoftwareVerification
(Even after stack alloc it will be far slower to call an unknown function in tailRec than to jump to it's address directly, so I'm not sure whether this idea is practical)
If it really is primitive (so can't inline it), then the compiler needs special support for the closure passed to tailRec. It will never escape and hence its fvs can be allocated on the stack.
But how do you mutually recursive tail calls with tailRec?
I had assumed that the goal here is to implement tail call opt for this one special case. If you inline it, how can you still detect the special case? Or do you mean that your compiler can still spot tail recursion after inlining tailRec? In that case, what is so primitive about tailRec?
But it's not really efficient unless the compiler inlines it for you
HOMEWORK MACHINE The Homework Machine, oh the Homework Machine Most perfect contraption that's ever been seen. Just put in your homework, then drop in a dime, Snap on the switch, and in ten seconds' time, Your homework comes out, quick and clean as can be. Here it is — "nine plus four?" and the answer is "three." Three? Oh me ... I guess it's not as perfect As I thought it would be.
shel silverstein on the LLM, 1981
Your contributions to the community are amazing. Badly socialized people will always be assholes 🤷🏻 Though I suspect your point is rather that we should call out this behaviour for the health of our community. Fair point...
This is a really cool new #LeanLang project with some substantial pedagogical value! @teorth.bsky.social has put out a call looking for volunteers to "playtest" the WIP!
terrytao.wordpress.com/2025/05/31/a...
I would very much like to be liked or loathed like this
📣 TWO EXCITING NEW LEAN LECTURES!
Just released: Two Strachey Lectures from @compscioxford.bsky.social featuring Leo de Moura (Chief Architect, Lean FRO) and Kevin Buzzard (Professor, Imperial College). A thread on these must-see talks 🧵👇
#LeanLang #LeanProver
A record increase in atmospheric CO2 according to data released by NOAA gml.noaa.gov/ccgg/trends/..., much higher than projected in the Global Carbon Budget essd.copernicus.org/articles/17/....
This occurred in the presence of an El Niño (red bars, data also from NOAA!).
What does this mean?
1/
This is quite fun.
“America would be better off if more people worked in manufacturing.”
• 80% of Americans agree
• 20% disagree
“I would be better off if I worked in a factory.”
• 25% of Americans agree
• 73% disagree
• 2% currently work in a factory
t.co/ycnHVZ1gT1
Check out these great UX improvements in Lean 4.18!
✅ New gutter decorations for errors/warnings
🔧 "Unsolved goals" markers to guide your proof
🐙 "Goals accomplished!" celebrations
▶️ Try these now in the Lean4 VSCode extension: marketplace.visualstudio.com/items?itemNa...
#LeanLang #LeanProver
What notion of "type-level fixpoint" do you have in mind? Strong normalization of System F seems difficult to reconcile with the ability to encode general fixpoints, type-level or not.
👩💻Lean users: Lean 4.17 adds inlay hints for automatically-inserted implicit parameters: With autoImplicit enabled you’ll see in-editor visual feedback for parameters that Lean has automatically inferred, improving readability and making code less error-prone!
#LeanLang #LeanProver #DeveloperTools
Litao Zhou, Yaoda Zhou, Qianyong Wan and Bruno C.D.S. Oliveira present a new core calculus that extends F_≤ (a well known polymorphic calculus with bounded quantification) with isorecursive types, tackling the tricky combination of subtyping, recursive types, and bounded quantification.