Jason Dagit <da...@codersbase.com> wrote: > My biggest fear is that of usability. > > If I understand you correctly, then as you change module imports you > change the meaning of the code in potentially non-obvious ways. So > this isn't too different than using unqualified imports and flipping > between two modules that export the same function. Except that as > you increase the 'automatic'ness of it, it has the potential to trip > up people. > My biggest fear is seeing it actually implemented as a language switch, resulting in chaotic inferance behaviour as soon as imports change.
I think the Right Place to do this is on the editor/ide level: Help the programmer to use the right function by scanning through types, leave the display uncluttered (but make precise information about what function is referenced easily available) and save the source code fully qualified. Source code is not only made for human consumption but also as fodder for batch processes, re-compilation with other compilers etc, so we shouldn't put anything into it that can break way too easily, be it because type inferance changes in subtle ways or some library merely happens to export an additional function. Thus is the way of Malbolge, be ye warned, ye who construeth isomorphic brainb0rkz0rage. >| Book 4 - Coding >| >| Thus spake the master programmer: >| >| ``A well-written program is its own heaven; a poorly-written program >| is its own hell.'' >| [...] >| A program should follow the `Law of Least Astonishment'. What is this >| law? It is simply that the program should always respond to the user >| in the way that astonishes him least. >| >| A program, no matter how complex, should act as a single unit. The >| program should be directed by the logic within rather than by outward >| appearances. >| >| If the program fails in these requirements, it will be in a state of >| disorder and confusion. The only way to correct this is to rewrite >| the program. >| [...] etc. pp. qed. -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe