Skip to main content


·2 mins

Figure out I might just write about this first.

So I rewrote vyw with rust + wasm and rename it as vywrs.


Was thinking to rewrite this thing for a while now, but didn’t really had a chance to make that happen. Been having a plenty of free time recently, and so I did.


At first I thought I should just rewrite this in livescript, but livescript transpiled - javascript is quite dated. I heard there’s an effort to add es2015 support but it’s been stale as of now.

I was also thinking to rewrite vyw under typescript. But it’s seems too enterprisey. Heck I was even thinking to rewrite this with purescript. But seems like algebraic type system just isn’t quite right for this project. Also I didn’t quite enjoy writing purescript. OCaml feels okay though.

So I did rewrite this in rust. It’s actually thanks to stdweb and yew, in addition to the recent wasm output support from LLVM. There are still some weird glitches here and there, but overall it’s quite fun.

Obviously there are still some native javascript interpolation needed. But the current rust abstraction for wasm and web API is quite good.

And finally I implement that navbar feature and list view mode. Also now with 100% more emoji.

Looks quite good from android