Hacker Newsnew | past | comments | ask | show | jobs | submit | davexunit's commentslogin

Here's to hoping that Andy Byford can make through running happen at NY Penn.


As of right now, it would just be pork. The traffic patterns it would enable are very low volume.

In the long term, it's anyone's guess. My fear is it would be another Airtrain.



Wow this might be the coolest use of Hoot I've seen! I need to run this for myself soon.


Thanks Dave, high praise! I was inspired after seeing you all take over the declarative & minimalist programming room at FOSDEM this year.

If you thought this was cool, wait until you see what I ended up using it for: https://deosjr.github.io/dynamicland/ I personally think this is much cooler :) But it needs some more explaining before I can broadly share, I think.

Now that I have you here, a question: am I correct in thinking that in Hoot, eval in the browser does not currently work with macros?


I'm glad you felt inspired! This Dynamicland implementation looks awesome. I look forward to this being shared to a wider audience. :)

Regarding your question, as of Hoot 0.6.1 we now have a psyntax-based macro expander integrated with eval so you can use syntax-rules and syntax-case. There are still rough edges, though. I'm currently focused on some non-Hoot tasks but the next Hoot priority is to implement a Guile-like REPL and really kick the tires on the interpreter before the 0.7.0 release.


And WebKit finally shipped it recently! Love return_call and friends.


Use the GC instructions and you can freely share heap references amongst other modules and the host.


How do you access the contents of a heap reference from JavaScript in order to “send it to a <canvas> or similar”?


Assuming you're talking about reading binary data like (array i8), the GC MVP doesn't have a great answer right now. Have to call back into wasm to read the bytes. Something for the group to address in future proposals. Sharing between wasm modules is better right now.


This was a fun read! I wrote a Wasm interpreter in Scheme awhile back so it makes me happy to see more people writing their own. It is less difficult than you might think. I encourage others to give the spec a look and give it a try. No need to implement every instruction, just enough to have fun.


My takeaway from this article is that the proposed solution for distributed app coordination is a shared, centralized log. What did I miss?


IMHO the article is not mainly about the implementation of the Log, but rather leveraging on the idea of the log to build reliable and fault tolerant applications. The implementation of the log itself can be either centralised or decentralised.


That gist is correct - I would add that the log needs a few specific properties and conceptually be the shared log for state, communication, execution scheduling.

The next step is the, how do you make this usable in practice...


You can absolutely do graphics rendering with GC'd languages. The trick is the same as with manual memory management: Minimize allocation. You mention C# which is a language that has been used very successfully in the games industry.


Unity uses C# but the engine is written in C++, but you are probably right and there are other engines out there written in C#


Hope my post didn't come across as complaining because I agree! Wasm is great right now for lots of things, just wanted to highlight a use case that isn't great yet.


In Scheme what you want to do is allocate a big bytevector and use it over and over. This is what I already do outside of Wasm. I don't want or need linear memory involved, I just want access to my (array i8) from JS.


Thanks for bringing a reasonable perspective to this discussion.


Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: