IRC channel logs

2025-02-07.log

back to list of logs

<ridley>Hello,
<ridley>I’ve been exploring some of the Hoot FFI examples. I was curious about the size of the resulting wasm files. Here’s what I found (assuming I didn’t mess something up):
<ridley>Hello World: 280.30 kB
<ridley>Click counter: 287:87 kB
<ridley>todo: 574.61 kB
<ridley>goblin-chat-lite (from the latest blog post): 3.46 MB
<ridley>I know very little about compilers. My understanding is that a lot of your stuff is still pretty early stages, so I’m curious if you expect significant improvements in this area longer term. To me (who admittedly doesn’t know much) it seems like quite a bit of overhead.
<dthompson>we expect to reduce binary sizes
<ridley>Though I guess it’s a little tricky to compare the size of a goblins application to a regular web app because you’ve got front and back end together in one, file size is still going to be important for people on low-end devices.
<dthompson>wingo has actually been doing some serious work on both binary size and compilation time
<dthompson>now that we can build larger programs with hoot it's helping expose the things that need improvement
<ridley>oh cool. I read a bit of his wingo's blog recently and realized very quickly how little I know about compilers. Happy to leave that challenge to someone else.
<dpk>i’m interested to see if Hoot will end up being used as a back end for other Wasm-targetting compilers
<dpk>since it’s basically the first to use Wasm GC effectively and support a fairly high-level dynamic language. (i know i always say Scheme is a low-level language, shush)
<dthompson>I'm also interested in this dpk
<dthompson>at the very least the ocaml folks have their own similar thing
<dpk>maybe i’ll write a Mini-ML compiler or something targeting Hoot
<dthompson>idk if another language would want to use our toolchain vs. writing their own in their language
<dthompson>but we try to advertise that we have a toolchain that's ready to use
<jfred>I really need to take another look at Hoot now that Goblins can run in it
<jfred>would be a great way to build a frontend for goblins programs
<jfred>I've got that propagator FRP blog post pinned to my homescreen so I can read it and try to grok it when I have some spare time - though I suppose I should probably start simpler than that ^^;
<dthompson>we could discuss it sometime if you'd like :)
<dthompson>I tried to make it understandable but I don't think I quite hit the mark
<jfred>I think you probably made it as understandable as possible, but it is a pretty in-depth technical topic
<jfred>but discussing it sometime would be good! I need to dig into the code more first though to get a better feel for it
<jfred>I'm sure you could build a higher-level interface on top of this stuff that would make it more approachable for web dev. It's like the difference between using react and writing react though :P
<jfred>(also, one of these days I will actually finish SICP...)
<dthompson>yeah there's definitely a DSL hiding in there but I'm not quite sure what it is yet
<dthompson>something declarative
<jfred>there's definitely a DSL for webdev-propagators in there somewhere, and there's probably a DSL for propagators in general waiting to be found (but my impression is nobody's quite figured out what that should be yet, Sussman included)
<jfred>I seem to recall Sussman described this style of setting up propagators as very low level in one of his talks, and that there should be a higher-level language for them but that he didn't know what it was yet