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