Replies: 4 comments 8 replies
-
Go is a poor target for a functional language as the memory allocator is slow. In Go one uses a small number of large allocations and avoid memory churn, but in FP we do the opposite, so a Go FP language would be disappointingly slow. If we were going to have a new compilation target we would want to pick one that has many advantages and minimal disadvantages, enables things we can't do today, and solves existing problems. Go doesn't meet these requirements. We're also not looking for a new target generally. Currently the focus is on making everything one needs to make real production systems in Gleam: libraries, documentation, guides, frameworks, tools, examples, etc. To add a new target we would need to stop all of that and return to focusing on language design and implementation, which would be frustrating for Gleam users and likely greatly hinder growth and maturation of the ecosystem. |
Beta Was this translation helpful? Give feedback.
-
Plus Duplicate #1736 |
Beta Was this translation helpful? Give feedback.
-
I like what we already have so far. Compiles to JS so we have gleam on the web and bring Gleam to the hands of probably what is the largest groups of engineers out there, and compiles to erlang so we get the best part of the BEAM, hence giving us access to what is considered the best VM for concurrency, and makes for a great backend language. I don't see what compiling to Go will bring to the table that the existing compilation targets do not collectively have. |
Beta Was this translation helpful? Give feedback.
-
Beyond wishful thinking - and I love being on the BEAM for backend stuff - however, a JVM target would be pretty interesting and unlock a whole new ecosystem of libs, frameworks, tooling, etc. Writing functional code in Java/Kotlin leaves a lot to be desired. Ignore my input here though, I have no idea what I'm talking about! I'm quite happy with the BEAM 😉 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Both Beam and JavaScript are not so good for CPU intensive workflow.
Go is a light-weight and solid concurrent (go routine) platform and also bare mental enough with decent performance. It has GC too. Go is also mainstream enough according language ranks.
Go itself lacks many functional programming features we love, and Go team is no going to add them as the time being.
It would be good chance for Gleam to become a better Go and attract more users, like Typescript as a better JavaScript.
13 votes ·
Beta Was this translation helpful? Give feedback.
All reactions