Edison RC3

Robert Dockins robdockins at fastmail.fm
Wed Apr 5 10:49:58 EDT 2006


[removing cross-posing to H']

On Apr 5, 2006, at 4:54 AM, Bulat Ziganshin wrote:
> Hello Robert,
>
> Wednesday, April 5, 2006, 3:50:41 AM, you wrote:
>
>> And one final meta-API question; what are your thoughts about  
>> portability in
>> general?  I would like to support as many implementations as  
>> possible, but
>> I'm already relying on MPTC, fundeps and undecidable instances  
>> (which may or
>> may not be in H'), and I'm considering the following:
>
>> -- instances of Typeable/Data (listed as non-portable)
>> -- assertions (for checking preconditions)
>> -- newtype deriving
>
>> Anyway, I'm interested in your thoughts about how important  
>> portability is.
>
> according to my experience - one can't write real programs in H98. one
> of the reasons why H' was started is to define standard for writing
> such programs. on the current moment GHC and Hugs are close enough to
> that we should see in this standard. They supports MPTC, FD, Typeable,
> more flexible instances declarations, and i think that you can work
> with assertions via preprocessor. so i recommend you to use GHC+Hugs
> compatibility as the first goal but avoid using of features that they
> both support but there is no exact definition (such as undecidable
> instances), as i itself do. This allows you and your users to use two
> the best Haskell implementations - one for debugging, other for
> production code, and almost ensure that your code will be H'
> compatible or require minimal changes.

This is my sincere hope.  Edison has been waiting for almost ten  
years for Haskell to develop to the point that it can be standards- 
compliant!

> about Typeable - i attached file from ghc sources that allows to
> define instances both for Hugs and GHC. you can see examples of it's
> use in base libraries. it works for me for ghc641 and hugs2005

This is interesting.  However, I think I'd like to stay away from  
dipping into C for this project.

> about undecidable instances - hugs and ghc 6.5 contains more liberate
> rule for checking decidability and i hope that it will be included  
> in the
> H', see details on the
> http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/wiki/ 
> FlexibleInstances
>
> and last but not least ;)  language extensions that we absolutely need
> to use will probably go into the standard. may be the library/apps
> authors that use some extensions should write about this on the
> appropriate H' proposals pages to let committee know?

That is a good idea.

> ps: may be, we can/should create page with the list of extensions that
> probably will go into the standard? or just adjust the corresponding
> fields in the existing table? such info would be very helpful for
> developers, imho. not anyone has enough time and willing to follow all
> of the H' discussions

Perhaps.  However, I've been following the discussion, and I'm still  
having a hard time telling which way the wind is blowing, especially  
with respect to MPTC.  I think we may have to wait a little longer  
before we start drawing up the odds.

> -- 
> Best regards,
>  Bulat                            mailto:Bulat.Ziganshin at gmail.com
> <Typeable.h>

Thanks for your comments!

Rob Dockins

Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
           -- TMBG



More information about the Libraries mailing list