Ernest Ng's Avatar

Ernest Ng

@ngernest2.bsky.social

PL/Systems PhD student at Cornell ngernest.github.io

95 Followers  |  228 Following  |  1 Posts  |  Joined: 18.01.2025  |  2.5261

Latest posts by ngernest2.bsky.social on Bluesky

Post image

I am thrilled to announce Velvet: a new foundational multi-modal verifier for imperative programs in Lean.

Velvet unifies execution, testing, automated and interactive proofs; and is itself proven sound.

πŸ’» github.com/verse-lab/loom
πŸ“„ verse-lab.github.io/papers/loom-...

09.10.2025 06:03 β€” πŸ‘ 14    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Preview
Think Globally, Discuss PL Locally In-person meetings are hugely beneficial for academic research; they provide a venue to collaborate and connect, making our community more connected and facilitating the exchange of ideas. In addit…

Have you been considering hosting a local PL meetup? Need a good place to start? Check out the PL Perspectives post that I wrote with Michael Greenberg and Noam Zilberstein!

blog.sigplan.org/2025/09/16/think-globally-discuss-pl-locally/

24.09.2025 14:48 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Systems Software in the Large / Oxide An extraordinary talk on developing systems software in the large

Last week, we were treated to an extraordinary talk internally at @oxide.computer. It was at once an expository talk of a complicated software system and an experience talk of developing systems software in the large -- and it was far too good to keep to ourselves! oxide.computer/blog/systems...

18.09.2025 17:29 β€” πŸ‘ 94    πŸ” 18    πŸ’¬ 3    πŸ“Œ 7

This was a great talk from Will Crichton. I think Will's approach to approaching questions around language tooling and teaching is compelling, though I wonder how far the approach can scale!

youtu.be/R0dP-QR5wQo?...

30.08.2025 13:24 β€” πŸ‘ 11    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
type hierarchy with universes

Eq.rfl 2 is of type 2 = 2, which itself is of type Prop, which itself is of type Type, which itself is of type Type 1, which itself is of type Type 2, and so on. also we have for example numbers 0 1 2 which are of type Nat, which is of type Type, and so on. also we have stuff like Set of Type, which is of type Type 1. or Set of Type 1, which is of Type 2. you get the idea

type hierarchy with universes Eq.rfl 2 is of type 2 = 2, which itself is of type Prop, which itself is of type Type, which itself is of type Type 1, which itself is of type Type 2, and so on. also we have for example numbers 0 1 2 which are of type Nat, which is of type Type, and so on. also we have stuff like Set of Type, which is of type Type 1. or Set of Type 1, which is of Type 2. you get the idea

doodling: lean type hierarchy

15.08.2025 00:46 β€” πŸ‘ 63    πŸ” 5    πŸ’¬ 5    πŸ“Œ 1

Choreographic Ξ»-calculi are a hot topic. You might know models like Pirouette (POPL 2022) or ChorΞ» (ICTAC 2022).

But did you know researchers don't agree what the "right" semantics should even be?

Our ICFP pearl builds a tiny calculus from scratch, and shows the right semantics is... non-strict!?

28.07.2025 17:26 β€” πŸ‘ 0    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Summer Undergraduate Internship - reposts welcome!

Are you a senior undergrad, interested in Programming Languages? Do you want to visit Canada for a paid 12-week internship?

06.08.2025 19:25 β€” πŸ‘ 8    πŸ” 12    πŸ’¬ 1    πŸ“Œ 0

Right this is how I’m going to do our ICFP talk @patrick.sirref.org! Very cool to see OCaml web components to make executable notebooks online really easy patrick.sirref.org/slipshow-x-x...

23.07.2025 17:59 β€” πŸ‘ 10    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0
Upstate PL August 2025

Upstate NY folks: Cornell will be hosting Upstate PL (www.cs.cornell.edu/upstate-pl/) on Thursday, August 28th. You should come if you're in the area!

Talk proposals are due August 4th, registration closes August 18th.

10.07.2025 18:21 β€” πŸ‘ 7    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Post image

Really enjoyed this talk by @harrisongoldste.in that demonstrates inventive uses of the #LeanLang InfoView enhanced by metaprogramming techniques to display real-time testing data.

#LeanProver #Metaprogramming #VSCode #PropertyTesting

30.06.2025 21:14 β€” πŸ‘ 16    πŸ” 5    πŸ’¬ 1    πŸ“Œ 0
Post image

Some more exciting news! This year we had not one, but two(!) dissertations receiving the SIGPLAN John C. Reynolds Doctoral Dissertation Award at PLDI!
The awardees are: Harrison Goldstein from the University of Pennsylvania and Rachit Nigam from Cornell University. More info ⬇️

