Live data from Hacker News

Jim Tcl version 0.78

jim.tcl.tk

11–20 of 26 posts

Re: Jim Tcl version 0.78

#11
post #9
post #8

Earlier quoted context omitted.

Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual script writer. EDIT: However there is an even more important thing that resembles Tcl in Redis: the commands you send to the server to alter the data set are very similar to Tcl commands.

there is no such thing as casual redis script writer if you are technical enough to write scripts for redis, you are not casual

I actually agree whole-heartedly with this comment.

But I wouldn't have written with such a dismissive tone to a living software god :-)

Anyway, Lua was a fine choice!

Re: Jim Tcl version 0.78

#12
post #10
post #2

I started this project many years ago, and later abandoned it. Fortunately the project found another gentle and capable father that developed it for years and put it into a useful niche: embedded systems. However Jim Tcl is still, for me, a milestone of my programming life. It was the first time that, inspired by the Tcl internals, I started to realize how to write clean C code using better abstractions. It's awesome…

Why is it called "Jim"?

Maybe a play on words? Many people pronounce Tcl as tickle. Jim Tcl, George Dickel?

If so, they should have named it George Tcl. Jim is known for another whiskey.

Re: Jim Tcl version 0.78

#14
post #8

Earlier quoted context omitted.

I always wondered why you used lua embedded into redis instead of tcl? Has that been written about before?

Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual script writer. EDIT: However there is an even more important thing that resembles Tcl in Redis: the commands you send to the server to alter the data set are very similar to Tcl commands.

Did sandboxing factor into the equation? My understanding is lua scripts in redis aren't sandboxed, other than the (possibly?) restricted api. But one could limit heap with a custom allocator for example, and cpu cycles with a hook, if desired.

Re: Jim Tcl version 0.78

#15
post #14
post #8

Earlier quoted context omitted.

Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual script writer. EDIT: However there is an even more important thing that resembles Tcl in Redis: the commands you send to the server to alter the data set are very similar to Tcl commands.

Did sandboxing factor into the equation? My understanding is lua scripts in redis aren't sandboxed, other than the (possibly?) restricted api. But one could limit heap with a custom allocator for example, and cpu cycles with a hook, if desired.

I think that wouldn’t be an argument for Lua over Tcl, as Tcl has facilities built especially for this type of environment:

Safe Interpreters[0] and resource constraints[1] come to mind.

[0] https://wiki.tcl.tk/4204

[1] https://www.tcl.tk/man/tcl/TclCmd/interp.htm#M47

Re: Jim Tcl version 0.78

#16
post #9
post #8

Earlier quoted context omitted.

Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual script writer. EDIT: However there is an even more important thing that resembles Tcl in Redis: the commands you send to the server to alter the data set are very similar to Tcl commands.

there is no such thing as casual redis script writer if you are technical enough to write scripts for redis, you are not casual

Yep but perhaps you want to glue two commands together. I wanted to avoid forcing this kind of users to learn a new language.

Re: Jim Tcl version 0.78

#17
post #8

Earlier quoted context omitted.

I always wondered why you used lua embedded into redis instead of tcl? Has that been written about before?

Because I thought it was not a good idea to script Redis using an opinionated language as Tcl. Lua is a lot more "algol like", more understandable to the casual script writer. EDIT: However there is an even more important thing that resembles Tcl in Redis: the commands you send to the server to alter the data set are very similar to Tcl commands.

I find it somewhat amusing (but understandable) that you thought Tcl was too complicated for "script programmers", but fine as the standard interface to get anything done with (raw) redis ;)

It's a shame, Redis could've become the storage back-end for the next AOL server! ;)

Well, I suppose it probably is used with aolserver anyway.

For those confused by this comment, see:

http://philip.greenspun.com/panda/

And/or:

https://openacs.org/

NaviServer appears to be the "new" aolserver:

http://wiki.tcl.tk/2090

While aolserver still exists, I'm maintainence mode: http://aolserver.github.io/

Re: Jim Tcl version 0.78

#18
I heard many times about tcl or tcl/tk. Never paid attention until today. I really liked the language but looks like kind of dead to me. Last tclkit version is 8 years old. I tried to compile a tcl/tk application to an executable file and most of the websites explaining the process pointed to broken links (other docs, executables, etc).

Is tcl/tk still alive?

Re: Jim Tcl version 0.78

#19

I heard many times about tcl or tcl/tk. Never paid attention until today. I really liked the language but looks like kind of dead to me. Last tclkit version is 8 years old. I tried to compile a tcl/tk application to an executable file and most of the websites explaining the process pointed to broken links (other docs, executables, etc). Is tcl/tk still alive?

It's still used in applications that just work and boringly continue to do so. Like the SQLite test suite or MacPorts or Expect. Eurocontrol also uses it for air traffic control.

https://wiki.tcl.tk/37389

Re: Jim Tcl version 0.78

#20

I heard many times about tcl or tcl/tk. Never paid attention until today. I really liked the language but looks like kind of dead to me. Last tclkit version is 8 years old. I tried to compile a tcl/tk application to an executable file and most of the websites explaining the process pointed to broken links (other docs, executables, etc). Is tcl/tk still alive?

It's used a lot in the electronics industry for scripting testing and debugging.
Post reply on HN