Hacker News new | ask | show | jobs
by lioeters 5 days ago
Really enjoyed the interview, and love the ideas behind Lone Lisp. I was curious, does it run on jart's Blink project, the tiny x86-64-linux emulator? https://github.com/jart/blink/
1 comments

Just tried it!

The lone interpreter itself runs flawlessly:

  lone <<<'(import (lone print)) (print "Hello, world!")'
  blink lone <<<'(import (lone print)) (print "Hello, world!")'
  blink lone <<<'(import (lone print) (math +)) (print (+ 1 1))'
It failed to load an interpreter with a lone-embedded lisp program though. Rejected it as an invalid ELF because of a bug in my ELF editor.

The embedded segments my tool generates are page aligned and end up extending past the end of the file. Linux doesn't care, it mmaps those non-existent file regions just fine as zero filled pages. Blink rejects the ELF as invalid instead.

I'd say blink's behavior is correct but divergent from the Linux it's supposed to be emulating. Created issue #215 about it:

https://github.com/jart/blink/issues/215

Nevertheless, I plan to push out a fix for this issue as soon as I'm done with the last rounds of code review.

Thanks for your interest in lone lisp!!

Very cool! I'm learning a lot from studying how Lone Lisp works, and will be exploring how to run it on Blink, which is itself a lovely educational project. Someone managed to port the latter to WebAssembly, so eventually I'd like to experiment with that too, not only for running in the browser but as a cross-platform (or platform agnostic) layer maybe. https://github.com/robalb/x86-64-playground

Anyway, looking forward to following Lone's progress. The technical details in the interview and in the articles on your site are so interesting, somewhat over my head but that's exactly the kind of material that I enjoy learning from. (:

> Someone managed to port the latter to WebAssembly

So that means lone could theoretically run on the browser via Blink. Will make for a great demo someday.

Feel free to post here or email me if you have any questions!