this post was submitted on 07 Jan 2024
900 points (94.3% liked)

Programmer Humor

19488 readers
894 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 82 points 10 months ago* (last edited 10 months ago) (2 children)

For the curious, this is about as easy as it gets for proper type inference. You could leave out the one or other thing (most prominently, polymorphism), but that kind of stuff would hardly qualify as even a toy example.

I won't claim that J. Random Hacker will have issues understanding it -- it's a neatly tied bundle of necessary complexity without any distracting parts (like efficiency), if you sit down with the thing (ideally starting the whole series from the beginning) you'll be able to grok it (and have learned a lot). However, understanding HM isn't the same as being able to extend it, which includes proving soundness of the system, that kind of stuff is a specialised field within a specialised field within academia with more open questions than answered ones. The reason Rust doesn't have HKTs? Because their interaction with lifetimes is insufficiently understood. Those kinds of questions can easily start 20+ years of research only to be answered with "yep that's inherently unsound/uncomputable/whatever".

Oh, EDIT, forgot: AI-enabled typing is obviously a completely braindead idea. I don't need a second lazy, impatient, hubristic idiot looking at my code, I need something to catch mistakes. Something deterministic, rule-based, pure unerring logic. Which is exactly what type systems are and do.

[–] [email protected] 12 points 10 months ago

This must be one of the best comments I have read so far on lemmy. Thank you. :)

[–] [email protected] 7 points 10 months ago

AI-enabled typing is obviously a completely braindead idea.

I agree. However, and I know I'm practically reading tea leaves here, but I read that last line as a suggestion that AI would replace programming outright.