So #TypeScript has:
- Types
- Interfaces
- Regular classes
- Anonymous classes
- Abstract classes
- Probably something else I'm not aware of yet

Why have all these, especially given that most of them are the same thing but with different restrictions? You can just do classes well enough and ditch most of it. #CommonLisp has classes that can easily dub as interfaces or abstract classes, why not just steal the idea and cut the amount of terms to learn and differentiate in, like, three times?

Okay, one more #TypeScript hater post: override functions are useless. Their selling point is that you can provide multiple (supposedly compatible) signatures for a function and then process whatever comes in being certain of its type. Except... it only allows one implementation body. So you may have five override signatures, but only one implementation function. And this implementation is doomed to re-invent type/value dispatching, even though TS was supposed to help. To illustrate, here's a simple "take string or int, convert it to int, and print it out" function in #CommonLisp, #JavaScript, and #typescript

(defmethod foo ((x string))
(foo (parse-integer x)))

(defmethod foo ((x integer))
(format t "~&X is d%" x))

-----------------------------------

function foo (x) {
if (typeof x === "string"){
foo(parseInt(x));
} else {
console.log("X is " + x)
}
}

------------------------------------

function foo(x: number): void;
function foo(x: string): void;
function foo(x: string | number): void {
if (typeof x === "string") {
console.log("X is " + parseInt(x));
} else {
console.log("X is " + x);
}
}

- CL generic function is short and strictly typed.
- JS function is short-ish and does its own type dispatching.
- TS function is LONG and DOES ITS OWN TYPE DISPATCHING. Useless, in other words.

I released the first alpha of my social media meta-client yesterday. So far only for #SailfishOS but Android's coming too after I've figured out all the Play Store stuff.

https://multipos.social/releases/2025-06-05-first-alpha-release/

https://openrepos.net/content/aerique/multipos

#CommonLisp#ECL#Lisp#Qt#LQML