Comment by IshKebab

3 days ago

> Living proof that languages doesn't need forced types.

The opposite surely? TCL is practically dead, and only lingers on in the EDA industry (which has zero taste). Virtually every successful language today has at least a few different basic types for numbers, arrays, strings, maps and so on.

TCL's typicing discipline comes from shell languages and awk, which are decidedly not dead. The overwhelming majority of programmers have less than no taste, so language usage rates in general don't really mean much.

Well, if you use flightaware to track flights, you're using tcl. The vast majority of their codebase is in tcl.

If you place a sports bet online, odds (!) are that it will run through tcl in its business logic. I may even have written some of it.

Tcl has these types as well. They are special strings.

Number: string of digits. List: strings separated by space. Dictionary: key value pairs in a list.

  • No they aren't. Everything is a string. The runtime does some optimisation where it actually does use different types under the hood but they don't change the semantics.

    If you try to pass a list into a function expecting a string it will just treat the list as a string. No type error or anything, not even at runtime.

    CMake is the same. Terrible design. Real types are useful.