Ok, at some point we made a big mistake.
Ok, at some point we made a big mistake.
Hacker News post about this: https://news.ycombinator.com/item?id=39309783 (source available)
Ok, at some point we made a big mistake.
Hacker News post about this: https://news.ycombinator.com/item?id=39309783 (source available)
This doesn't actually read as serious TypeScript, moreso as someone trying to showcase unhinged code.
I'd be happy to be proven wrong with a link to the source code so that I can look the beast in the eye.
Take a look at some typescript libraries and frameworks and you will see stuff like this. Completely unreadable mess.
After 5 minutes of staring at it: Its typesystem sudoku. Each row and each col in the grid must add up to 15 (T<>), bit each number in the grid must be different (Df<>).
Grid will only be a type alias for the value true (google "Dependent types") only if all Type Parameters (wich are values) hold up to the Sudoku conditions).
The file would not compile with "true as Grid" when grid type-aliases to false.
Fun to understand.
EDIT: too late
I like to think I can usually look at code in languages I don't know and still get the gist of what it does but I am drawing a complete blank. Is this even slightly legible to anyone and if yes please explain
TL;DR: Grid<A,B,C,D,E,F,G,H>
simplifies to true, if and only if it is a 3x3 magic square.
Why tf
I think I can pinpoint the exact date things went sideways. It was a dark day on Monday, October 1, 2012.
Yeah, and apparently type checking/inference is trivial, says the "CTO" of Xitter. /s
This seems like a generic type of problem that could happen to anyone. Hopefully we can learn from this and avoid appending it to our already large grid of problems.
I see what you did there
I'm really trying to figure out what this is used for and why it was done this way.
I'm not having much success
Looks like something that checks that the rows in a grid att up to 15. Why? IDK, a game?
My soul hurts
I don't want to look at this anymore
Can confirm.
Could not find any images with text
Me neither bud, me neither...
That's why macro_rules!
This is not rust :D Nothing will save typescript
If TypeScript didn’t have terrible type-level ergonomics, this wouldn’t look so bad—even if this toy example is largely just a brain exercise
Man these programmers are getting unhinged. Even I can't read this shit.
Too much focus on compile time.
I've written some magic templates that I assume are not easy to read by those who don't know.
But this is seemingly unmaintainable... terrifying... and kind of neat.