Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2318

Y

Yin Wang

Personal blog · yinwang0.wordpress.comprogramming

Yin Wang writes Surely I Am Joking, a personal blog at yinwang0.wordpress.com about programming. Since 2012, 33 different Hacker News readers have linked it 39 times, most often “Ydiff: Structural Comparison of Programs”. The last post was in 2022, but the archive is still widely read.

Visit the blog
39mentions?
33HN people?
2012–2023first – last linked?
Links on Hacker News per year · peak 15 in 2013

Too few sampled comments (8) to say how often HN recommends it.?

Why HN links it

HN readers link Yin Wang's blog for its programming tooling and analysis posts, such as the PySonar Python analyzer, ydiff structural diffs, the Grok code search work, and Scheme benchmarking.

Summarised by Claude from a sample of 8 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.

Most-linked posts?

  1. Ydiff: Structural Comparison of Programs
    5 people · 5 mentions · first linked 2012-05-30
  2. PySonar: an Advanced Static Analyzer for Python
    3 people · 3 mentions · first linked 2012-08-12
  3. Purely Functional Languages and Monads
    2 people · 2 mentions · first linked 2013-11-20
  4. Back to the future of databases
    2 people · 2 mentions · first linked 2013-05-29
  5. Scheme benchmarking with a meta-circular interpreter
    2 people · 2 mentions · first linked 2014-01-12

What Hacker News says?

  1. It seems that the author has deleted the original article and posted a reply to critical comments from Haskell school: https://yinwang0.wordpress.com/2013/11/09/oop-fp/ And some content of the original article was posted to: https://yinwang0.wordpress.com/2013/11/16/pure-fp-and-monads...

    Comment linking /2013/11/16/pure-fp-and-monads/

    on “What's wrong with Object-Oriented Programming and Functional Programming”
  2. Submitted What's wrong with Object-Oriented Programming and Functional Programming as a story · 227 points

    HN discussion
  3. j-kidd · 2012-08-12Recommends
    Thanks for sharing. The first article is really interesting. The author worked 3 months as an intern at Google, and his much under-appreciated works saved Steve Yegge's Grok team that has been struggling for years. EDIT: Found another gem from the same author: http://yinwang0.wordpress.com/2012/04/09/reinvent-y/ > Today I found that I forgot how to derive the defintion of the Y combinator. I learned it several years…

    Comment linking /2012/04/09/reinvent-y/

    on “Steve Yegge and Grok”
  4. Submitted Ydiff: Structural Comparison of Programs as a story · 176 points

    HN discussion
  5. hmm interesting, just read another article on Grok yesterday posted by a previous intern of that team. (sadly it's in Chinese, but it covered the detail of Python Indexer's implementation) http://blog.sina.com.cn/s/blog_5d90e82f010191rh.html EDIT: Another article on the analyzer by this author, in English. http://yinwang0.wordpress.com/2010/09/12/pysonar/

    Comment linking /2010/09/12/pysonar/

    on “Steve Yegge and Grok”
  6. Submitted On Swift’s array semantics as a story · 89 points

    HN discussion
  7. > The way you've asked this it will lead people to think you're asking for very powerful static checking That's exactly what I'm asking for :-). It should be possible to create restricted types that are checked at runtime. For example, the fabs function would return a float which is guaranteed to be >= 0. The sqrt function would require the argument to be positive. float x; ... // arbitrary code sqrt(x); // warning,…

    Comment linking /2010/09/12/pysonar/

    on “Try Idris”
  8. Submitted Scheme benchmarking with a meta-circular interpreter as a story · 25 points

    HN discussion
  9. Too late, someone already did that and measured the overhead of up to five interpretations layers: "Scheme benchmarking with a meta-circular" interpreter http://yinwang0.wordpress.com/2013/11/04/scheme-benchmarking... Archive: http://web.archive.org/web/20140105145428/https://yinwang0.w... HN discussion: https://news.ycombinator.com/item?id=7045734 (25 points, 443 days ago, 9 comments) (The main critic is that it sh…

    Comment linking /2013/11/04/scheme-benchmarking/

    on “Implement a programming language from scratch”
  10. Submitted Why self-driving cars are not going to happen as a story · 16 points

    HN discussion
  11. Hey, glad you are working on this. I have later given a talk on structural version control together with demos of structural editing and ydiff. Here are the slides: http://yinwang0.wordpress.com/2012/02/12/structural-version-... I think structural version control can open lots of possibilities that are not accessible by text-base version control systems. I'm not really focused on this area, but I'd be happen to to s…

    Comment linking /2012/02/12/structural-version-control

    on “Ask HN: What are you Building?”
  12. Submitted PySonar: an Advanced Static Analyzer for Python as a story · 13 points

    HN discussion
  13. I'm working on what I call "semantic version control". Namely, instead of diffing and merging text, the goal is to parse the program and diff/merge the AST. EDIT: A better way to state the goal: I want to take advantage of the underlying structure of a computer program to inform the diff/merge. The first step just happens to be diffing ASTs, but I go beyond this. I already have some neat features--for example, I can…

    Comment linking /2012/01/03/ydiff/

    on “Ask HN: What are you Building?”
  14. Submitted Back to the future of databases as a story · 9 points

    HN discussion
  15. Another structural-editing tool is ydiff ( http://yinwang0.wordpress.com/2012/01/03/ydiff/ ), which can display structural diffs between JavaScript files. Demo: http://www.yinwang.org/resources/nav1-nav2.html

    Comment linking /2012/01/03/ydiff/

    on “Grasp: Structural Search and Replace for JavaScript”
  16. Submitted Google, a harmonious society as a story · 5 points

    HN discussion
  17. Submitted Why self-driving cars are doomed as a story · 4 points

    HN discussion
  18. Submitted Back to the Future of Databases as a story · 4 points

    HN discussion
  19. Submitted There is no human-level computer vision as a story · 3 points

    HN discussion
  20. Submitted Some observations about Tesla’s Autopilot as a story · 3 points

    HN discussion
  21. Submitted Diffing code by program structure (not by text) as a story · 3 points

    HN discussion
  22. Submitted Sum Types and Union Types as a story · 2 points

    HN discussion
  23. Submitted Indentation-based syntax considered troublesome (2011) as a story · 2 points

    HN discussion
  24. Submitted Why is indexing faster than binary search? as a story · 2 points

    HN discussion
  25. Submitted RubySonar: a static analyzer for Ruby as a story · 2 points

    HN discussion
  26. Submitted Tests and static analysis as a story · 2 points

    HN discussion
  27. Submitted PyDiff: a structural comparison tool for Python as a story · 2 points

    HN discussion
  28. Submitted My New Book: Ground-Up Computer Science as a story · 1 points

    HN discussion
  29. Submitted PySonar: a type inferencer and indexer for Python as a story · 1 points

    HN discussion
  30. Submitted Back to the future of databases as a story · 1 points

    HN discussion

Search all of HN for yinwang0.wordpress.com

Linked by the same people?