Hacker News new | ask | show | jobs
by tpoindex 1222 days ago
JO might be interested to see that Tcl is now implemented in Go. Not a clone, but the actual Tcl code: https://gitlab.com/cznic/tcl

Tk too! https://gitlab.com/cznic/tk

Made possible by a clever C to Go compiler: https://gitlab.com/cznic/ccgo

4 comments

That isn't the official one, just yet another implementation.

https://www.tcl.tk/software/tcltk/8.6.html

It is not implemented, it is translated. I wonder how many bugs have been introduced by this translation.
I am trying to figure out what you mean by this. I was under the impression the official Tcl source was in C. Can you provide more of an explanation?
The C source has been translated ('transpiled') to Go source. That's not what is usually meant by 'implemented in', but I guess it's not wrong, since there now exists an implementation in Golang.
Ah, ok, that makes more sense then. The "implemented in. Not a clone" made it sound like the actual, core language implementation had been switched over to Go... and clearly that didn't sound right.
Right, the reference Tcl implementation is still in C. This project takes the C code and produces Go, along with a supporting libc emulation in Go. It's still the original C code, not a clone as Jim or Picol.
Thanks for the clarification. I don't use Tcl for normal work anymore (though I still use it for small things), but it still has a very special place in my heart. It's one of my favorite languages to program in.
I was really into Tcl in the mid 90s. Loved it! And Tk was awesome! And then there was Expect…

But despite now being a Go programmer, and as much as I’d like to try it, I can barely remember a single thing about any of it.

But I do wish there was a bit more info in the README.