Live data from Hacker News

Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

spritely.institute

1–10 of 24 posts

Re: Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

#4
It is worth checking out other stuff that has come out of spritely institute as well:

There was something about a distributed debugger [1]. Also look at a talk about Goblins itself [2].

[1]: https://spritely.institute/news/introducing-a-distributed-de...

[2]: https://invidious.baczek.me/watch?v=VyTlQ0zwIAM (VyTlQ0zwIAM)

Re: Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

#6
post #2

This is very promising. Years ago, I was thinking that probably Racket, Gambit, or someone's dissertation would evolve into production-grade Wasm target. But looks like Andy Wingo, et al., are really tackling it through Guile.

I built rasm (https://github.com/GrantMatejka/rasm) to compile racket to wasm. Definitely not production grade, but fun nonetheless

Re: Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

#7
post #6
post #2

This is very promising. Years ago, I was thinking that probably Racket, Gambit, or someone's dissertation would evolve into production-grade Wasm target. But looks like Andy Wingo, et al., are really tackling it through Guile.

I built rasm ( https://github.com/GrantMatejka/rasm ) to compile racket to wasm. Definitely not production grade, but fun nonetheless

Projects like these are great, and absolutely in traditions of Scheme, PL research, hobbies/learning, and sometimes startups.

Not everything has to be overtly adopted to be worth doing.

Historically, when someone makes some advancement that doesn't lead to adoption, it seems often because:

* there's no follow-through to production-grade (maybe the norm with PL dissertations, if the next job isn't industry and directly involving that same platform);

* the market applicability is too niche/nonexistent, at least at the time (e.g., someday people will realize better DSLs were figured out a long time ago); or

* didn't promote it well enough.

Re: Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

#9
Ahhhh! A breath of fresh air in this world of ugly Algol-wedged hyper-utilitarianism. (I was going to say “hyper-functionalism”, but the unintended pun confused the sense.) [Although, I must admit that js is actually pretty descent, and can almost be used like Lisp if you look at it hard enough and cross-eyed.]

Re: Directly compiling Scheme to WebAssembly: lambdas, recursion, iteration

#10

All day I push out js for a paycheck, all night I live and tinker in my Lisp/scheme worlds. Maybe one day these will be overlayed.

This project is very exciting. In the meantime, there are a couple of options:

BiwaScheme: https://www.biwascheme.org/

Advantages: written in JavaScript, with excellent JS interop. Project has some history.

Disadvantages: slower than S7 (though still plenty fast for many uses), less-complete (e.g., no syntax-rules or syntax-case, though it does have its own define-macro).

S7 Scheme: https://cm-gitlab.stanford.edu/bil/s7

Written in C, but can be transpiled to WASM (see https://github.com/actonDev/s7-playground/ )

Advantages: This project also has some history. Considerably faster than BiwaScheme.

Disadvantages: JS interop is clumsier (basically the same issues as JS interop with any WASM code... this could probably be mitigated considerably if someone wanted to take the time).

Post reply on HN