I can't say I've ever accidentally modified any data structure I didn't intend to change either. There's a real dog food problem with Readonly; I don't even use it in my own code. But apparently loads of people need to remind themselves not to do the thing they don't want to do. The fact that 350+ modules depend directly on Readonly (or depend on any of the value locking modules, actually) boggles the mind.
Tirade incoming: I only took over the module because it was messing up code I was actually depending on and the original author of Readonly abandoned it a decade earlier. Days after I fixed that one issue, even though I made Readonly exponentially faster and more stable, my pride quickly faded and I started to regret it. I regularly get bug reports for code written for perl 5.6, I get people who want mutable copies of immutable structures, I get people who want automatic toggling for parts of a structure ('elements 3, 5, and 6 should be read-only...') part of the time ('...unless element 3 is true' at lease 3 people in the last few years want that? Why? What's the use case?), I get people who want me to work on making objects of any type immutable (because I can just insert that in MOP and inside-out objects, and blessed structures, etc.), I get people who want values to be deleted but not modified, and on and on... And no one likes to be told 'No.' Mostly I get rage filled messages when I mention dropping support for ancient perls in order to fix things that are otherwise unfixable or when I tell them I can't fix what they think is fixable. If you want to meet the most hateful and vile side of the Perl community or just generally bad programmers, take over a 16 year old module that has 30+ critical bugs that can't be resolved without breaking a good portion of Darkpan. *throws up hands* It's too early in the day to drink... :) Bright side? They've helped get a lot of really stupid edge cases like this one in perl itself fixed.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|