Reform of the Monad, and Disruptive Change

Howard B. Golden howard_b_golden at yahoo.com
Fri Feb 4 16:37:29 CET 2011


John Smith <voldermort at hotmail.com> asked:


> What is the best way out of  this deadlock?

My suggestions:

* If possible, make the change optional. As an example, create a second (third, 
etc.) Prelude with the new features without abandoning the current Prelude. Let 
the user choose the Prelude he/she wants via a pragma or compiler option. Then 
developers can vote with their feet (fingers?). If the new Prelude is buggy, it 
will be easy to try something else. You might call this "intellectual free 
enterprise."

* Do everything possible to create adapters to make upgrading existing code to 
the new Prelude. Thus, if a new Prelude is adopted widely, existing code will be 
easy to incorporate with minimal source changes.

* Avoid disruptive changes by letting the user decide. Once there is a clear 
consensus based on significant usage, then the new Prelude can be blessed by 
some committee (if desired). However, don't abandon the previous Prelude as an 
option, ever. Textbooks might teach only the newer Prelude, but old code would 
still work.

* Recognize that the Haskell user base at this time shouldn't be constrained by 
mandated changes, but should be encouraged to experiment and evolve the 
libraries.

Cheers,

Howard




More information about the Haskell-prime mailing list