Advertisement · 728 × 90

Posts by Sebastian Graf

Typst preprints in arXiv: What will it take? | Typst Meetup
Typst preprints in arXiv: What will it take? | Typst Meetup YouTube video by Typst

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...

1 month ago 91 19 2 5
Preview
‎Gemini - direct access to Google AI Created with Gemini

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...

2 months ago 1 0 0 0

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")

6 months ago 1 0 0 0

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.

6 months ago 1 0 2 0

How about pair syntax? Or a more general record destructing syntax (that's how it works in Lean)

6 months ago 1 0 1 0

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.

7 months ago 0 0 0 0

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.

7 months ago 1 0 0 0
Advertisement
Preview
RecursiveLet by ocharles · Pull Request #401 · ghc-proposals/ghc-proposals This is a proposal to allow Haskell developers to distinguish bindings that are self-referentially recursive from non-recursive bindings through the new RecursiveLet/NoRecursiveLet language extensi...

A classic... I keep losing hours to this as well. Solution is to implement a linter as described here: github.com/ghc-proposal...

7 months ago 2 0 2 0
Effekt Language: Language Evolution A language with lexical effect handlers and lightweight effect polymorphism

Apparently they do support first class functions since 2022: effekt-lang.org/evolution

8 months ago 1 0 1 0
Effekt Language: Home A language with lexical effect handlers and lightweight effect polymorphism

You might enjoy effekt-lang.org#intro-polymo.... I think their notion of implicit effect polymorphism is pretty usable

8 months ago 2 0 1 0

Paulette Koronkevich, William J. Bowman
One Weird Trick to Untie Landin's Knot
https://arxiv.org/abs/2507.21317

8 months ago 4 3 0 0
Preview
GHC LTS Releases | The Haskell Programming Language's blog

GHC will start maintaining an LTS release – blog.haskell.org/ghc-lts-rele... by @andreaspk.bsky.social

#Haskell

9 months ago 17 8 0 0

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.

9 months ago 19 4 1 1

Have you tried Lean's InfoView? :)

9 months ago 1 0 0 0
Post image

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

9 months ago 24 9 1 0
Advertisement

(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)

9 months ago 1 0 0 0

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?

9 months ago 1 0 2 0

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?

9 months ago 1 0 2 0

But it's not really efficient unless the compiler inlines it for you

9 months ago 2 0 1 0
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.

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

10 months ago 1854 689 10 15

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...

10 months ago 4 0 0 0

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...

10 months ago 14 4 1 0
Advertisement

I would very much like to be liked or loathed like this

10 months ago 0 0 0 0
Post image

📣 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

11 months ago 9 2 1 0
Post image

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/

1 year ago 449 213 16 21
Post image

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

1 year ago 1173 448 61 57
Post image

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

1 year ago 4 3 0 0

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.

1 year ago 1 0 0 0
Post image

👩‍💻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

1 year ago 16 5 3 0
Recursive subtyping for all | Journal of Functional Programming | Cambridge Core Recursive subtyping for all - Volume 35

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.

1 year ago 2 1 0 0
Advertisement