Tcled: Pure Tcl Console Text Editor (2019)
github.com
github.com
https://www.se-radio.net/2022/07/episode-520-john-ousterhout...
It wasn't pure Tcl, but it had more than 1 "cursor", which I haven't seen elsewhere.
(I know you meant post at the top level, but I don't do that and don't have time to look up the rules for doing that.)
https://github.com/skx/critical/
It's a little addictive writing toy-interpreters for various (older and simpler) languages.
https://www.google.com/url?sa=t&source=web&rct=j&url=https:/...
I think Tcl(’s standard library) is still too wordy to make a comfortable interactive shell, but it’s still leagues above everything else I’ve seen; in particular, I can’t help but think Shivers’s dismissal of interactive use in his description of Scsh is something of a cop-out—there are (now, maybe not then) plenty of nice languages to hack a prototype or a quick script in, but somehow Bourne shell + Unix utilities is still the best we can do that won’t make my fingers ache? Tcl demonstrates very well that inside sh there’s a Lisp trying to get out (and Plan 9’s rc does the same but worse), but somehow that line of thought seems to not have been continued further.
(Just in case, I see both Elvish and PowerShell as being more in the Scsh direction than the Tcl direction, that is making a “proper” language at the expense of interactive use and my fingers; Elvish appears to at least have a properness-Bourneness knob but that’s hardly a solution. Anyhow, I don’t think either contributes much to our knowledge of the virtually untouched interactive-use landscape, as opposed to the relatively well-explored scripting-language landscape.)
[1] http://yosefk.com/blog/i-cant-believe-im-praising-tcl.html
Yeah, but it's some kind of Alternate Web Ghost Story prototype where an uncanny valley ends up terrorizing the developer.
Imagine: you hear faint sounds outside your tent in the middle of the night. You get out to see an vector infographic rustling through your backpack.
And as you slowly approach, it gets bigger. And bigger.
Except for the text, which remains the same size no matter how close you get!
"AAaaaah!"
When the forest rangers arrive the next morning, you and your entire party are nowhere to be found. All that remains is a tiny library a mere few megs in size.
A bush behind your tents hides an old, rusty sign with text too small for the rangers to read:
"Caution: tk canvas scale subcommand does not rescale text or images-- it only adjusts their x/y coordinates."
Edit: clarification
While Tcl/Tk is good, it isn't better than VB, Delphi, C++ Builder, Qt Design Studio, Windows Forms on that regard.
Fantastically capable language.
But in a more practical sense, I see Tcl/Tk closer to awk these times. You won't deliver products in it, but it can come in very helpful in your own tooling or ad-hoc scripting. There's a surprising amount of uses for GUIs that are basically just a few buttons.
One very fruitful use I can remember is a factory setup, where people controlled parts of the machinery via Windows remote login. Now, if someone was already doing this and another person logged in, you basically stole their session.
So in came a very simple "busy" desktop app that just checked the status and showed an appropriately colored button. Clicking on it started the session app, I think there was even some "Please get off soon" messaging later.
There's a lot of utility in that, and Tcl makes it easy to build and deploy. Especially compared to some kind of webapp thingamajig. You probably won't sell this as a product, but that's what scripting is about.
Note that Tcl's other killer app was "expect", which enabled you to script interactive terminal sessions, e.g. getting information or executing commands via ssh. That tied in well with a GUI to display said information or trigger the commands.
Whether Tcl as a language is worth it over just using e.g. Tkinter is another matter these days.
The GUI parts of the default git (git-gui/gitk) install are written in Tcl/Tk, by the way. This means that it's likely to be installed on a developer system. Even the Windows GIT package includes it, which adds to the ease of deployment/development.
Give it a shot!
Reading a computer program written in such terse style is like reading a textbook in a completely unfamiliar field, without a symbol glossary or explanatory text. The cognitive burden can be extreme.
I do agree that there is some value in higher information density and the ability to quickly "pattern match" on sections of code (eg. regex), but only up to a point.
(Most of them seem to have parameters, so it wouldn't make sense to golf this even further and have a exec command that just accepts one letter)