Live data from Hacker News

Lisette a little language inspired by Rust that compiles to Go

lisette.run

111–120 of 168 posts

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

#111

Earlier quoted context omitted.

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.

There is a question of what benefit would it bring even if its open sourced?

Static python can transpile to mojo. I haven't seen an argument on what concepts can only be expressed in mojo and not static python?

Borrow checker? For sure. But I'm not convinced most people need it.

Mojo therefore is a great intermediate programming language to transpile to. Same level of abstraction as golang and rust.

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

#112
post #75
post #7

There are several languages that compile to Go, trying to be a better a Go. Off the top of my head: XGo ( https://github.com/goplus ), Borgo ( https://github.com/borgo-lang/borgo ), Soppo ( https://github.com/halcyonnouveau/soppo )...

Both Borgo and now Lisette seem to act as though (T, error) returns are equivalent to a Result sum type, but this is not semantically valid in all cases. The io.Reader interface's Read method, for example, specifies not only that (n!=0, io.EOF) is a valid return pattern, but moreover that it is not even an error condition, just a terminal condition. If you treat the two return values as mutually exclusive, you either…

To be fair, I feel like the language is widely criticized for this particular choice and it's not a pattern you tend to see with newer APIs.

It's a really valid FFI concern though! And I feel like superset languages like this live or die on their ability to be integrated smoothly side-by-side with the core language (F#, Scala, Kotlin, Typescript, Rescript)

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

#113
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

> moves a lot faster in a GC language Only in the old "move fast and break things" sense. RAII augmented with modern borrow checking is not really any syntactically heavier than GC, and the underlying semantics of memory allocations and lifecycles is something that you need to be aware of for good design. There are some exceptions (problems that must be modeled with general reference graphs, where the "lifecycle" bec…

[dead]

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

#114
Something that I don't understand about Rust, or these rustylangs, is the insistence of separating structs and methods. Don't get me wrong, I like named-impl blocks, but why are they the only option? Why can't I put an unnamed-impl block inside the struct? Or better yet just define methods on the struct? What's the point of this and why do these rustylangs never seem to change this?

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

#115
post #52

Looks great. But I can't help wondering: If it is similar to Rust why not make it the the same as Rust where it feature-matches? Why import "foo.bar" instead of use foo::bar? Why Bar.Baz => instead of Bar::Baz =>? What are you achieving here? Why make it subtlety different so someone who knows Rust has to learn yet another language? And someone who doesn't know Rust learns a language that is different enough that the…

Because it's inspired by Rust, but doesn't try to be Rust? And it's aimed at Go developers?

Yea I think this is targeted at Go devs. Im in the target audience and I like it, not sure id ever use it, but I like it.

Rust devs continued belief that they're the center of the universe is amusing.

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

#116

Earlier quoted context omitted.

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.

At this point, it might be moot. Too many people are assuming it's still a closed-source thing and will dismiss it.

Due to the closed source nature, every mojo announcement I see I think "whatever, next"

If the actual intent is to open-source, just do it, dump out whatever you have into a repo, call it 'beta'

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

#117

Earlier quoted context omitted.

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 p…

Thanks for the response but I'm sorry to say it's not reassuring, but does more to worry me because you didn't answer the question.

Like I said, these LLM-driven language projects have proliferated recently, and they follow a common pattern:

- Dump hundreds of thousands of lines of lines into a blank repo with a new repo.

- Throw up a polished-looking LLM generated website (they all look the same).

- Post about the project on a bunch of tech sites like HN.

- Claim it's a real project with deep roots despite there being no evidence.

Here's another one:

https://www.reddit.com/r/ProgrammingLanguages/comments/1sa1a...

These things are so common that r/programminglanguages had to ban them, because they were being posted constantly. So my concern is: what differentiates your project from the sea of others exactly like it, which as I've been following them? Usually the main dev grows bored with it quickly when the agent starts having trouble building features and the project is silently abandoned.

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

#118

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…

Before typescript we had Haxe, and its still a "better language". But i guess marketing won, and worse it better. Shrug.

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

#119
post #71

Earlier quoted context omitted.

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…

You can enable null safety in TypeScript, seems like a pretty good fix to me.

Its mediocre at best. Like in maths, how would i feel if addition would sometime actully be division. Thats hiw bad it is.

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

#120

Something that I don't understand about Rust, or these rustylangs, is the insistence of separating structs and methods. Don't get me wrong, I like named-impl blocks, but why are they the only option? Why can't I put an unnamed-impl block inside the struct? Or better yet just define methods on the struct? What's the point of this and why do these rustylangs never seem to change this?

Dunno. Impl block are very similar to Go methods. I dont think one if better than the other.
Post reply on HN