5 ms·
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 https://gitlab.com/cznic/t
by tpoindex 4y 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 https://gitlab.com/cznic/tcl
Tk too! https://gitlab.com/cznic/tk https://gitlab.com/cznic/tk
Made possible by a clever C to Go compiler: https://gitlab.com/cznic/ccgo https://gitlab.com/cznic/ccgo
- doctor_eval 4y agoI 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.
- RHSeeger 4y agoI 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?
- robotresearcher 4y agoThe 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.
- RHSeeger 4y agoAh, 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.
- tpoindex 4y agoRight, 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.
- RHSeeger 4y agoThanks 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.
- hulitu 4y agoIt is not implemented, it is translated. I wonder how many bugs have been introduced by this translation.
- pjmlp 4y agoThat isn't the official one, just yet another implementation. https://www.tcl.tk/software/tcltk/8.6.html https://www.tcl.tk/software/tcltk/8.6.html