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)
superfes @lemmy.world 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.
59 0 ReplyGissaMittJobb @lemmy.ml 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.
54 1 Replytyler @programming.dev Take a look at some typescript libraries and frameworks and you will see stuff like this. Completely unreadable mess.
16 2 Replyris @feddit.de I have seen image recognition or text RPGs with type script types, but
const ok:true = true as Grid< 4, 9, 2
Wtf19 0 ReplyMeltrax @lemmy.world Styled Components' type system is one of the most impressive and most fucked up things I've ever had to dive into.
6 0 ReplyBig P @feddit.uk
For example?
5 0 Reply
clericc @lemmy.world 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
31 0 Replythesporkeffect @lemmy.world 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
29 0 ReplyMinekPo1 @lemmy.ml
TL;DR:
Grid<A,B,C,D,E,F,G,H>
simplifies to true, if and only if it is a 3x3 magic square.full explanation
Fifteen
is an array of length 15T<A,B,C>
checks if an array of lengthA
+B
+C
is equivalent to an array of length 15, thus checking ifA
+B
+C
is equal to 15And<A,X>
is simplifies toX
ifA
is true, else it simplifies tofalse
Df<A,B,X>
checks ifA
andB
are Diffrent , simplifying toX
if they areGrid<A,B,C,D,E,F,G,H>
first checks if every row, column and diagonal is equal to 15, then checks if every item is unique.
44 0 Reply
ryannathans @aussie.zone Why tf
24 0 Replyalgernon @lemmy.ml
I think I can pinpoint the exact date things went sideways. It was a dark day on Monday, October 1, 2012.
11 0 Reply9point6 @lemmy.world 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
10 0 Replyplatypus_plumba @lemmy.world Looks like something that checks that the rows in a grid att up to 15. Why? IDK, a game?
5 0 Reply
Aurenkin @sh.itjust.works 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.
10 0 Replysettoloki @lemmy.one I see what you did there
2 1 Reply
baseless_discourse @mander.xyz Yeah, and apparently type checking/inference is trivial, says the "CTO" of Xitter. /s
10 0 Replyloaf @sh.itjust.works
My soul hurts
7 0 ReplyTHCDenton @lemmy.world
I don't want to look at this anymore
7 0 Replytoastal @lemmy.ml 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
3 0 ReplyRustyNova @lemmy.world That's why macro_rules!
3 0 Replybeeb @lemm.ee This is not rust :D Nothing will save typescript
5 0 Reply
CannotSleep420 @lemmygrad.ml 3 0 ReplyOCRBot @lemmygrad.ml
BOTCould not find any images with text
7 0 ReplyDhs92 @programming.dev Me neither bud, me neither...
10 0 Reply
Omega_Haxors @lemmy.ml Man these programmers are getting unhinged. Even I can't read this shit.
3 1 ReplyCannotSleep420 @lemmygrad.ml 1 0 Replynayminlwin @lemmy.ml Too much focus on compile time.
1 0 Replymindbleach @sh.itjust.works But C is worse than C++, because what if you have a pointer to a pointer?
7 19 Replyolorin99 @kbin.earth
You can have a pointer to a pointer in c++ too tho?
16 0 ReplyOmega_Haxors @lemmy.ml Can you have two pointers pointing at each other?
3 0 Replymindbleach @sh.itjust.works You don't say.
1 2 Reply
vext01 @lemmy.sdf.org
Eh?
3 1 ReplyUpperBroccoli @feddit.de
Also it is colder at night than it is outside.
3 1 Reply