Hacker News new | ask | show | jobs
A Default Identity Value for Programming (michaelfeathers.silvrback.com)
2 points by farginay 4570 days ago
2 comments

J has a similar feature: when applied to an empty array, /+ returns 0 and /* returns 1.

J doesn't have user-defined types. In a language with user-defined types, you would probably have to declare which operations are monoids.

I would concur with npryce. I your structure would adhere to the monoid interface and the default value could be cast automatically to the corresponding identity this will work. It wouldn't even break mathematics