#liquidhaskell name resolution overhaul fixes bugs that bothered me a lot -- https://www.tweag.io/blog/2025-03-20-lh-release/#name-resolution-overhaul
A hundred pull requests for Liquid Haskell

An overview of the improvements in the latest Liquid Haskell release

Readings shared October 15, 2025

The readings shared in Bluesky on 15 October 2025 are: Rely-guarantee verification of queue locks with proof support in Isabelle/HOL. ~ Robert J. Colvin, Scott Heiner, Peter Höfner, Roger C. Su. #ITP

Vestigium
Verifying the functional correctness of Braun trees with LiquidHaskell. ~ Felipe de León, Alberto Pardo, Marcos Viera. https://systemf.epfl.ch/etc/vstte2025/preprints/Verifying%20the%20Functional%20Correctness%20of%20Braun%20Trees%20with%20LiquidHaskell.pdf #Haskell #FunctionalProgramming #LiquidHaskell

Feeling great about my recent post @tweag's software engineering blog!

It tells the story of how (and why) I implemented qualified identifier support for refinement type aliases in #LiquidHaskell during my participation at #GSoC 2025.

Check it out!

https://www.tweag.io/blog/2025-09-11-qualified-aliases/

@haskell_foundation
#Haskell

Qualified Imports and Alias Resolution in Liquid Haskell

The story of how I implemented qualified aliases in Liquid Haskell

Google Summer of Code #gsoc blog post! Read @xg 's tour of his project to bring #LiquidHaskell a step closer to large code bases https://www.tweag.io/blog/2025-09-11-qualified-aliases/
Qualified Imports and Alias Resolution in Liquid Haskell

The story of how I implemented qualified aliases in Liquid Haskell

Just wrapped up the first half of my GSoC project on improving name resolution in Liquid Haskell (LH)! It’s been lots of fun—long hours of code reading, analysis, testing, and debugging. Not that those were the most exciting parts, but pushing through and gaining a deeper understanding of the system definitely was.

LH hooks into the compiler pipeline to turn special comment annotations (refining types using logical predicates) into constraints for an external SMT solver to check. My project focuses on a very narrow feature, but along the way I’ve run into all sorts of cool programming concepts—like generic traversals of data structures and strongly connected components in directed graphs—while working through the parsing, name resolution, and definition unfolding implementations.

I’m deeply grateful to Facundo Domínguez for his generous and thoughtful mentoring, which has made this a rich learning experience and given me valuable engineering insights. I expect new challenges ahead, but I’ll do my best to sneak in some optimizations and give legacy code a proper cleanup.

https://summerofcode.withgoogle.com/programs/2025/projects/ALSN6wwr

#Haskell #GHC #LiquidHaskell #GSoC

Google Summer of Code

Google Summer of Code is a global program focused on bringing more developers into open source software development.

As part of our (@[email protected] and yt) research on the usability of interactive theorem provers, we are conducting a study on the usage and state of tools and languages for type-driven development. We are interested in tools that encourage and facilitate type-driven development, especially in cases when they can help us reason about complex problems.

We are hoping to use your responses to identify the characteristic language features and tool interactions that enable type-driven development, with the eventual goals of enhancing them and bringing their benefits to a wider range of programmers.

Please fill in our anonymous, 10-minute survey here: https://tudelft.fra1.qualtrics.com/jfe/form/SV_bIsMxYTKUJkhVuS

You are welcome to participate if you have experience with any type-driven development tool, including dependently-typed languages (e.g., Coq, Lean, Agda), refinement types (e.g., Liquid Haskell), or even other static type systems (e.g., in Rust or Haskell).

P.S. In case you remember signing up for an interview with us in a previous survey and are now wondering whether that study will still go on, the answer is: yes! We’ve had to revise our schedule, but we are still excited to talk to you and will start inviting people for an interview soon.

#Agda #Coq #Rocq #Lean #LiquidHaskell #Rust #Haskell #TypeDrivenDevelopment #TyDe #DependentTypes #LiquidTypes #RefinementTypes #ProofAssistants #Survey

Type-Driven Development in Practice

Understanding the usage and state of tools and languages for Type-Driven Development

... #LiquidHaskell (restriction types, SMT solver) and the Isabelle proof assistant.

For example, look at the kind of assurances we can make about data at the type-level. This means the SMT solver can assure that certain logical constraints on types are provably true.

My code to verify a file ranking algo I made:

https://github.com/someodd/bore/blob/master/src/Bore/SpacecookieClone/Search/Verified.hs

bore/src/Bore/SpacecookieClone/Search/Verified.hs at master · someodd/bore

Build (and serve) gopherholes. Contribute to someodd/bore development by creating an account on GitHub.

GitHub
Readings shared September 13, 2024

The readings shared in Mastodon on September 13, 2024 are Readings shared September 12, 2024. #ITP #Lean4 #IsabelleHOL #Coq #Math #LLMs Reflecting away from definitions in Liquid Haskell. ~ Jonathan

Vestigium
Reflecting away from definitions in Liquid Haskell. ~ Jonathan Arnoult. https://www.tweag.io/blog/2024-09-12-lh-reflection #Haskell #FunctionalProgramming #LiquidHaskell
Reflecting away from definitions in Liquid Haskell

Internship report: Extensions to the reflection mechanism of Liquid Haskell to handle functions from dependencies.