On Feb 6, 2008 11:33 AM, Simon Peyton-Jones <[EMAIL PROTECTED]> wrote:
> > > This sort of disagreement means that nothing gets done. After my > experience with the wiki page, I don't believe anything will get done > until one of the core ghc developers makes some arbitrary decisions > and implements whatever they want to, which will then eventually > become part of the standard by default. > > > > > This is the sort of situation where a "benign dictator" is needed. I have > no strong feelings about which of all of these (all very good) proposals get > implemented, but I do have a strong opinion that the lack of "proper" > records is hurting Haskell quite a bit. > > > > Any of them will do, just get it in there! I'm assuming that Simon {PJ,M} > et al. won't make an obviously terrible choice, and GHC seems to be the de > facto standard anyway, so if they just implemented something in GHC that > would be good enough for me, and a shoe-in for a future standard. > > > > Since you are taking my name in vain, I had better respond! I wish I felt > as confident of my good taste as you do. My last attempt to implement > records (with Umut Acar, more or less the design in the "proposal for > records" paper) involved rather significant changes to the type checker, and > I was reluctant to commit to them without stronger evidence that it was a > good design. > > > > I'm not so despondent about the Wiki page. It's already a good start. > Don't give up too soon! > > > > You say that "lack of proper records is hurting Haskell". I think it'd > help to give much more structure to that statement. "proper records" means > different things to different people. After all Haskell already has > somethng you can call "records" but they obviously aren't "proper" for you. > > > So to clarify that statement. Honestly the number one problem I have with the current records system is that labels share the same namespace. This makes interfacing with any C library using structs quite painful. This is why I say that I don't really care which gets implemented. The current system is *painful* IMO, so anything which improves on it would be welcome (even if just puts the record accessors in a per-record namespace, where with syntactic sugar to avoid having to qualify it). Now, I do think that if we're going to remedy that situation, we might as well take the opportunity to make them lightweight (i.e. not require a data type), with polymorphic fields etc, but those all of those things are distant second priority to the one "showstopper" for the current records, IMO. Sebastian
_______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell