Lisette - A little language inspired by Rust that compiles to Go

It looks nice, yesโ€”this could be a better version of Go. It has elements of Rust and Vlang. A very interesting compromise.

https://lisette.run/

#golang #rust #vlang

Lisette โ€” Rust syntax, Go runtime

Little language inspired by Rust that compiles to Go.

@leobm why not go all-in into Rust?
@psyhackological I only partially understand the
hype surrounding Rust. Itโ€™s certainly a nice language, with good error handling and so on. But itโ€™s also very complex; Go is much simpler and perfectly adequate for 90% of the requirements one has for a programming language. Iโ€™m only a limited fan of Rust; if I needed full control over memory, Iโ€™d probably go with #ziglang instead.
@psyhackological With Rust, I still feel like Iโ€™m spending more time wrestling with the type system than actually coding and getting things done. I often have similar feelings with Haskell, and sometimes with Scala too. Maybe Iโ€™m just not smart enough for Rust ๐Ÿคท๐Ÿปโ€โ™‚๏ธ
@leobm type system is actually Rust's super power and also in Go it shouldn't be neglected (or Haskell / Scalla). 90% of problems (and bugs) in my daily job comes from improper type value and missed validation. The only thing I can complain (and Rust Foundation team are aware of) are lifetimes. There is no struggle in Go as it has built in GC in each binary. Rust must be "tip top" however it's possible to create memory leak.

@psyhackological Iโ€™ve come to realize that a type system isn't always the silver bullet itโ€™s made out to be. At the end of the day, you're almost always starting with strings or binary data. You can define beautiful types and structures, but they often fail to catch real-world errors, which then just pop up at runtime anyway. In my experience, most errors occur because you have incorrect/unexpected input data.

For me, types are mostly useful for large-scale refactoring or IDE code completion.

@psyhackological I just want to say that I very rarely get a TypeError because I pass a string into a place where a number or something similar is expected. Simply because the
context often makes it clear whatโ€™s expected. I think thatโ€™s why type systems are overrated. Type systems are great for defining a specific intention or structure. But there are other ways to do that, too.