28.06.2025 03:55 β€” πŸ‘ 24    πŸ” 8    πŸ’¬ 1    πŸ“Œ 0
What Works (and Doesn't) Selling Formal Methods

Nice post on costs and benefits of formal methods, by @m-dodds.bsky.social: www.galois.com/articles/wha...

25.06.2025 21:01 β€” πŸ‘ 26    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Try OxCaml An OCaml toplevel supporting Janestreet's Modes

You can try Janestreet's #OCaml with modes in your browser at patrick.sirref.org/oxcaml

09.05.2025 13:58 β€” πŸ‘ 9    πŸ” 5    πŸ’¬ 2    πŸ“Œ 0
Preview
Harrison Goldstein

If you are considering applying for a PhD this Fall, please get in touch. I’m looking for students who are interested in PL, SE, and/or HCI β€” and ideally all three! You can find more information about me and my work on my website: harrisongoldste.in

07.05.2025 18:38 β€” πŸ‘ 18    πŸ” 11    πŸ’¬ 2    πŸ“Œ 1

I'm incredibly excited to announce that I've accepted a tenure-track position as an assistant professor at the University at Buffalo!

The PL/SE group at UB is already really impressive, and I am honored to be part of its continued growth

07.05.2025 18:38 β€” πŸ‘ 74    πŸ” 10    πŸ’¬ 13    πŸ“Œ 0

I wrote up a quick post about the OCaml to Hazel transpiler I've been hacking on recently. Reusing OCaml's type inference to handle Hazel's explicit polymorphism has been pretty fun!

patrick.sirref.org/hazel-of-ocaml

04.05.2025 12:37 β€” πŸ‘ 21    πŸ” 6    πŸ’¬ 2    πŸ“Œ 1
Preview
Stratified Type Theory A hierarchy of type universes is a rudimentary ingredient in the type theories of many proof assistants to prevent the logical inconsistency resulting from combining dependent functions and the type-i...

Next week at ESOP 2025 (European Symposium on Programming) in Hamilton, ON (not in Europe) I'll be giving a talk on Stratified Type Theory! (Tue 6 May 10:30 am)
We replace stratified type universes with stratified judgements, and restrict dependent function domains to strictly smaller levels.

29.04.2025 15:23 β€” πŸ‘ 15    πŸ” 7    πŸ’¬ 1    πŸ“Œ 1
Session Types | Programming languages and applied logic

new book on session types just dropped!

www.cambridge.org/us/universit...

03.04.2025 15:54 β€” πŸ‘ 36    πŸ” 12    πŸ’¬ 0    πŸ“Œ 0
HAFLANG - A History of Functional Hardware

In 2023 I curated a 100 year timeline about hardware implementations of functional programming languages. Best viewed on a desktop or laptop screen. I occasionally add to it.

haflang.github.io/history.html

29.03.2025 10:43 β€” πŸ‘ 21    πŸ” 4    πŸ’¬ 2    πŸ“Œ 0
Post image

slides for my talk at #EpicWebConf2025

docs.google.com/presentation...

26.03.2025 19:35 β€” πŸ‘ 54    πŸ” 7    πŸ’¬ 4    πŸ“Œ 2

Just skimmed through the paper, such a cool idea! I would love to be able to use Allegro as a drop-in replacement for Base_quickcheck for my future OCaml testing needs

26.03.2025 03:23 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
ML Family Workshop 2025 - Higher-order, Typed, Inferred, Strict: ML Family Workshop 2025 - ICFP/SPLASH 2025 ML is a large family of programming languages that includes Standard ML, OCaml, F#, CakeML, SML#, Manticore, MetaOCaml, JoCaml, Alice ML, Dependent ML, Flow Caml, Reason ML, Flix, MaPLe, and many othe...

Calling for Presentations!

Higher-order, Typed, Inferred, Strict:
The 2025 ML Family Workshop welcomes presentations on any topic related to programming languages in the ML family (such as SML, OCaml, F#, etc.)

Submissions due: June 19 AoE
Workshop: Oct 16

conf.researchr.org/home/icfp-sp...

16.03.2025 15:53 β€” πŸ‘ 10    πŸ” 9    πŸ’¬ 1    πŸ“Œ 1
Post image

Great work from @tarides.com folks on pragmatic verification of OCaml software.

Chosen as one of the distinguished papers at TACAS 2025.

Paper: janmidtgaard.dk/papers/Huber...
Code: discuss.ocaml.org/t/ann-ortac-...

10.03.2025 04:18 β€” πŸ‘ 25    πŸ” 9    πŸ’¬ 1    πŸ“Œ 0
Preview
Making Logical Relations More Relatable (Proof Pearl) Mechanical proofs by logical relations often involve tedious reasoning about substitution. In this paper, we show that this is not necessarily the case, by developing, in Agda, a proof that all simply...

An excellent first introduction to logical relations:

arxiv.org/abs/2309.15724

21.02.2025 23:16 β€” πŸ‘ 15    πŸ” 7    πŸ’¬ 0    πŸ“Œ 1
Preview
Compiler Engineering for Substructural Languages I: The Problem with Polymorphism Can a correct-by-construction implementation of a substructural language be extended to a polymorphic lambda calculus?

I'm writing a new blog series on practical implementation of substructural type systems, in Idris!

The first blog post will look at substructural polymorphism and why it's *hard*, harder than people assume on first glance!

zanzix.github.io/posts/5-subs...

17.02.2025 14:13 β€” πŸ‘ 35    πŸ” 10    πŸ’¬ 1    πŸ“Œ 0

@ngernest2 is following 20 prominent accounts