Hoot: Scheme on WebAssembly
56 points by AlexeyBrin 4 hours ago | 11 comments

threemux 42 minutes ago
Very cool! Would this work with Cloudflare Workers potentially?
reply
NeutralForest 2 hours ago
It's such an amazing project, I wish it used something other than Guile but you can't have everything.
reply
zelphirkalt 32 minutes ago
Guile has lots of libraries though, and is the language of Guix. This makes it more likely for people to package their stuff via Guix. Guix itself enriches the ecosystem, and Guile projects can use Guix to make them reproducible.

A few problems remain though. A good debugger, a good macro expander (geiser in Emacs is able to expand somehow), and solving the issues with R6RS library syntax and standard library bindings, are what comes to mind.

Racket's multi-core abilities for a long time were mostly heavy weight (places, starting whole new Racket VMs), except for their implementation of futures, but that one was not always useful. I think recently the situation in Racket has improved, but I don't know, whether it is as good as Guile fibers and futures (which are different from futures in Racket).

reply
nerdponx 9 minutes ago
[delayed]
reply
NeutralForest 16 minutes ago
Aside from the debugging & testing I already mentioned, going only through guix is a tough sell considering the very tiny amount of people that use it. It's also incredibly slow and doesn't have many packages available. Even for Emacs, it has this weird way of going around Emacs-installed packages (GNU or MELPA channels). Just like Guile docs, it also doesn't tell you of a good way to do things, it only says "here is what exists" with too little guidance imo. It means people have to figure out how to setup things properly on top of all the rest. It makes for a terrible onboarding.
reply
Zambyte 2 hours ago
Other than Guile as in different Scheme implementations? It's usually not too difficult to port things between Schemes. Especially if you use standard R6RS or R7RS library syntax.
reply
noosphr 2 hours ago
Guiles debugging has been a nightmare in the 3.x series. Which is rather surprising since it was probably the easiest scheme to debug in the 1.x days.

It got so bad I moved to racket as my daily driver.

reply
wwfn 2 hours ago
Can you say more? Guile's the only scheme I've tried (attempts at packaging for Guix). Debugging has been difficult, but I figured it was me struggling with new tools and API. Does racket have better facilities for introspection or discovery at the REPL?
reply
pjmlp 2 hours ago
Yes, since years, all the way when it was still known as Dr. Scheme.

It has a graphical experience similar to the survivors from Lisp is Great days, like LispWorks and Allegro Common Lisp, or Clojure with Cursive.

reply
pjmlp 2 hours ago
Even better than PLT Scheme with Dr. Scheme, now Raket has ever been?

I have my doubts, given its age.

reply
feastingonslop 2 hours ago
Which LLM works best for Racket?
reply
NeutralForest 2 hours ago
A different scheme that has great debugging and testing and also better docs.
reply