Ben L. Titzer(@TitzerBL) 's Twitter Profileg
Ben L. Titzer

@TitzerBL

Director of the WebAssembly Research Center at Carnegie Mellon University. Principal Researcher. Wasm co-founder. Former V8 engineer. Compilers!

ID:1527099267164393477

calendar_today19-05-2022 01:30:38

1,3K Tweets

1,9K Followers

360 Following

Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

They found me. I don't know how, but they found me. David Cassel wrote a great article about Virgil! I've been trying to avoid success, I hope this doesn't mean I've failed.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

A Virgil operator to re-associate tuple values and functions that take tuples?

E.g.

var x = (0, (1, 2));
var y: (int, int, int) = x; // error
var z: (int, int, int) = reassoc x; // OK, automatically reassociates

Can be done without language support, but tedious.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

In the longer clip I talk about a few of the downsides of the sea of nodes. In particular I think that for JavaScript and speculative optimizations, linearized control flow can make some optimizations more efficient.

For my 8th compiler I'll get it right.πŸ™ƒ

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

My bad twitter take: getters and setters for every field in every class is building with miniature 6-axis robot arms instead of bolts. Instead of pervasive mutable state, you have big, clunky, hidden pervasive mutable state. YAGNI! Armor modules, not every single class.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

Willing to put your 'Jensness' to the test?

We've already received some great submissions and now we've extended the deadline for submitting papers and paper outlines to JENSFEST.

2024.splashcon.org/home/jensfest-…

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

Attempting to write bit-and-byte-exact layouts in C is tedious and full of pitfalls, which is why I designed Virgil's layouts to be precise, and I hope the DSL catches on.

github.com/titzer/virgil/…

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

Love this.

But in a sane language, dynamic errors will produce an exact source trace. Every time. No pro wrestlers needed!

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

It was a pleasure being interviewed by Daniel Mangum for this podcast. I had a lot of fun, and Dan is a really great interviewer.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

So it begins. github.com/titzer/wizard-…

Time to put my code where my mouth has been and implement WALI for real in Wizard.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

Bad twitter take.

ADTs are great; use ADTs and matching for about 80-90% of the places where OO suggests visitors. But the visitor pattern shines for 500+ cases and for factoring functionality and a having default.

I judiciously employ visitors in Wizard; can be really nice!

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

Yes.

As fun as machine code can be, let's make it (mostly) disappear below a universal portable software abstraction layer.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

Realtime voice conversation with AI just dropped, utilizing $ungodly bazinga-flops for every interaction, and here I am, wondering if it's worth it to complete rearchitect the runtime system to shave one machine instruction off an indirect call.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

A reminder that the next in-person hybrid WebAssembly CG meeting is being held at CMU June 5-6, with Research Day on June 4th.

Registration is open, and talk proposals for Research Day are also open!

github.com/WebAssembly/me…

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

I generally agree with this. I'd even go so far as to say the 'esc' key should have been the universal 'panic! no! get out of here and go back!' button, with an 'undo' button right next to it.

I feel GUI over-reliance on mice (and now touch) is to the detriment of usability.

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

I created a little tutorial for how to use Virgil to generate Wasm with arbitrary imports and exports.

While that's obviously not Virgil's main reason for existing, it can be quite handy.

Both Virgil and Wizard can bootstrap and self-host on Wasm.

github.com/titzer/virgil/…

account_circle
Heather Miller(@heathercmiller) 's Twitter Profile Photo

Kick-ass-engineer-about-to-be-available alert! 🚨

Matthew Weidner is on the market for jobs post-PhD

In his PhD, Matthew has rethought many aspects of CRDTs, proposed new CRDT designs and frameworks for reasoning about and using CRDTs. He's rethought collaboration in the

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

First person who can explain why this line of code has a bug gets $5 US. Another $5 if you can write a repro.

github.com/titzer/virgil/…

account_circle
Ben L. Titzer(@TitzerBL) 's Twitter Profile Photo

I'm excited to announce a new SPLASH workshop: JENSFEST 2024! in which we celebrate the career of the one and only Jens Palsberg.

To honor him, we are looking for paper submissions and extended abstracts for papers that have high 'Jensness'. Consider submitting!

I'm excited to announce a new SPLASH workshop: JENSFEST 2024! in which we celebrate the career of the one and only Jens Palsberg. To honor him, we are looking for paper submissions and extended abstracts for papers that have high 'Jensness'. Consider submitting!
account_circle