AI generated tests as ceremony
https://www.reddit.com/r/programming/comments/1qng7j6/ai_generated_tests_as_ceremony/
submitted by /u/toolbelt (https://www.reddit.com/user/toolbelt)
[link] (https://blog.ploeh.dk/2026/01/26/ai-generated-tests-as-ceremony/) [comments] (https://www.reddit.com/r/programming/comments/1qng7j6/ai_generated_tests_as_ceremony/)
https://www.reddit.com/r/programming/comments/1qng7j6/ai_generated_tests_as_ceremony/
submitted by /u/toolbelt (https://www.reddit.com/user/toolbelt)
[link] (https://blog.ploeh.dk/2026/01/26/ai-generated-tests-as-ceremony/) [comments] (https://www.reddit.com/r/programming/comments/1qng7j6/ai_generated_tests_as_ceremony/)
Neutralinojs v6.5 released
https://www.reddit.com/r/programming/comments/1qnhaw9/neutralinojs_v65_released/
submitted by /u/delvin0 (https://www.reddit.com/user/delvin0)
[link] (https://neutralino.js.org/docs/release-notes/framework#v650) [comments] (https://www.reddit.com/r/programming/comments/1qnhaw9/neutralinojs_v65_released/)
https://www.reddit.com/r/programming/comments/1qnhaw9/neutralinojs_v65_released/
submitted by /u/delvin0 (https://www.reddit.com/user/delvin0)
[link] (https://neutralino.js.org/docs/release-notes/framework#v650) [comments] (https://www.reddit.com/r/programming/comments/1qnhaw9/neutralinojs_v65_released/)
[Meta] Mods, when will you get on top of the constant AI slop posts?
https://www.reddit.com/r/programming/comments/1qni22q/meta_mods_when_will_you_get_on_top_of_the/
<!-- SC_OFF -->They never do well in terms of Karma or engagement. All they do is take a spot in the feed better suited to actual meaningful content. They constantly break rules 2, 3, and 6. At a bare minimum that should be enough reason to remove them. But more than that, AI has as much to do with programming as it does visual artistry. Which is to say, for those that care, nothing at all. LLMs and their enthusiasts have other spaces to share their posts. It's clear by common consensus that /r/programming (https://www.reddit.com/r/programming) does not want to be one of them. At this point I'm just padding things out for word count. So, for the sake of facetiousness, here's Gemeni pointlessly reinterpreting what have already said above, since that's apparently the level of content were comfortable with around here. ---- Option 1: Direct and Policy-Focused This version stays professional and emphasizes the subreddit’s standards. AI-related posts consistently see low engagement and poor karma, yet they continue to clutter the feed and displace higher-quality content. More importantly, these posts frequently violate Rules 2, 3, and 6, which alone warrants their removal. Just as in the art world, many in the developer community view AI as a separate entity from the craft itself. Since there are dedicated spaces for LLM discussion, and the consensus here is clearly negative, we should keep /r/programming (https://www.reddit.com/r/programming) focused on actual programming. Option 2: Community-Centric (The "Purist" Perspective) This version leans into the sentiment that AI isn't "real" programming work. It’s time to acknowledge that AI content doesn't belong here. These posts rarely spark meaningful discussion and often feel like noise in a feed meant for genuine development topics. Beyond the technicality that they often break sub rules (specifically 2, 3, and 6), there’s a deeper issue: to a programmer, an LLM is a tool, not the craft. If the community wanted this content, it wouldn't be consistently downvoted. Let’s leave the AI hype to the AI subreddits and keep this space for code. Option 3: Short and Punchy Best for a quick comment or a TL;DR. AI posts are a poor fit for /r/programming (https://www.reddit.com/r/programming). They consistently fail to gain traction, violate multiple community rules (2, 3, and 6), and don't align with the interests of those who value the actual craft of programming. There are better subreddits for LLM enthusiasts; let’s keep this feed dedicated to meaningful, relevant content. <!-- SC_ON --> submitted by /u/Omnipresent_Walrus (https://www.reddit.com/user/Omnipresent_Walrus)
[link] (http://reddit.com/r/programming) [comments] (https://www.reddit.com/r/programming/comments/1qni22q/meta_mods_when_will_you_get_on_top_of_the/)
https://www.reddit.com/r/programming/comments/1qni22q/meta_mods_when_will_you_get_on_top_of_the/
<!-- SC_OFF -->They never do well in terms of Karma or engagement. All they do is take a spot in the feed better suited to actual meaningful content. They constantly break rules 2, 3, and 6. At a bare minimum that should be enough reason to remove them. But more than that, AI has as much to do with programming as it does visual artistry. Which is to say, for those that care, nothing at all. LLMs and their enthusiasts have other spaces to share their posts. It's clear by common consensus that /r/programming (https://www.reddit.com/r/programming) does not want to be one of them. At this point I'm just padding things out for word count. So, for the sake of facetiousness, here's Gemeni pointlessly reinterpreting what have already said above, since that's apparently the level of content were comfortable with around here. ---- Option 1: Direct and Policy-Focused This version stays professional and emphasizes the subreddit’s standards. AI-related posts consistently see low engagement and poor karma, yet they continue to clutter the feed and displace higher-quality content. More importantly, these posts frequently violate Rules 2, 3, and 6, which alone warrants their removal. Just as in the art world, many in the developer community view AI as a separate entity from the craft itself. Since there are dedicated spaces for LLM discussion, and the consensus here is clearly negative, we should keep /r/programming (https://www.reddit.com/r/programming) focused on actual programming. Option 2: Community-Centric (The "Purist" Perspective) This version leans into the sentiment that AI isn't "real" programming work. It’s time to acknowledge that AI content doesn't belong here. These posts rarely spark meaningful discussion and often feel like noise in a feed meant for genuine development topics. Beyond the technicality that they often break sub rules (specifically 2, 3, and 6), there’s a deeper issue: to a programmer, an LLM is a tool, not the craft. If the community wanted this content, it wouldn't be consistently downvoted. Let’s leave the AI hype to the AI subreddits and keep this space for code. Option 3: Short and Punchy Best for a quick comment or a TL;DR. AI posts are a poor fit for /r/programming (https://www.reddit.com/r/programming). They consistently fail to gain traction, violate multiple community rules (2, 3, and 6), and don't align with the interests of those who value the actual craft of programming. There are better subreddits for LLM enthusiasts; let’s keep this feed dedicated to meaningful, relevant content. <!-- SC_ON --> submitted by /u/Omnipresent_Walrus (https://www.reddit.com/user/Omnipresent_Walrus)
[link] (http://reddit.com/r/programming) [comments] (https://www.reddit.com/r/programming/comments/1qni22q/meta_mods_when_will_you_get_on_top_of_the/)
MenuetOS running some simple Linux Mint X11 binaries.
https://www.reddit.com/r/programming/comments/1qnicju/menuetos_running_some_simple_linux_mint_x11/
<!-- SC_OFF -->These are Linux Mint applications and libraries, which are copied to MenuetOS and run just fine. No re-compiling. Ive tested around 100 libraries that atleast link and init fine. ( menuetos.net (http://menuetos.net/) ) <!-- SC_ON --> submitted by /u/Apart_Deer_8124 (https://www.reddit.com/user/Apart_Deer_8124)
[link] (https://www.reddit.com/r/osdev/comments/1pccgx4/menuetos_running_some_simple_linux_mint_x11/) [comments] (https://www.reddit.com/r/programming/comments/1qnicju/menuetos_running_some_simple_linux_mint_x11/)
https://www.reddit.com/r/programming/comments/1qnicju/menuetos_running_some_simple_linux_mint_x11/
<!-- SC_OFF -->These are Linux Mint applications and libraries, which are copied to MenuetOS and run just fine. No re-compiling. Ive tested around 100 libraries that atleast link and init fine. ( menuetos.net (http://menuetos.net/) ) <!-- SC_ON --> submitted by /u/Apart_Deer_8124 (https://www.reddit.com/user/Apart_Deer_8124)
[link] (https://www.reddit.com/r/osdev/comments/1pccgx4/menuetos_running_some_simple_linux_mint_x11/) [comments] (https://www.reddit.com/r/programming/comments/1qnicju/menuetos_running_some_simple_linux_mint_x11/)
Retrieve and Rerank: Personalized Search Without Leaving Postgres
https://www.reddit.com/r/programming/comments/1qnjcbc/retrieve_and_rerank_personalized_search_without/
submitted by /u/philippemnoel (https://www.reddit.com/user/philippemnoel)
[link] (https://www.paradedb.com/blog/personalized-search-in-postgresql) [comments] (https://www.reddit.com/r/programming/comments/1qnjcbc/retrieve_and_rerank_personalized_search_without/)
https://www.reddit.com/r/programming/comments/1qnjcbc/retrieve_and_rerank_personalized_search_without/
submitted by /u/philippemnoel (https://www.reddit.com/user/philippemnoel)
[link] (https://www.paradedb.com/blog/personalized-search-in-postgresql) [comments] (https://www.reddit.com/r/programming/comments/1qnjcbc/retrieve_and_rerank_personalized_search_without/)
The Boring Breach
https://www.reddit.com/r/programming/comments/1qnk0fw/the_boring_breach/
<!-- SC_OFF -->I logged into the database and everything was gone. Not corrupted, not encrypted, just deleted and replaced with a polite request for Bitcoin. The strange part was not the ransom note. It was realizing the damage happened months after the real mistake. <!-- SC_ON --> submitted by /u/Unhappy_Concept237 (https://www.reddit.com/user/Unhappy_Concept237)
[link] (https://hashrocket.substack.com/p/the-boring-breach) [comments] (https://www.reddit.com/r/programming/comments/1qnk0fw/the_boring_breach/)
https://www.reddit.com/r/programming/comments/1qnk0fw/the_boring_breach/
<!-- SC_OFF -->I logged into the database and everything was gone. Not corrupted, not encrypted, just deleted and replaced with a polite request for Bitcoin. The strange part was not the ransom note. It was realizing the damage happened months after the real mistake. <!-- SC_ON --> submitted by /u/Unhappy_Concept237 (https://www.reddit.com/user/Unhappy_Concept237)
[link] (https://hashrocket.substack.com/p/the-boring-breach) [comments] (https://www.reddit.com/r/programming/comments/1qnk0fw/the_boring_breach/)
Using Floating-point in C++: What Works, What Breaks, and Why - Egor Suvorov - CppCon 2025
https://www.reddit.com/r/programming/comments/1qnl3d6/using_floatingpoint_in_c_what_works_what_breaks/
submitted by /u/BlueGoliath (https://www.reddit.com/user/BlueGoliath)
[link] (https://www.youtube.com/watch?v=m83TjrB6wYw) [comments] (https://www.reddit.com/r/programming/comments/1qnl3d6/using_floatingpoint_in_c_what_works_what_breaks/)
https://www.reddit.com/r/programming/comments/1qnl3d6/using_floatingpoint_in_c_what_works_what_breaks/
submitted by /u/BlueGoliath (https://www.reddit.com/user/BlueGoliath)
[link] (https://www.youtube.com/watch?v=m83TjrB6wYw) [comments] (https://www.reddit.com/r/programming/comments/1qnl3d6/using_floatingpoint_in_c_what_works_what_breaks/)
After two years of vibecoding, I'm back to writing by hand
https://www.reddit.com/r/programming/comments/1qnlk8z/after_two_years_of_vibecoding_im_back_to_writing/
<!-- SC_OFF -->An interesting perspective. <!-- SC_ON --> submitted by /u/BinaryIgor (https://www.reddit.com/user/BinaryIgor)
[link] (https://atmoio.substack.com/p/after-two-years-of-vibecoding-im) [comments] (https://www.reddit.com/r/programming/comments/1qnlk8z/after_two_years_of_vibecoding_im_back_to_writing/)
https://www.reddit.com/r/programming/comments/1qnlk8z/after_two_years_of_vibecoding_im_back_to_writing/
<!-- SC_OFF -->An interesting perspective. <!-- SC_ON --> submitted by /u/BinaryIgor (https://www.reddit.com/user/BinaryIgor)
[link] (https://atmoio.substack.com/p/after-two-years-of-vibecoding-im) [comments] (https://www.reddit.com/r/programming/comments/1qnlk8z/after_two_years_of_vibecoding_im_back_to_writing/)
PULS v0.5.1 Released - A Rust-based detailed system monitoring and editing dashboard on TUI
https://www.reddit.com/r/programming/comments/1qnq7uj/puls_v051_released_a_rustbased_detailed_system/
submitted by /u/word-sys (https://www.reddit.com/user/word-sys)
[link] (https://github.com/word-sys/puls/releases/tag/0.5.1) [comments] (https://www.reddit.com/r/programming/comments/1qnq7uj/puls_v051_released_a_rustbased_detailed_system/)
https://www.reddit.com/r/programming/comments/1qnq7uj/puls_v051_released_a_rustbased_detailed_system/
submitted by /u/word-sys (https://www.reddit.com/user/word-sys)
[link] (https://github.com/word-sys/puls/releases/tag/0.5.1) [comments] (https://www.reddit.com/r/programming/comments/1qnq7uj/puls_v051_released_a_rustbased_detailed_system/)
Kubernetes Remote Code Execution Via Nodes/Proxy GET Permission
https://www.reddit.com/r/programming/comments/1qns00q/kubernetes_remote_code_execution_via_nodesproxy/
submitted by /u/ieyberg (https://www.reddit.com/user/ieyberg)
[link] (https://grahamhelton.com/blog/nodes-proxy-rce) [comments] (https://www.reddit.com/r/programming/comments/1qns00q/kubernetes_remote_code_execution_via_nodesproxy/)
https://www.reddit.com/r/programming/comments/1qns00q/kubernetes_remote_code_execution_via_nodesproxy/
submitted by /u/ieyberg (https://www.reddit.com/user/ieyberg)
[link] (https://grahamhelton.com/blog/nodes-proxy-rce) [comments] (https://www.reddit.com/r/programming/comments/1qns00q/kubernetes_remote_code_execution_via_nodesproxy/)
Admiran: a pure, lazy functional programming language and self-hosting compiler
https://www.reddit.com/r/programming/comments/1qnswpp/admiran_a_pure_lazy_functional_programming/
submitted by /u/AustinVelonaut (https://www.reddit.com/user/AustinVelonaut)
[link] (https://github.com/taolson/Admiran) [comments] (https://www.reddit.com/r/programming/comments/1qnswpp/admiran_a_pure_lazy_functional_programming/)
https://www.reddit.com/r/programming/comments/1qnswpp/admiran_a_pure_lazy_functional_programming/
submitted by /u/AustinVelonaut (https://www.reddit.com/user/AustinVelonaut)
[link] (https://github.com/taolson/Admiran) [comments] (https://www.reddit.com/r/programming/comments/1qnswpp/admiran_a_pure_lazy_functional_programming/)
Clawdbot and vibe coding have the same flaw. Someone else decides when you get hacked.
https://www.reddit.com/r/programming/comments/1qo7cmi/clawdbot_and_vibe_coding_have_the_same_flaw/
submitted by /u/bishwasbhn (https://www.reddit.com/user/bishwasbhn)
[link] (https://webmatrices.com/post/clawdbot-and-vibe-coding-have-the-same-flaw-someone-else-decides-when-you-get-hacked) [comments] (https://www.reddit.com/r/programming/comments/1qo7cmi/clawdbot_and_vibe_coding_have_the_same_flaw/)
https://www.reddit.com/r/programming/comments/1qo7cmi/clawdbot_and_vibe_coding_have_the_same_flaw/
submitted by /u/bishwasbhn (https://www.reddit.com/user/bishwasbhn)
[link] (https://webmatrices.com/post/clawdbot-and-vibe-coding-have-the-same-flaw-someone-else-decides-when-you-get-hacked) [comments] (https://www.reddit.com/r/programming/comments/1qo7cmi/clawdbot_and_vibe_coding_have_the_same_flaw/)
When “just spin” hurts performance and breaks under real schedulers
https://www.reddit.com/r/programming/comments/1qo9qob/when_just_spin_hurts_performance_and_breaks_under/
submitted by /u/Lectem (https://www.reddit.com/user/Lectem)
[link] (https://www.siliceum.com/en/blog/post/spinning-around/?s=r) [comments] (https://www.reddit.com/r/programming/comments/1qo9qob/when_just_spin_hurts_performance_and_breaks_under/)
https://www.reddit.com/r/programming/comments/1qo9qob/when_just_spin_hurts_performance_and_breaks_under/
submitted by /u/Lectem (https://www.reddit.com/user/Lectem)
[link] (https://www.siliceum.com/en/blog/post/spinning-around/?s=r) [comments] (https://www.reddit.com/r/programming/comments/1qo9qob/when_just_spin_hurts_performance_and_breaks_under/)
Lessons from running an 8-hour TCP stress test on Windows (latency, CPU, memory)
https://www.reddit.com/r/programming/comments/1qocluk/lessons_from_running_an_8hour_tcp_stress_test_on/
submitted by /u/Kranya (https://www.reddit.com/user/Kranya)
[link] (https://github.com/Kranyai/SimpleSocketBridge/blob/main/docs/overnight-benchmark.md) [comments] (https://www.reddit.com/r/programming/comments/1qocluk/lessons_from_running_an_8hour_tcp_stress_test_on/)
https://www.reddit.com/r/programming/comments/1qocluk/lessons_from_running_an_8hour_tcp_stress_test_on/
submitted by /u/Kranya (https://www.reddit.com/user/Kranya)
[link] (https://github.com/Kranyai/SimpleSocketBridge/blob/main/docs/overnight-benchmark.md) [comments] (https://www.reddit.com/r/programming/comments/1qocluk/lessons_from_running_an_8hour_tcp_stress_test_on/)
Simpler JVM Project Setup with Mill 1.1.0
https://www.reddit.com/r/programming/comments/1qoctbm/simpler_jvm_project_setup_with_mill_110/
submitted by /u/lihaoyi (https://www.reddit.com/user/lihaoyi)
[link] (https://mill-build.org/blog/17-simpler-jvm-mill-110.html) [comments] (https://www.reddit.com/r/programming/comments/1qoctbm/simpler_jvm_project_setup_with_mill_110/)
https://www.reddit.com/r/programming/comments/1qoctbm/simpler_jvm_project_setup_with_mill_110/
submitted by /u/lihaoyi (https://www.reddit.com/user/lihaoyi)
[link] (https://mill-build.org/blog/17-simpler-jvm-mill-110.html) [comments] (https://www.reddit.com/r/programming/comments/1qoctbm/simpler_jvm_project_setup_with_mill_110/)
Digital Excommunication - The need for an European tech ecosystem
https://www.reddit.com/r/programming/comments/1qodcf5/digital_excommunication_the_need_for_an_european/
submitted by /u/pgaleone (https://www.reddit.com/user/pgaleone)
[link] (https://pgaleone.eu/europe/2026/01/27/digital-excommunication/) [comments] (https://www.reddit.com/r/programming/comments/1qodcf5/digital_excommunication_the_need_for_an_european/)
https://www.reddit.com/r/programming/comments/1qodcf5/digital_excommunication_the_need_for_an_european/
submitted by /u/pgaleone (https://www.reddit.com/user/pgaleone)
[link] (https://pgaleone.eu/europe/2026/01/27/digital-excommunication/) [comments] (https://www.reddit.com/r/programming/comments/1qodcf5/digital_excommunication_the_need_for_an_european/)
Designing Error Types in Rust Applications
https://www.reddit.com/r/programming/comments/1qodfji/designing_error_types_in_rust_applications/
submitted by /u/Expurple (https://www.reddit.com/user/Expurple)
[link] (https://home.expurple.me/posts/designing-error-types-in-rust-applications/) [comments] (https://www.reddit.com/r/programming/comments/1qodfji/designing_error_types_in_rust_applications/)
https://www.reddit.com/r/programming/comments/1qodfji/designing_error_types_in_rust_applications/
submitted by /u/Expurple (https://www.reddit.com/user/Expurple)
[link] (https://home.expurple.me/posts/designing-error-types-in-rust-applications/) [comments] (https://www.reddit.com/r/programming/comments/1qodfji/designing_error_types_in_rust_applications/)
PC Port of Banjo-Kazooie made using N64: Recompiled
https://www.reddit.com/r/programming/comments/1qogvk1/pc_port_of_banjokazooie_made_using_n64_recompiled/
submitted by /u/r_retrohacking_mod2 (https://www.reddit.com/user/r_retrohacking_mod2)
[link] (https://github.com/BanjoRecomp/BanjoRecomp) [comments] (https://www.reddit.com/r/programming/comments/1qogvk1/pc_port_of_banjokazooie_made_using_n64_recompiled/)
https://www.reddit.com/r/programming/comments/1qogvk1/pc_port_of_banjokazooie_made_using_n64_recompiled/
submitted by /u/r_retrohacking_mod2 (https://www.reddit.com/user/r_retrohacking_mod2)
[link] (https://github.com/BanjoRecomp/BanjoRecomp) [comments] (https://www.reddit.com/r/programming/comments/1qogvk1/pc_port_of_banjokazooie_made_using_n64_recompiled/)
How I estimate work as a staff software engineer
https://www.reddit.com/r/programming/comments/1qoj5mb/how_i_estimate_work_as_a_staff_software_engineer/
submitted by /u/Ordinary_Leader_2971 (https://www.reddit.com/user/Ordinary_Leader_2971)
[link] (https://www.seangoedecke.com/how-i-estimate-work/) [comments] (https://www.reddit.com/r/programming/comments/1qoj5mb/how_i_estimate_work_as_a_staff_software_engineer/)
https://www.reddit.com/r/programming/comments/1qoj5mb/how_i_estimate_work_as_a_staff_software_engineer/
submitted by /u/Ordinary_Leader_2971 (https://www.reddit.com/user/Ordinary_Leader_2971)
[link] (https://www.seangoedecke.com/how-i-estimate-work/) [comments] (https://www.reddit.com/r/programming/comments/1qoj5mb/how_i_estimate_work_as_a_staff_software_engineer/)
The Cost of Certainty: Why Perfect is the Enemy of Scale in Distributed Systems
https://www.reddit.com/r/programming/comments/1qokaan/the_cost_of_certainty_why_perfect_is_the_enemy_of/
<!-- SC_OFF -->Even in 2026, no AI can negotiate with the speed of light. ⚛️ As an architect, I’ve realized our biggest expense isn't compute—it’s the Certainty Tax. We pay a massive premium to pretend the world isn't chaotic, but production is pure entropy. I just wrote a deep dive on why we need to stop chasing 100% consistency at scale. Using Pokémon GO as a sandbox, I audited: The Math: Why adding a sidecar can cost you 22 hours of sleep a year. The Sandbox: Why catch history can lie, but player trading must be painfully slow. The Law: How Little’s Law proves that patience in a concurrent system is a liability. If you’ve ever wrestled with PACELC or consensus algorithms, I’d love to hear your thoughts on where you choose to relax your constraints. <!-- SC_ON --> submitted by /u/Level-Sink3315 (https://www.reddit.com/user/Level-Sink3315)
[link] (https://open.substack.com/pub/qianarthurwang/p/the-cost-of-certainty-why-perfect?r=6wytu0) [comments] (https://www.reddit.com/r/programming/comments/1qokaan/the_cost_of_certainty_why_perfect_is_the_enemy_of/)
https://www.reddit.com/r/programming/comments/1qokaan/the_cost_of_certainty_why_perfect_is_the_enemy_of/
<!-- SC_OFF -->Even in 2026, no AI can negotiate with the speed of light. ⚛️ As an architect, I’ve realized our biggest expense isn't compute—it’s the Certainty Tax. We pay a massive premium to pretend the world isn't chaotic, but production is pure entropy. I just wrote a deep dive on why we need to stop chasing 100% consistency at scale. Using Pokémon GO as a sandbox, I audited: The Math: Why adding a sidecar can cost you 22 hours of sleep a year. The Sandbox: Why catch history can lie, but player trading must be painfully slow. The Law: How Little’s Law proves that patience in a concurrent system is a liability. If you’ve ever wrestled with PACELC or consensus algorithms, I’d love to hear your thoughts on where you choose to relax your constraints. <!-- SC_ON --> submitted by /u/Level-Sink3315 (https://www.reddit.com/user/Level-Sink3315)
[link] (https://open.substack.com/pub/qianarthurwang/p/the-cost-of-certainty-why-perfect?r=6wytu0) [comments] (https://www.reddit.com/r/programming/comments/1qokaan/the_cost_of_certainty_why_perfect_is_the_enemy_of/)
4 Pyrefly Type Narrowing Patterns that make Python Type Checking more Intuitive
https://www.reddit.com/r/programming/comments/1qolknv/4_pyrefly_type_narrowing_patterns_that_make/
<!-- SC_OFF -->Since Python is a duck-typed language, programs often narrow types by checking a structural property of something rather than just its class name. For a type checker, understanding a wide variety of narrowing patterns is essential for making it as easy as possible for users to type check their code and reduce the amount of changes made purely to “satisfy the type checker”. In this blog post, we’ll go over some cool forms of narrowing that Pyrefly supports, which allows it to understand common code patterns in Python. To the best of our knowledge, Pyrefly is the only type checker for Python that supports all of these patterns. Contents: 1. hasattr/getattr 2. tagged unions 3. tuple length checks 4. saving conditions in variables Blog post: https://pyrefly.org/blog/type-narrowing/ Github: https://github.com/facebook/pyrefly <!-- SC_ON --> submitted by /u/BeamMeUpBiscotti (https://www.reddit.com/user/BeamMeUpBiscotti)
[link] (https://pyrefly.org/blog/type-narrowing/) [comments] (https://www.reddit.com/r/programming/comments/1qolknv/4_pyrefly_type_narrowing_patterns_that_make/)
https://www.reddit.com/r/programming/comments/1qolknv/4_pyrefly_type_narrowing_patterns_that_make/
<!-- SC_OFF -->Since Python is a duck-typed language, programs often narrow types by checking a structural property of something rather than just its class name. For a type checker, understanding a wide variety of narrowing patterns is essential for making it as easy as possible for users to type check their code and reduce the amount of changes made purely to “satisfy the type checker”. In this blog post, we’ll go over some cool forms of narrowing that Pyrefly supports, which allows it to understand common code patterns in Python. To the best of our knowledge, Pyrefly is the only type checker for Python that supports all of these patterns. Contents: 1. hasattr/getattr 2. tagged unions 3. tuple length checks 4. saving conditions in variables Blog post: https://pyrefly.org/blog/type-narrowing/ Github: https://github.com/facebook/pyrefly <!-- SC_ON --> submitted by /u/BeamMeUpBiscotti (https://www.reddit.com/user/BeamMeUpBiscotti)
[link] (https://pyrefly.org/blog/type-narrowing/) [comments] (https://www.reddit.com/r/programming/comments/1qolknv/4_pyrefly_type_narrowing_patterns_that_make/)