Live data from Hacker News

Show HN: Common Lisp running natively over WebAssembly for the first time

soi-disant.srht.site

61–70 of 72 posts

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#61

Earlier quoted context omitted.

Oh, wow. I thought you were just another HN hater, but nope. I think my eyes are bleeding.

I took a picture of a box of pens, snatched the hex values from it, and then threw them directly onto the page. I'm glad you like it!

I like the cut of your jib sir.

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#62

...god, my eyes ...why is everything CL plagued by such horrible design choices (hyperspec, Lisp-IDEs... all!) - why such ugly colors, ugly typography, bad contrasts, ugly logos, ugly diagrams, ugly supporting graphics?! I know that even the language itself is kind of the opposite of "beautiful", but the way all docs, blogs, websites etc. look ...seriously, is this intended to scare away any aesthetically sensitive p…

"Please don't complain about tangential annoyances—things like article or website formats, name collisions, or back-button breakage. They're too common to be interesting."

https://news.ycombinator.com/newsguidelines.html

Your comment particularly broke the Show HN guidelines:

https://news.ycombinator.com/showhn.html

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#63
post #21

Like reading Rfc in 1990s … a bit odd choice to use this format and font to sell anything these days.

"Please don't complain about tangential annoyances—things like article or website formats, name collisions, or back-button breakage. They're too common to be interesting."

https://news.ycombinator.com/newsguidelines.html

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#64
post #6

Great work! You write, > …wasm has a few poor decisions in its design that make it less-than-conducive to being a target for Common Lisp… Could you say a bit more about those design decisions?

I believe there are challenges related to nonlocal transfer of control, as well as multiple return values. More damningly, if I recall correctly, lisp implementors were consulted and their feedback ignored (just like apl implementors with .net, back in the latter's infancy).

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#65

I hope someone would create a tutorial which is using a toy programming language to compile to webassembly from scratch. Using existing language is too opaque to understand anything.

That sounds like a good idea. Have you considered writing it?

I was trying to compile my internal data and encounter "what's the right way to represent string in Webassembly" so that's why I came up with the demand for tutorial from a toy language because it has less features to worry about.

I don't understand why I got downvoted, it seems HN users with power to downvote just see everything is a nail they wanted to exercise their power.

Anyway, I'd probably write one when I actually implement it. I know linear memory is available but not sure whether or not having GC or mechanism that make memory safe.

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#66
post #42

This probably doesn't count as "natively" but I've run ABCL[1] under Doppio[2]. Startup times are under a minute in Chromium based browsers and under an hour in Firefox. I've run into zero stability issues, but its no speed demon. [edit] Just tried again today and Firefox gets to a REPL in about 3.5 minutes, while chromium is still right about 1 minute. 1: https://abcl.org/ 2: https://plasma-umass.org/doppio-demo/

Thank you for making it! Unfortunately, a JVM on wasm would be quite difficult for the same reason that Lisp over wasm is quite difficult (I had actually looked for wasm JVMs before trying anything). I had no idea there was a JS JVM implementation! That's very cool.

There is also TeaVM which is very fast and has both a js and a wasm target.

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#67

Earlier quoted context omitted.

So true! Also, there are no decent UI frameworks for Lisp, so it's impossible to build a full stack app that looks good in a modern browser without adding a TS or JS web component layer. And... There's no modern IDE for Lisp. I think this aspect of ignoring UIs and aesthetics has seriously held back CL.

That's not true at all, and I'm tempted to write something to prove you wrong. My aesthetic choices were intentional, and almost nothing in your comment is right.

I'd love read that rebuttal. And I'd ensure that I read it in its gloriously yellow form.

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#68
post #11
post #6

Great work! You write, > …wasm has a few poor decisions in its design that make it less-than-conducive to being a target for Common Lisp… Could you say a bit more about those design decisions?

I think a major limitation is that a WebAssembly module can’t run dynamically generated code, which is a huge part of typical Common Lisp implementations.

I was thinking about this, and one solution that came to my mind was serializing the heap into a temporary image and restarting the environment from an updated Wasm module with new code. This would also collect all garbage at the point of transitioning to the new code. You might need to be very careful to do this reasonably quickly, but in principle I don't see why this wouldn't work. The idea came to me when I was thinking about how an interactive-but-native-speed Oberon environment could be implemented in Wasm.

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#69
post #66

Earlier quoted context omitted.

Thank you for making it! Unfortunately, a JVM on wasm would be quite difficult for the same reason that Lisp over wasm is quite difficult (I had actually looked for wasm JVMs before trying anything). I had no idea there was a JS JVM implementation! That's very cool.

There is also TeaVM which is very fast and has both a js and a wasm target.

TeaVM lacks reflection and a class loader, both of which are necessary for ABCL.

Re: Show HN: Common Lisp running natively over WebAssembly for the first time

#70
post #45

Earlier quoted context omitted.

Thanks, that is pretty dreadful.

The spec people have been very rude to the Lisp people every time something has been brought up. I'm not going to look up everything that's been written, but here's an example: https://sourceforge.net/p/sbcl/mailman/message/34821303/

I wouldn't call their responses rude, but they are somewhat dismissive.
Post reply on HN