Live data from Hacker News

Lisette a little language inspired by Rust that compiles to Go

lisette.run

1–10 of 168 posts

Re: Lisette a little language inspired by Rust that compiles to Go

#3
Really nice work on this. The error messages alone show a lot of care, the "help" hints feel genuinely useful, not just compiler noise.

I'm curious about the compiled Go output though. The Result desugaring gets pretty verbose, which is totally fine for generated code, but when something breaks at runtime you're probably reading Go, not Lisette. Does the LSP handle mapping errors back to source positions?

Also wondering about calling Lisette from existing Go code (not just the other direction). That feels like the hard part for adoption in a mixed codebase.

Is the goal here to eventually be production-ready or is it more of a language design exploration? Either way it's a cool project.

Re: Lisette a little language inspired by Rust that compiles to Go

#6
post #5

For "classic" Rust what's actually nice is that no runtime is needed, so this looks like a step backwards. What would be actually nice is running async Rust on the Go green threads runtime.

In my experience, what's actually nice is the correctness. The low-levelness is not helpful for most of the software I write, and imposes a constant burden.

Rust, of course superbly achieves its goals within its niche! But it is a niche, is my meaning here.

What I actually want is code that's correct, but ergonomic to write. So my ideal language (as strange as it sounds) would be Rust with a GC.

I don't want to worry about what string type I'm using. I want it to just work. But I want it to work correctly.

Lisette looks like it's in this exact category! It seems to combine the best aspects of both Rust and Go, which is a very promising endeavour. I'll have to take a proper look :)

Re: Lisette a little language inspired by Rust that compiles to Go

#8
post #6
post #5

For "classic" Rust what's actually nice is that no runtime is needed, so this looks like a step backwards. What would be actually nice is running async Rust on the Go green threads runtime.

In my experience, what's actually nice is the correctness. The low-levelness is not helpful for most of the software I write, and imposes a constant burden. Rust, of course superbly achieves its goals within its niche! But it is a niche, is my meaning here. What I actually want is code that's correct, but ergonomic to write. So my ideal language (as strange as it sounds) would be Rust with a GC. I don't want to worry…

There are an endless number of modern MLs that do the same thing. That's not a novelty - Rust was novel in making it part of a low-level language.

Re: Lisette a little language inspired by Rust that compiles to Go

#9
post #6
post #5

For "classic" Rust what's actually nice is that no runtime is needed, so this looks like a step backwards. What would be actually nice is running async Rust on the Go green threads runtime.

In my experience, what's actually nice is the correctness. The low-levelness is not helpful for most of the software I write, and imposes a constant burden. Rust, of course superbly achieves its goals within its niche! But it is a niche, is my meaning here. What I actually want is code that's correct, but ergonomic to write. So my ideal language (as strange as it sounds) would be Rust with a GC. I don't want to worry…

You can use Ocaml today and achieve all the correctness

Re: Lisette a little language inspired by Rust that compiles to Go

#10
post #5

For "classic" Rust what's actually nice is that no runtime is needed, so this looks like a step backwards. What would be actually nice is running async Rust on the Go green threads runtime.

No, this is actually nice to be honest. It's not a step backwards imo.

if I can incorporate Lisette into my golang projects for example, (Invoking rust code within Golang to me feels like a larger problem and Invoking C might be easier from my tinkering experiments) I feel like you are viewing this from a pure performance metric but to be honest, most things aren't necessary to be the fastest, the type system of rust/rust-alike languages can be beneficial to people as-it-is

Check out gleam, its based on erlang so it has a runtime involved, people love gleam because it gives them a bit more expressiveness in the type system from what I've heard.

I feel like these experiments are genuinely nice, Also perhaps a project like this can then slowly also invoke tinyGo (there was a recent discussion about it too) and could be compiled into tinyGo in future iterations to have no runtime essentially as well. People who love rust, love it, but most people really find it hard to get-into as compared to golang, I really love golang for its simplicity but I wish to tinker with rust too, so if Lisette combines both of these things and atleast makes me familiar with more rust without having to jump into too many hoops

Post reply on HN