If you always wanted to learn about the semantics of languages like Choral and HasChor, look no further! dplyukhin.github.io/files/relax-...
28.07.2025 17:26 β π 0 π 0 π¬ 0 π 0@dplyukhin.bsky.social
Actor/model/choreographer working on the Actor Model and Choreographic Programming > Postdoctoral researcher at SDU > Occasional cohost of Type Theory Forall > dplyukhin.github.io
If you always wanted to learn about the semantics of languages like Choral and HasChor, look no further! dplyukhin.github.io/files/relax-...
28.07.2025 17:26 β π 0 π 0 π¬ 0 π 0Highlights:
(1) Past models need dozens of rules to explain the semantics. Ours has ten.
(2) We give laws to help you design the right semantics. The laws work: we found three bugs in previous versions of ChorΞ».
(3) Ours is similar to non-strict calculi, but with a "choreographic" flavor.
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!?
Hey CS instructors and TAs, whatβs your policy on students using LLMs?
(A) not allowed
(B) sometimes allowed
(C) required or encouraged
I think so too! A few interesting research problems to solve before itβs ready for production though, eg, rethinking some akka/pekko APIs to work well with actor GC
17.07.2025 14:25 β π 1 π 0 π¬ 0 π 0Ikr! I bet you could find ideas in forums, but I spoke to Jonas BonΓ©r and he never mentioned any projects on that front. Maybe because fault recovery comes across as an intractably hard problem?
16.07.2025 21:03 β π 1 π 0 π¬ 1 π 0The title is "CRGC: Fault-Recovering Actor GC in Apache Pekko". The authors are Dan Plyukhin (SDU), Gul Agha (UIUC), and Fabrizio Montesi (SDU)
I gave a talk at PLDI '25 about the future of Actor GC in Apache Pekko - with applications to #akka #erlang and #elixir. It's the culmination of my 6+ year PhD at UIUC, and I tried to make the talk really fun and easy to follow :)
Check it out here: www.youtube.com/live/lGM37Z3...
If you're reading this post, you're probably procrastinating. Why not watch my PLDI talk, "CRGC: Fault-Recovering Actor GC in Apache Pekko"?
It goes live in 1 hr (11:30 KST). I tried to make it entertaining π
#akka #erlang #elixir www.youtube.com/live/lGM37Z3...
For the record I agree that state sponsored killing is wrong in any context, but not for the reason you cited. The joke tries to get at why I think the logic in the post is a bit twisted
28.04.2025 01:11 β π 0 π 0 π¬ 0 π 0If there are crimes for which death is too extreme a sentence, and crimes for which it is not extreme enough, by the intermediate value theorem arenβt there crimes for which itβs appropriate? /s
27.04.2025 16:46 β π 2 π 0 π¬ 1 π 0A decent employee (me) sabotaged by an awful manager (also me)
12.04.2025 22:04 β π 1 π 0 π¬ 0 π 0Sometimes it takes me all day to get nothing done
08.04.2025 08:25 β π 29 π 4 π¬ 5 π 0typedef struct { /* * Data mainly modified when someone is listing * the content of the table. */ union { ErtsPTabListData data; char algn[ERTS_ALC_CACHE_LINE_ALIGN_SIZE(sizeof(ErtsPTabListData))]; } list;
Under the hood, #Erlang does a lot of tricks to improve performance.
The fields of this C struct are modified by different CPUs. If you packed fields normally, modifications by one CPU will invalidate the cache of another CPU.
So the devs added padding, and now fields are on different cache lines!
Haskell could almost compete with Racket for language-oriented programming, but the current interface for monads is impossible to use without first learning the Haskell metalanguage
30.03.2025 22:57 β π 0 π 0 π¬ 0 π 0TIL monads give you some compiler optimizations for free!
E.g. gcc has the semantics of assignment built-in, so it optimizes away `int y = x; x = y; ...`.
If you write it in Haskell with the State monad, GHC will delete that code using beta/eta reduction. Even though GHC doesn't know about State!
More like curing toothache by replacing your jaw with a cool robot jaw that doubles as a pencil sharpener!
But seriously, does this mean you prefer deep embeddings over mixed embeddings for (say) a simple imperative language? Iβm new to this whole conversation :p
Time to rewatch :) Adam is so great at showing whatβs interesting about music theory while acknowledging its limitations
30.03.2025 19:13 β π 1 π 0 π¬ 0 π 0I find Moggiβs early papers about monads confusing. Itβs hard to tell what exactly he was envisioning.
This paper does a great job filling in the gaps for a modern audience! Monads + dependent types are such a powerful way to define PLs and prove properties about them.
dl.acm.org/doi/pdf/10.1...
Thereβs a lot of parallels b/w Category Theory and Music Theory!
1) Itβs descriptive, not prescriptive
2) You donβt need it to do good work but many find it useful
3) Itβs easy to say βpeople who know more than me are snobs, people who know less are foolsβ
4) Novices use it to discredit other areas
This essay about feminism in PL asks some really tough questions!
Itβs making me wonder: what should the purpose of PL research be, anyway?? Are we trying to βsolve problemsβ, βmake the world a better placeβ, βexpand knowledgeβ, orβ¦?
www.felienne.com/wp-content/u...
I don't think DOGE could cut budgets at this pace without the help of LLMs. Is this the first time AI has been used to accelerate a political project? Reminds me of what the invention of machine guns did to the first world war.
09.03.2025 22:51 β π 4 π 0 π¬ 2 π 0Love it but the docstring in cursive is cursed
12.02.2025 15:55 β π 1 π 0 π¬ 1 π 0Not only do I have word wrapping - I also use a sans serif font π
12.02.2025 15:45 β π 1 π 0 π¬ 1 π 0I have a copy of "Smalltalk 80: Bits of history, words of advice" and it's so refreshing to learn about the problems they were trying to solve back then
05.02.2025 03:30 β π 1 π 0 π¬ 0 π 0Idea to create a rival podcast to Type Theory Forall, focusing on untyped programming languages like lisp and prolog
It would be called "Judgment Free Zone" and the logo would obviously be (β¬)
Add a level of indirection! (Make a wrapper)
11.01.2025 23:04 β π 1 π 0 π¬ 0 π 0Right, thatβs a fair criticism and worth discussing. But the comments Iβm referring to just say βfuck youβ without engaging with the concept. Iβm guessing people have that emotional reaction because they feel their jobs are threatened or theyβve personally been burned by LLMs in higher ed somehow?
17.12.2024 04:29 β π 0 π 0 π¬ 1 π 0omg. If I got those comments I would leave the planet. I still donβt understand how the product deserves such vitriol. What collective nerve got triggered here?
15.12.2024 19:42 β π 5 π 0 π¬ 3 π 0Funny enough, this would mean CS programs have to start grading more like the humanities! Maybe adding more emphasis on ethics and design than ever before? An exciting prospect :)
02.12.2024 08:27 β π 0 π 0 π¬ 0 π 0Absolutely. I think this is a good opportunity to assign more student-directed projects. E.g. in a compilers course, instead of everyone implementing the same language, students design and implement their own.
+ Students more fulfilled
+ Students use LLMs to automate drudgery
- Harder to grade