Never thought I would see the day this type checks in less than a second 馃く
Always bet on TypeScript! Just ran a perf check on the Go implementation in a massive @tan_stack Router project.
Even without JSX (not supported yet), it鈥檚 already 3.3脳 faster than TS 5.8. Promising results! 馃殌
Never thought I would be described in this way. Genius I'd reserve for him. I just like types.
Replying to @AdamRackis @c_horobin
He鈥檚 a genius. I may have designed a lot of the initial architecture, but he鈥檚 the one making things crazy fast and bulletproof. I am now the student of my own library.
Type level code is just another language to learn. If you're uncomfortable looking at it, you probably don't know it that well
I still think those repulsed by advanced TS just haven't done it enough. It's a small and quirky functional language. The great thing is there aren't any side effects you have to worry about
I've used many languages in my career. I can only think of C maybe. C++ is definitely not fast to compile
If a package solves a difficult problem then I use it. I don't pull in packages because it reduces boilerplate of simple code most understand
Here goes a simple example. Firstly transforming a tuple type to a union while concatenating two properties together separated by `/`. While its simple, there is a number of ways to do it
I'm going to start with how I would do it. A distributive conditional feels natural to unions. A truthy conditional check is easy on the compiler and is an easy way to trigger distribution
Over encouraging abstraction, design patterns, oop and fp for learning developers was definitely a mistake. I don't ever remember being encouraged to write simple code
Iterating and creating a union = use a distributive conditional
Iterating and creating an object/array = use a mapped type
Use recursion if you can't use any of the above






