Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Laya the open source version of Jev(convaiinnovations.com ↗)
    35comments
  2. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    305comments
  3. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    150comments
  4. “The Secret Life of Circuits” is here(coredump.cx ↗)
    31comments
  5. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    502comments
  6. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    106comments
  7. San Francisco Onion Futures Company(onionfutures.com ↗)
    89comments
  8. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    145comments
  9. Communication by means of modulated Johnson noise(pnas.org ↗)
    13comments
  10. From Stonemasons to Carpenters(thelastsoftwareengineer.substack.com ↗)
    4comments
  11. Cloudflare Quick Tunnels(cloudflare.com ↗)
    296comments
  12. Black Holes or Black Hole Stars? Astronomers Spar over 'Little Red Dots'(quantamagazine.org ↗)
    discuss
  13. How to Write with an LLM(sockpuppet.org ↗)
    354comments
  14. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    21comments
  15. SDCC – Small Device C Compiler(sourceforge.net ↗)
    21comments
  16. Saving another 100TB of RAM(cloudflare.com ↗)
    86comments
  17. Science Is Open Software(jepedersen.dk ↗)
    45comments
  18. Ray Ozzie and the Optimism of Being Early(reproof.app ↗)
    3comments
  19. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    42comments
  20. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    5comments
  21. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    107comments
  22. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  23. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    114comments
  24. OpenJev(openjev.com ↗)
    273comments
  25. Goroutine Leak Profiles(go.dev ↗)
    6comments
  26. Show HN: I wrote a custom assembler for CHIP-8 in C++(github.com/tackx ↗)
    4comments
  27. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    89comments
  28. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    76comments
  29. Veronese's Dogs(publicdomainreview.org ↗)
    2comments
  30. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    94comments

Ribbit: A portable, compact and extensible R4RS Scheme implementation

36 pointsby 2y agogithub.com
11 comments
2y agoHN ↗

Why R4RS? Was that just the standard at the time? I know R6RS is kind of huge and difficult, but R7RS seems pretty reasonably sized.

2y agoHN ↗

I can't answer as to why the current version is R4RS specifically. The original version Marc and I wrote was running a subset of R4RS. We tried to minimize the code as much as possible (hitting the 4K mark), so it's very possible we just wanted to get everything out of the way (it has been a while)

2y agoHN ↗

Hi! One of the authors of Ribbit here (@leo-ard).

One of our goals was to reduce as much as possible a R4RS compliant REPL, because it is quite reasonably sized and doesn't support macros (we managed to fit it in 6.5KB!). We considered R7RS, but it was a bit too ambitious for a first goal. We plan on supporting R7RS eventually !

If you want to read more, section 4 of "A R4RS Compliant REPL in 7 KB" explains our rationale behind the choice of R4RS :

https://arxiv.org/pdf/2310.13589

2y agoHN ↗

6.5K ! you could fit that on some microcontrollers

2y agoHN ↗

Good to see it has moved so much from just JavaScript being the main target. I like the small scheme portable idea a lot. For those requiring just a minimal scheme this works.

2y agoHN ↗

IIRC (might be wrong here) we had full support for JS, C, Python and Scheme from the start. As it evolved I'm unsure how support was kept throughout the versions but I know a much larger set of languages now support the runtime, at least for a subset of the features.

2y agoHN ↗

IIRC (might be wrong here) we had full support for JS, C, Python and Scheme from the start

I'm pretty sure we had support for JS, C, Python from the beginning as well. Then Scheme, posix shell, assembly came along for the ride.

I'm unsure how support was kept throughout the versions but I know a much larger set of languages now support the runtime, at least for a subset of the features

One thing that really helped is CI testing! All the RVMs (the 16 targets) are now fully tested at each PR (https://github.com/udem-dlteam/ribbit/actions)

2y agoHN ↗

Hey ! One of the authors of Ribbit (https://github.com/leo-ard).

I'm really happy to see that the project is getting some attention! We made a lot of progress since the last post on HN (https://news.ycombinator.com/item?id=31096771). We are now fully R4RS compliant, support 16 different target languages with a sort of FFI with all of them.

We are currently working on flonum/bignum support and a guide for adding your own RVM (new host) so that you can run scheme in your favourite language. It should be coming soon!

I'll stay up to answer any questions about Ribbit!

2y agoHN ↗

Could Scheme ever run on a GPU? I've seen a GPU REPL made with APL. I'm not sure what graphics primitive could map to linked lists but it would mean John McCarthy's AI on modern AI hardware.

2y agoHN ↗

Implementing an RVM running on a GPU is definitely feasible, however, I'm not sure if it would be fast or efficient. For the case of Ribbit, you only need to write an RVM in a language that can compile to a GPU. An RVM is mostly a interpreter loop with some primitives. Maybe exposing the GPU primitives could enable heavily parallelizable scheme code ? It could be a fun experiment