Rust but Lisp

(github.com)

39 points | by thatxliner 2 hours ago

5 comments

  • vermilingua 28 minutes ago
    Claims to have all the syntax covered, but not a single example of specifying lifetimes or the turbofish, some of the trickiest rust syntax
    • kibwen 4 minutes ago
      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.
    • andrepd 17 minutes ago
      It's a vibecoded parser...
  • hawkice 56 minutes ago
    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!
  • GalaxyNova 1 hour ago
    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.

    • noosphr 28 minutes ago
      >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.

    • monocasa 20 minutes ago
      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.
    • shawn_w 31 minutes ago
      A let that defines variables that have a lifetime beyond the scope of the expression? Yeah, that's really unusual. And it's not even the oddest looking thing from the first example block of code.
  • stuaxo 51 minutes ago
    "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.

    • andrepd 16 minutes ago
      It's completely nonsensical too. Why would a parser for an alternative syntax introduce a GC?!
  • FrankWilhoit 2 hours ago
    And for why?
    • macmac 2 hours ago
      To get proper macros.
      • fao_ 1 hour ago
        Scheme already has hygenic macros, I don't get why you'd vibecode a worse (less battle tested, llm-generated) replacement. I'm not sure why this hit the front-page, to be honest, because it doesn't seem noteworthy or interesting (Anyone and their mother can vibecode something like this in eight hours)
        • wk_end 1 hour ago
          Scheme doesn't have Rust semantics, though?
        • zem 46 minutes ago
          this is not a replacement for scheme, it's simply an alternative syntax for rust