← Back to context

Comment by melodyogonna

4 hours ago

That's two new languages compiling to Go making HN frontpage in as many days. It seems people like everything about Go except the language itself. Me? I like everything about Go including the language, these transpiled languages are interesting though.

But I keep wondering if they could integrate at a lower-level than the source code. Like how JVM languages integrate at the bytecode level, or LLVM languages at the LLVM level

> But I keep wondering if they could integrate at a lower-level than the source code.

I’m sure they could, but targeting go source code has the benefit of giving early adopters an escape hatch. If it targeted LLVM directly, I would never consider using this at work since the risk of it being abandoned is too high. But since it targets go source, I would perhaps consider it for some low importance projects at work.

  • The standard go toolchain doesn't use LLVM. Go has its own assembly format and machine code generation.

> But I keep wondering if they could integrate at a lower-level than the source code.

Unfortunately nothing below source code level is stable, so they would constantly be chasing changes after any Go release. I personally wish they would focus on making it accessible, as Go actually has a nice runtime and would make a good language target.

What was the other one?

I'm working on a language that transpiles to Zig with a custom Go-like runtime (and no garbage collector, Rust-style Affine movement instead).

Sky seems quite cool, as it's additive to Go in interesting ways.

I originally considered keeping the GC and just transpiling to Go so I didn't need to write a Runtime.

Go rules! It really does. But I HATE writing/reading Go.

So I'm glad more people are doing this!

If we think of Go as different kind of C, then having Go as a compiled target seems to make sense as C is a compiled target.