He/Him. Assistant professor at
@Portland_State
. Ph.D.
@Penn
. Programming Languages, Formal Verification. Opinions are my own. liyao
@mastodon
.acm.org
The power of laziness is great, but formal reasoning about its costs is notoriously elusive. In our ICFP 2024 paper "Story of Your Lazy Function's Life", we propose a solution based on a bidirectional demand semantics.
Find out more in our preprint:
Hello! I'm looking for Ph.D. students who are interested in research on programming languages/formal verification/interactive theorem proving! Please reach out to me if you are interested or if you have any questions about my research, our group, or
@Portland_State
. (Please RT.)
To students: Please feel free to reach out to me, If you are interested in pursuing a Ph.D. in programming languages/formal verification/interactive theorem proving!
Want to verify your Haskell programs?
@lysxia
has written a tutorial on verifying them using hs-to-coq, even if you have no prior experience in Coq or formal verification.
If you are attending PLDI/FCRC'23, I am going to present our ICFP'22 distinguished paper "Program Adverbs and Tlön Embeddings" today at 14:40 EDT at Cypress 2 (and virtual at: ).
Want to formally understand the performance of your lazy programs, but formalizing and reasoning about lazy evaluation seem hard? We present a simple way to do that in our paper (w/
@lysxia
@fancytypes
)! It will appear at
@icfp_conference
! Preprint here:
By the way, I'm on the academic job market! If your institution is hiring someone working on programming languages and formal verification, I'd be interested to learn more about the opportunity.
Here is my webpage (with my application materials):
Thrilled to learn that our paper (w/
@fancytypes
) is selected as a distinguished paper by
@icfp_conference
! Our talk will be at 2:20PM Ljubljana time (12:20PM UTC) on Wed, Sep. 14. Our paper is also available at:
Thinking about embedding a language in a proof assistant? But deep embeddings are too specific to the syntax for your use and shallow embeddings are too specific to the semantics? Our ICFP paper explores a class of middle grounds called Tlön Embeddings:
Our paper Program Adverbs and Tlön Embeddings (w.
@fancytypes
) has been conditionally accepted at ICFP 2022! Our reviewers have some great suggestions for improving our paper, so we'll announce the preprint when we incorporate those changes.
@ngernest2
Jeremy Siek has a new book called Essentials of Compilation. The interesting things about this book is, instead of building one compiler throughout a book, you build a compiler ~every 2 weeks and add features incrementally.
My friends told me that many people do not understand what this new restriction on intl. students means, so let me put it very bluntly: if it's enacted, very very few intl. students---if any---would dare to join a U.S. doctoral program any more.
John Huges on why category theory has been useful in programming (Generalizing monads to arrows, ). I've been wondering this for a long time but I've never been able to explain it. After he explained it, it seems so obvious but I never thought it this way.
Got my copy of Category Theory for Programmers by
@BartoszMilewski
. It happened to arrive when I was trying to understand the concept of "copay" in the US insurance system.
Today I gave a lecture about LiquidHaskell in my FP class (based on
@kosmikus
's materials at , which
@RanjitJhala
points out to me). I hope my students will find it cool!
POPL's main conference ends on Friday, but the fun does not end there! The first Workshop on the Implementation of Type Systems (WITS) is happening on Saturday (Jan. 22) and we (w/
@nickrioux
@fancytypes
) will be holding a discussion on the expression problem and theorem proving!
While ACM and IEEE investigation concluded that clear and convincing evidence shows Tao Li's team has committed academic fraud at least since 2017 and Huixiang Chen was coerced to submit an academic fraud paper,
@UF
published their investigation that Tao Li is innocent.
@TaliaRinger
I don't understand why conferences rarely (if ever) list the names of all student volunteers (for example, in conference websites). We all know that they are crucial to the success of our conferences, then we should give them the recognition they deserve!
Thinking about embedding a language in a proof assistant? But deep embeddings are too specific to the syntax for your use and shallow embeddings are too specific to the semantics? Our ICFP paper explores a class of middle grounds called Tlön Embeddings:
I moved to an apartment that's very close to a huge bookstore one week ago.
I have bought 5 books since then because I went to the bookstore for a walk almost every night.
And no, I have not found time to read any of them.
If I were to propose a PL "workshop" for junior faculty who are still "learning the ropes" to share and discuss their experience/good practices (about teaching, advising, and everything) among ourselves, would people be interested? I'm thinking about proposing that to ICFP.
I was discussing future research directions with my GF a few days ago and she suggested that I should look into verifying network protocols like BGP.
She is wise.
@jeanqasaur
@poplconf
I'm on the job market! My research aims to (1) advance the state of the art of verification on real-world software and (2) make verification easier to use from a programming languages perspective.
More information about me can be found on my website:
Doing a Ph.D. in PL is like A Song of Ice and Fire:
Year 1: A game of types
Year 2: A clash of calculi
Year 3: A storm of specs
Year 4: A feast of proofs
Year 5: A dance with coffee
...
Agreed! I could only participate in this year's ICFP remotely. Everything ran smoothly on my side. The video quality was very nice and I got to see the audience during my QA! When there is no effort on my side, it means a lot of hard work by the organizers---really appreciate it!
I want to say thanks to
@andrejbauer
and the rest of the ICFP team for organizing a remote option. I know it's a lot of work and they did it uncomplainingly. Hope we're learning enough about this so it's less pain in the future and we can normalize it!
Not a POPL announcement, but I just found that my dissertation has been released! It focuses on embedding programs using functional programming languages and theorem provers and it advocates shallow and mixed embeddings. More detail:
100% agree with this! Traveling to conferences is difficult for many people (esp. students and people not from North America/Europe) due to financial constraints, visa issues, and other reasons. The remote option is essential for better inclusion.
I hope POPL retains the hybrid option going forward, even as conferences go back to in-person. POPL stubbornly remains North America and Euro-centric, with the exception of POPL'15. Barring any change, hybrid is our best bet for making POPL as inclusive as one can!
I'm very grateful to a lot of people who have helped me during the process. The interviews are stressful, but I'm very glad that I got to know a lot of kind people and had a lot of interesting and inspiring conversations!
Asians make up around 7% of the U.S. population but have become vividly overrepresented in ice rinks and competitions at every level, from coast to coast.
Gradually, they have transformed a sport that, until the 1990s, was almost uniformly white.
Yesterday I saw this goose sitting alone in the middle of a lawn contemplating, so I (the one on the left of pic 2 and 3) went to have a philosophical chat with them. They didn't seem to like it when I brought up duck typing.
If you missed my talk yesterday, the recording is here:
If you are curious about what Tlön is and why we have this title, you can find the answer in our paper:
If you are attending PLDI/FCRC'23, I am going to present our ICFP'22 distinguished paper "Program Adverbs and Tlön Embeddings" today at 14:40 EDT at Cypress 2 (and virtual at: ).
Thrilled to learn that our paper (w/
@fancytypes
) is selected as a distinguished paper by
@icfp_conference
! Our talk will be at 2:20PM Ljubljana time (12:20PM UTC) on Wed, Sep. 14. Our paper is also available at:
The existence of the formalization gap has always been perceived as a bad thing. However, I want to convince you otherwise. Tomorrow, I will discuss this at HIW that is co-located with ICFP 2020, drawing from our experience of verifying GHC using Coq.
Most of SPLASH 2022 is less than one week away, but the virtual talks at OOPSLA are happening *tomorrow* (or today, depending on your timezone)! Join us at V-OOPSLA and watch some exciting talks from your home/office!
We are still looking for student volunteers for SPLASH 2022! We are looking for both remote and in-person volunteers. Please apply if you'd like to help us run SPLASH!
@natefoster
People not from the "right" schools can often get the wrong advice. When I was applying for Ph.D., I got a book from a friend containing SoP samples and *all* of them start with childhood stories.
@nickrioux
@jeanqasaur
Since they are especially interested in compilers, I'd recommend a recent paper by
@KonsKallas
et al.: It shows how a JIT-compiler can be used to make shell, something very old and common, run faster. It's pretty cool and exciting.
@alpha_convert
That's ridiculous. I'm sorry that you have experienced that. My experience is that those who look down on others who went to "less prestigious" universities by their made-up definitions are always those who have nothing else to make them feel fulfilled.
One of the reasons that I wanted to do a PhD in PL is that I found research like refinement types/dependent types to be super cool and LiquidHaskell was one of the things that opened the door to this world for me. I'm excited that now it's my turn to share the cool stuff.
PLMW
@ICFP
'23 schedule is up! Talks by (schedule order) Sam Westrick, Paulette Koronkevich, Benjamin Pierce, Rose Borher, and Simon Peyton Jones (along with a very exciting panel on "Getting Productive in Research!").
#icfp23
Me: I need to do this that and that, but let me first get some coffee from the place downstairs. It won't take much time.
Also me: Got into three conversations with people on the way to and back from the coffee shop.
Portland is such a nice place.
@TaliaRinger
Monad laws (and monads' interactions with Applicatives/Functors) might be a good starting point if she hasn't done so already---and they will become super handy later when you prove other properties. Which equality/equivalence to use might be tricky for certain monads.
It's almost 4/5 of PLDI and halfway through the main track, but some of the best are yet to come. We will have some great works presented at tomorrow's Testing & Verification session, starting at 9AM EDT at Royal (or virtually: ). Stay tuned!
Honored to be on the PC of the first PLDI that is part of PACMPL! I am super excited to see that we are able to accept so many awesome papers this year.
I received an email from a recruiter saying that they are impressed by my research on parallel programming.
That is very nice to hear, but when did I do research on that?
I'm going to
@splashcon
next week to present our work on analyzing the "performance" of lazy programs (previously published in ICFP'21 ).
I'm excited to meet some of you there!
When you attack, you roll a d20 + the modifier and compare the result with the enemy's AC. Now you are using a dice roll as a functor.
When you sneak up on your opponent and attack, you roll two dice and pick the higher one. Now you are using a dice roll as an applicative.
Attending a doctoral program abroad is a huge commitment. Not knowing if you can still continue after 4 years of hard work and struggle is too big an uncertainty that only very very few would dare to take.
@runarorama
@michael_nielsen
I've seen one in Uqbar as well! Sadly, I don't have a photo like you do because apparently taking photos is, in the bookstore owner's word, abominable.