198 comments
kjksf · 8 days ago
I love it.

This is a language that everyone here says they want but no one will use, even though it's stable and mature (I assume because it compiles to stable and mature Go and can use every existing Go library).

It hits all the "ok, Go is popular but made by morons for morons and if only it had this X advanced feature, it would be totally great".

It has immutability. It has advanced enums. It has algebraic types. It has pattern matching. It has Result<> instead of returning an error. It gets rid of if err != nil. It gets read of of nil pointers.

On paper it's a perfect language. It literally addresses every major complaint people have with Go.

And I'll be here not using it and watching everyone else not use it.

Because the harsh truth is that none of those things are actually big issues that would justify learning slightly different syntax.

But maybe I'm wrong. Time will tell.

Show replies

blixt · 8 days ago
This is quite beautiful. It hides several ugly warts of Go without necessarily adding more complexity. Result<T> instead of (T, error) and ? for propagation is just so nice. Structured enums is something I find myself needing all the time (and writing less self-explanatory code due to the lack of it). Option<T> instead of nil and zero values (which builds upon structured enum support) is what got me to say "yes please!"

Honestly, some of the things they changed are maybe unnecessary (like the additional impl syntax, the Zig influenced dereferencing, return values from statements, several other Rustisms, etc). One part of me wish Go would get all of this. But another part of me knows it would never happen because this is not a superset (Python 2 -> Python 3 anyone?)

I also wonder if this could even be compared to JavaScript / TypeScript for the same reason, not being a superset means you have to actively make a change to even start to migrate, and the revert path is not as trivial.

Show replies

jjallen · 8 days ago
This is interesting except for the fact that there is no license. This makes this "language" technically only usable by the creator?

This is what GH says about no license being included. I almost think they should make including a license obligatory.

> You're under no obligation to choose a license. However, without a license, the default copyright laws apply, meaning that you retain all rights to your source code and no one may reproduce, distribute, or create derivative works from your work. If you're creating an open source project, we strongly encourage you to include an open source license. The Open Source Guide provides additional guidance on choosing the correct license for your project.

Note

If you publish your source code in a public repository on GitHub, according to the Terms of Service, other users of GitHub.com have the right to view and fork your repository. If you have already created a repository and no longer want users to have access to the repository, you can make the repository private. When you change the visibility of a repository to private, existing forks or local copies created by other users will still exist. For more information, see "Setting repository visibility."

Also if it compiled to Rust instead of Go (it is written in Rust which made me think it compiled to Rust for a minute) we could do something about that darn GC.

Show replies

cies · 8 days ago
Gleam compiles to Erlang. Kotlin compiles to JVM bytecode and has great interop with Java. Rust and Zig easily call C. Elm compiles to JS and has a clear means to calling JS. TypeScript/ReScript/ReasonML all do something similar.

All these languages add type-safety and/or sum types and/or immutability-by-default and/or explicit-nullability.

I wish Borgo the best in doing the same for the Golang ecosystem. It's sorely needed.

laurentlb · 8 days ago
There are some interesting design ideas, but I'm not sure where the project is going. Based on the commit history, it was created by one person and there has been almost no activity in the last 12 months.

The current status is unclear (is anyone willing to use it in production) and the lack of license is of course a concern.

Show replies