Live data from Hacker News

Show HN: Rust but Lisp

github.com

11–20 of 79 posts

Re: Show HN: Rust but Lisp

#11

It seems like this is more like writing Rust in an s-expression syntax instead of having a proper lisp dialect that compiles to Rust, which is cool I guess but not very interesting. It's quite weird-looking for someone who's done any amount of lisp programming.

>Rust semantics with LISP syntax. A transparent s-expression frontend that compiles directly to Rust — no runtime, no GC

The first paragraph says literally that.

Re: Show HN: Rust but Lisp

#13
post #7

I think some comments are missing the upside of it being precisely Rust, without any new semantics. If you want lisp that compiles to machine code, Common Lisp can get reasonably efficient. The purpose of bringing Rust into it is to surface Rust-specific semantics -- which many people quite like!

[flagged]

Re: Show HN: Rust but Lisp

#14

It seems like this is more like writing Rust in an s-expression syntax instead of having a proper lisp dialect that compiles to Rust, which is cool I guess but not very interesting. It's quite weird-looking for someone who's done any amount of lisp programming.

Yeah, it sort of reminds me of the microcode assembly of a few of the lisp machines, that, while in s-expressions were also clearly not lisp themselves. But could be an interesting target for some lisp macros.

Re: Show HN: Rust but Lisp

#16
post #8

"no runtime, no GC, just" I am BEGGING every project to not have this LLMism in their docs. It reads as No X no Y just slop to me every time.

It's completely nonsensical too. Why would a parser for an alternative syntax introduce a GC?!

Re: Show HN: Rust but Lisp

#17

Claims to have all the syntax covered, but not a single example of specifying lifetimes or the turbofish, some of the trickiest rust syntax

If you already have the ability to express the grammar productions in Rust that allow for optionally-specified types (e.g. variable declaration), then you have the ability to express lifetimes and the turbofish (which is just a curious way to call a generic function with a specific type parameter). The only weird thing would be that Lisp uses the apostrophe character for something very different than Rust, but you could just pick any other way to denote lifetimes.

Re: Show HN: Rust but Lisp

#18
Unfortunately, given the clear LLM basis of this project, s-expressions aren't a great choice. I've found coding agents struggle really hard with s-expression parentheses matching.

Much better to give them something more M-expr styled, I think a grammar that is LL(1) is probably helpful in that regard.

Basically the more you can piggyback on the training data depth for algol-style and pythonic languages the better.

Re: Show HN: Rust but Lisp

#19
post #17

Claims to have all the syntax covered, but not a single example of specifying lifetimes or the turbofish, some of the trickiest rust syntax

If you already have the ability to express the grammar productions in Rust that allow for optionally-specified types (e.g. variable declaration), then you have the ability to express lifetimes and the turbofish (which is just a curious way to call a generic function with a specific type parameter). The only weird thing would be that Lisp uses the apostrophe character for something very different than Rust, but you co…

Could!

> Everything Rust has … expressed as s-expressions. No semantic gap.

Post reply on HN