Live data from Hacker News

Lisette a little language inspired by Rust that compiles to Go

lisette.run

101–110 of 168 posts

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

#102
post #6

Earlier quoted context omitted.

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…

MoonBit [0] is the best/future complete/active “rust with gc”. [0] https://www.moonbitlang.com

Did MoonBit add support for some kind of shared memory concurrency like threads? I remember discovering the language, being very excited about it, and then learning it is single-threaded, which makes it a poor replacement for Rust IMHO.

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

#103

Earlier quoted context omitted.

Thanks for your kind words :) The CLI command `lis run` supports a `--debug` flag to insert `//line source.lis:21:5` directives into the generated Go, so stack traces from runtime errors point back to the original Lisette source positions. The LSP handles compile-time errors, which reference `.lis` files by definition. Calling Lisette from existing Go is not yet supported and is the harder direction, as you noted. Th…

I noticed the project is less than a month old, and you've generated over 300k lines of code here. I'm guessing most of this was written by agents, yes? I'm asking because your goal is to make it production ready, so what are you doing to assure people this is more than just another vibe coded language (of which there are countless examples by now)?

Thanks for asking! The core of the compiler should be close to 50k LoC, with most of the rest being tests. The project is much older than git history suggests - I started a fresh repository for the initial release after several months of experiments and false starts to find the right direction. LLMs certainly helped e.g. with mechanical tasks like generating tests and refactors where changes cascaded throughout the pipeline, and I also relied on them to understand Hindley-Milner type inference, Lindig for the formatter, and Maranget for exhaustiveness checking.

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

#104

Earlier quoted context omitted.

> Only in the old "move fast and break things" sense No, definitely not only in that sense. GC is a boon to productivity no matter how you slice it, for projects of all sizes. I think the idea that this is not the case, perhaps stems from the fact that Rust specifically has a better type system than Java specifically, so that becomes the default comparison. But not every GC language is Java. They don't all have lax t…

Well if you think Java doesn't have a sufficiently good type system, then surely Go is even further from one? Not saying those are the only two GC languages, just circling back to the post spawning these comments.

[deleted]

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

#105
post #66

Earlier quoted context omitted.

> Basically, why try to make Go more like Rust when Rust is right there? The avg developer moves a lot faster in a GC language. I recently tried making a chatbot in both Rust and Python, and even with some experience in Rust I was much faster in Python. Go is also great for making quick lil CLI things like this https://github.com/sa-/wordle-tui

No doubt a chatbot would be built faster if using a less strict language. It wasn't until I started working on larger Python codebases (written by good programmers) that I went "oh no, now I see how this is not an appropriate language". Similar to how even smaller problems are better suited for just writing a bash script. When you can have the whole program basically in your head, you don't need the guardrails that p…

[flagged]

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

#106

Well that's why I decided to go C# for general purpose stuff

Ditto. C# gets a bad rap due to its Windows-exclusive history, but it's now cross platform and has most of the features PL nerds are looking for. Strict nulls, pattern matching, a really mature and easy to use async ecosystem (it invented async/await), even a lot of the low level stuff is there (unsafe{} blocks ala rust and manual memory management where needed).

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

#107

A programming language similar to Python that compiles to Rust or Go will be amazing.

Here you are. https://github.com/google/grumpy Last commit was 9 years ago though, so targets Python 2.7.

Amazing people still keep discovering it. And google search fails to surface working implementations.

"Python to rust transpiler" -> pyrs (py2many is a successor) "Python to go transpiler" -> pytago

Grumpy was written around a time when people thought golang would replace python. Google stopped supporting it a decade ago.

Even the 2022 project by a high school student got more SEO

https://github.com/py2many/py2many/issues/518

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

#108

Earlier quoted context omitted.

Mojo is a language with Pythonic syntax that compiles to fast machine code built by the creator of Swift: https://www.modular.com/open-source/mojo

Hold up... did I miss something, is Mojo open sourced now? Edit: No it is still not open source. There are still same promises of open sourcing eventually, but there is no source despite the URL and the website claiming it's an open language. What's "open" here is "MAX AI kernels", not Mojo. They refer to this as "750k lines of open source code" https://github.com/modular/modular/tree/main/max/kernels This feels icky…

The compiler will be open-sourced in a few months.

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

#110
post #71

I've chatted a bit with the author, but not actually tried the language. It looks very interesting, and a clear improvement. I'm not particularly quiet about not liking Go[1]. I do think there may be a limit to how far it can be improved, though. Like typed nil means that a variable of an interface type (say coming from pure Go code) should enter Lisette as Option >. Sure, one can match on Some(Some(h)) to not requir…

From your blog entry: > Go was not satisfied with one billion dollar mistake, so they decided to have two flavors of NULL Thanks for raising this kind of things in such a comprehensible way. Now what I don't understand is that TypeScript, even if it was something to make JavaScript more bearable, didn't fix this! TS is even worse in this regard. And yet no one seems to care in the NodeJS ecosystem. That's why I creat…

ReasonML / Melange / Rescript are a wholistic approach to this: The issue with stapling an option or result type into Typescript is that your colleagues and LLMs won't used it (ask me how I know).
Post reply on HN