Re: Add haskell-src as an official machine-readable component of the Haskell standard

2010-11-20 Thread Ben Millwood
On Tue, Nov 16, 2010 at 9:13 AM, Yitzchak Gale g...@sefer.org wrote:
 I propose that the haskell-src package be renamed
 haskell20nn-src for each revision Haskell 20nn of
 the standard, and be made an official machine-readable
 component of the standard.


As much as I like the idea of standardising a representation of
Haskell syntax, it's a highly nontrivial library and so coming to
consensus on the various design decisions involved in producing the
AST and so forth would be thorny if we started demanding that every
implementation upheld them. I think that in general, libraries in the
Report should be minimal, and generally only provide obvious or
primitive constructs which would likely be the same in every
implementation, and on which can be built more interesting libraries
separately.

It would become necessary to include this sort of thing, I think, if
we ever wanted something like Template Haskell or any other
metaprogramming facilities to be included in the language. But I don't
think anyone believes that TH or anything like it is ready for
inclusion in haskell' yet.

(Examples of controversies possible in haskell-src: we have the Hs
prefix on constructors everywhere, we can't provide fixity information
(and the haskell-src-exts implementation of this is unsatisfactory in
several important ways), a lot of type class instances are absent
(even Ord!), the distribution of SrcLocs is a little awkward when
manipulating source abstractly, and some constructors allow impossible
values, e.g. HsLambda can contain zero patterns)
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: Add haskell-src as an official machine-readable component of the Haskell standard

2010-11-18 Thread Neil Mitchell
There is nothing to stop an library author doing exactly this, and it
might even be useful for some people (personally I'm going to stick to
haskell-src-exts, because it's a brilliant library). However, I don't
think we should make it official or part of the standard. I've found
plenty of HSE/GHC parsing differences in my work, and my suspicion is
that several of them are probably also present in haskell-src. I also
don't want the Haskell Prime Committee to take on the jobs of library
maintainership or implementation, those are best kept elsewhere.

Thanks, Neil

On Tue, Nov 16, 2010 at 9:13 AM, Yitzchak Gale g...@sefer.org wrote:
 I propose that the haskell-src package be renamed
 haskell20nn-src for each revision Haskell 20nn of
 the standard, and be made an official machine-readable
 component of the standard.

 This has the following advantages:

 1. It would require almost no extra work, because
 haskell-src already exists, and syntax changes, if
 any, will be very minimal for each revision.

 2. For the portion of the standard that it covers,
 any ambiguity that might creep into the human-readable
 standard document would be resolved.

 3. It would serve as a basic machine-verification tool
 which is easily extensible.

 4. As a side-effect, the haskell-src package would be
 continually maintained. The package is useful in its
 own right as a much lighter-weight version of haskell-src-exts.
 It is much easier to use when an application does
 not require full support of all of Haskell's syntax.

 This proposal is a natural extension of a proposal
 raised on the libraries mailing list in the context of
 the Haskell Platform: Ian Lynagh proposed that the
 current haskell-src-exts be renamed haskell-src
 (and included in the Haskell Platform, as suggested
 by Sterling Clover), and that the current haskell-src
 be renamed to haskell98-src (and removed from the
 Platform).

 The libraries subthread is here:

 http://www.haskell.org/pipermail/libraries/2010-November/015018.html

 Thanks,
 Yitz
 ___
 Haskell-prime mailing list
 Haskell-prime@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-prime

___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: Add haskell-src as an official machine-readable component of the Haskell standard

2010-11-18 Thread Yitzchak Gale
Ben Millwood wrote:
 So we don't actually specify the content or API of the library itself,
 merely state its existence? If we specify the API we make those
 decisions, if we don't I don't see what exactly you are asking for...
 So why are you proposing that it be different from a Hackage package
 in /any/ respect?
 ...Why doesn't an independent parser do that?
 ...I don't see any benefit in putting an official stamp on a particular
 one. It doesn't give it a practical edge over any other...

In an enterprise software development environment, getting
the software to work in a practical way is not good enough.
You need to be able to produce officially recognized documented
evidence that it works. The existence of well-specified
standards is a prerequisite for the adoption of a language in
the mainstream.

Haskell is particularly well-suited to the needs of verification,
validation, and certification. Galois is doing a lot of great work
in this area.

I am proposing a simple step, requiring almost no effort on
our part. It would immediately raise the quality of the
standard considerably, by enriching the expressiveness
available to the writers of the standard. It would also
immediately raise the perceived value of the standard
considerably, by providing the beginnings of an
automated validation and certification framework.
And it would provide a basis for future work in many
directions, both within the standard and based upon it.

Thanks,
Yitz
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: Add haskell-src as an official machine-readable component of the Haskell standard

2010-11-18 Thread Yitzchak Gale
Hi Neil,

Neil Mitchell wrote:
 There is nothing to stop an library author doing exactly this, and it
 might even be useful for some people (personally I'm going to stick to
 haskell-src-exts, because it's a brilliant library).

Yes, it is.

I am not proposing changing in any way how we
develop and use Haskell parsers as tools.

I am proposing taking an existing parser and using it
in a different way.

 I've found plenty of HSE/GHC parsing differences in my work,
 and my suspicion is that several of them are probably also
 present in haskell-src.

Indeed. Easily finding and documenting such discrepancies is one
of the major benefits of having a machine-readable
component in the standard.

 I also don't want the Haskell Prime Committee to take
 on the jobs of library maintainership or implementation,
 those are best kept elsewhere.

Agreed. I am not proposing that.

The machine-readable portion of the standard will be based
on a parser library that exists quite apart from the standard.

Thanks,
Yitz
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: Add haskell-src as an official machine-readable component of the Haskell standard

2010-11-16 Thread Ben Millwood
On Tue, Nov 16, 2010 at 7:51 PM, Lennart Augustsson
lenn...@augustsson.net wrote:
 Please explain.  Fixity information cannot be provided unless you find
 all the imported modules and process those, so I'm not sure how
 haskell-src-exts could do any better than it currently does.


The tickets I had in mind were:

http://trac.haskell.org/haskell-src-exts/ticket/197
http://trac.haskell.org/haskell-src-exts/ticket/191

and this one I've just submitted:

http://trac.haskell.org/haskell-src-exts/ticket/207
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


RE: Add haskell-src as an official machine-readable component of the Haskell standard

2010-11-16 Thread Simon Peyton-Jones
See http://hackage.haskell.org/trac/ghc/ticket/4430 for what we are proposing 
for Template Haskell.

S


| -Original Message-
| From: haskell-prime-boun...@haskell.org 
[mailto:haskell-prime-boun...@haskell.org] On
| Behalf Of Lennart Augustsson
| Sent: 16 November 2010 19:52
| To: Ben Millwood
| Cc: haskell-prime@haskell.org
| Subject: Re: Add haskell-src as an official machine-readable component of the 
Haskell
| standard
| 
| Please explain.  Fixity information cannot be provided unless you find
| all the imported modules and process those, so I'm not sure how
| haskell-src-exts could do any better than it currently does.
| 
| 
|  (Examples of controversies possible in haskell-src: we have the Hs
|  prefix on constructors everywhere, we can't provide fixity information
|  (and the haskell-src-exts implementation of this is unsatisfactory in
|  several important ways), a lot of type class instances are absent
|  (even Ord!), the distribution of SrcLocs is a little awkward when
|  manipulating source abstractly, and some constructors allow impossible
|  values, e.g. HsLambda can contain zero patterns)
| ___
| Haskell-prime mailing list
| Haskell-prime@haskell.org
| http://www.haskell.org/mailman/listinfo/haskell-prime

___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime