do-and-if-then-else modification

2007-02-16 Thread isaac jones
Iavor and I just made the trivial modification for DoAndIfThenElse
syntax as described here:
http://hackage.haskell.org/trac/haskell-prime/wiki/DoAndIfThenElse

You can see the change here:
http://darcs.haskell.org/haskell-prime-report/report/haskell-report-html/exps.html

(Is there anything else that needs to change?)

As always, we provide a quick view of the status of Haskell' here:
http://hackage.haskell.org/trac/haskell-prime/wiki/Status%27

Any comments on this modification?  How do people feel about the
suggestion that we do it for case statements as well?

peace,

  isaac


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


self moderation (or, what is Haskell' about)

2007-02-03 Thread isaac jones
Folks,

We all love to talk about fun and exciting new things, and I really
don't like to change the subject, as it were, of a mailing list
conversation unless it's very necessary.

This list is unmoderated, and will stay unmoderated.  Anyone can post
whatever they want, and it's up to the community of the list to decide
what's appropriate and what's off topic.  If you see stuff that you
think is off topic, please invite that discussion to move over to
haskell-cafe or what-have-you.  If you start a discussion about
something core to Haskell', especially the definitely in topics, and
the conversation wanders into strange and unknown territory, please,
please re-focus your thread to get back to the important topics.  Start
a new thread if necessary with a summary of the discussion so far and
the open questions.

We've had a lot of people unsubscribing from the list in the last few
days, for what it's worth.

People get a mistaken impression about What Haskell' is about based on
the discussions of the list, and sometimes it scares people :)  So just
be aware that the unmoderated list is _not_ a good way to get a sense of
what's going on in Haskell'.  Watch for announcements from the committee
and requests for help from me and others for actually writing the
report.  Also, keep an eye on the status page of the wiki:

http://hackage.haskell.org/trac/haskell-prime

peace,

  isaac


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


patch applied (haskell-prime-report): pattern_guard_list_comprehension_footnote

2007-01-19 Thread Isaac Jones
Fri Jan 19 15:23:01 PST 2007  'Ravi Nanavati [EMAIL PROTECTED]'
  * pattern_guard_list_comprehension_footnote

M ./report/exps.verb -1 +3
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: patch applied (haskell-prime-report): some notes on how to build it.

2007-01-12 Thread isaac jones
On Mon, 2007-01-08 at 13:42 +, David House wrote:
 On 08/01/07, Simon Marlow [EMAIL PROTECTED] wrote:
  Mon Jan  8 03:11:48 PST 2007  Simon Marlow [EMAIL PROTECTED]
* some notes on how to build it.
 
  M ./README -6 +26
 
 Using the flex version 2.5.31, straight out of apt, I get the following error:
 
 flex -t -8 verbatim.lex  verbatim.c || ( rm -f verbatim.c  exit 1 )
 verbatim.lex:75: warning, rule cannot be matched
 cc -c verbatim.c -o verbatim.o
 stdout:561:25: error: macro yywrap passed 1 arguments, but takes just 0
 make: *** [verbatim] Error 1
 
 Using the flex-old package, which is version 2.5.4a, it works. I guess
 this means our flex files are legacy. Could they be updated to work
 with the latest flex?

This has been fixed :)

It turns out that not all mods are posted to the mailing list, due to
subscription requirements.

peace,

  isaac


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


pattern guards: recent changes to draft haskell prime report

2007-01-12 Thread isaac jones
Greetings!

We've been working to add pattern guards to the Haskell' report, and
doing some cleanup work on the repository. Not all of the emails are
making it to the list, sadly, but here's a list of recent changes from
the report.

You can view the report itself here (I couldn't think of a good place to
put it):
http://hackage.haskell.org/~ijones/haskell-prime-report/report/haskell98-report-html/

peace,

  isaac

Fri Jan 12 16:32:28 PST 2007  [EMAIL PROTECTED]
  * moved rules for guards in a separate figure because the old
figure
didn't fit on a page

Fri Jan 12 16:21:46 PST 2007  [EMAIL PROTECTED]
  * fixed rule (g) of pattern semantics to avoid duplicating the
evaluation of e'

Fri Jan 12 16:13:50 PST 2007  [EMAIL PROTECTED]
  * added rules for pattern guards to the formal semantics of
case

Fri Jan 12 14:53:30 PST 2007  [EMAIL PROTECTED]
  * gneralized function bindings to support pattern guards, not
just
boolean guards

Thu Jan 11 16:59:30 PST 2007  [EMAIL PROTECTED]
  * reworking the informal explanation of pattern gaurds
  Modified the syntax again to talk about guards (which are
pattern
guards,
  boolean guards, and let expressions) .  Moved the Pattern
guards
section
  I created before into the Case Expressions section.

Thu Jan 11 15:51:14 PST 2007  [EMAIL PROTECTED]
  * update pattern binding translation for pattern guards (with
Iavor's
help!)

Mon Jan  8 10:21:14 PST 2007  Andres Loeh [EMAIL PROTECTED]
  * turn macro into function -- makes it work with newer flex
versions

Mon Jan  8 09:50:40 PST 2007  Andres Loeh [EMAIL PROTECTED]
  * don't include extension in \includegraphics (to make
compatible with
pdflatex)

Mon Jan  8 09:20:29 PST 2007  Andres Loeh [EMAIL PROTECTED]
  * typo: change \r to \tr





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


patch applied (haskell-prime-report): update pattern binding translation for pattern guards (with Iavorapos; s help!)

2007-01-11 Thread Isaac Jones
Thu Jan 11 15:51:14 PST 2007  [EMAIL PROTECTED]
  * update pattern binding translation for pattern guards (with Iavor's help!)

M ./report/decls.verb -7 +9
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


patch applied (haskell-prime-report): very rough draft of informal pattern-guard (qualifiers) explanations

2007-01-07 Thread Isaac Jones
Sun Jan  7 19:26:27 PST 2007  [EMAIL PROTECTED]
  * very rough draft of informal pattern-guard (qualifiers) explanations
  This is a very rough draft in order to get some discussion going, and
  does not touch the semantic explanations, which will still need to be
  done.

M ./report/exps.verb -48 +63
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


very rough draft of informal pattern-guard (qualifiers) explanations

2007-01-07 Thread isaac jones
I just pushed a very rough draft of the plain, informal text for pattern
guards.  I'm also attaching the patch.

http://darcs.haskell.org/haskell-prime-report/report/exps.verb

I'd like some feedback about the approach I'm taking, which varies
slightly from the description in the 2000 HW paper.

Since pattern guards are defined basically as in list comprehensions,
I've pulled a bit of that text into its own section.  In the list
comprehensions section, pattern guards are referred to as qualifiers,
so I've kept that name.  (From Simon's original memo, it seems that the
generators within the qualifiers are pattern guards.)

So now there's a section that explains qualifiers, including the nested
environment nature.

In many places, I've removed references to guards and replaced them with
references to qualifiers.  I've also consolidated text that explains
guards, which was previously found in various locations, into that
single section as above.

I haven't touched the more semantic bits yet; I'd like some feedback on
my overall approach first.

I've brashly pushed these changes into our darcs repository of the
report in the hopes that others on the committee (or indeed, within the
community) will begin to be a bit more brash.  Alas, I'm unable to
actually build the report at the moment.  If anyone knows how, please
add instructions to the repository, or send them to me and I'll add
them.

peace,

  isaac

p.s. the pattern guard wiki page is here:
http://hackage.haskell.org/trac/haskell-prime/wiki/PatternGuards

p.p.s. http://www.haskell.org/pipermail/cvs-ghc/2007-January/033592.html

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


Haskell' Status Report

2006-09-27 Thread Isaac Jones
Ravi Nanavati has very helpfully put together a status report for the
Haskell Prime process.  Please see this link, or read the pasted text
below:

http://hackage.haskell.org/trac/haskell-prime/wiki/Status'

peace,

  isaac


Summary:

Since the Haskell Workshop last year, the Haskell community has
documented (on this wiki) over 70 proposals for changes to Haskell
98. In March of this year, two subcommittees were established to focus
on concurrency and the class system - two difficult areas that are
important to the success of Haskell'. The committee has also used
StrawPolls to filter and discuss the universe of proposals that has
been gathered. Based on the most recent straw poll, 12 proposals
(listed in the table at the bottom of the page) have been identified
that are expected to get into Haskell' (over 2/3 of the committee in
favor). An additional 19 proposals seem likely to get into Haskell'
(based on slightly weaker criteria). Members of the committee conflict
on 9 of the remaining proposals, and their status will be determined
during the writing process. The remaining proposals are not expected
to be part of Haskell'.

Concurrency:

The concurrency support in Haskell' will be based on the
Control.Concurrent library, with minor modifications. There will be a
thread-safe interface for mutable state, suitable for use in library
code that does not otherwise use concurrency (though what it will be
based on is an open issue). There will also be independent FFI
annotations for specifying whether foreign calls are concurrent (with
other Haskell threads) and reentrant. Bound threads will not be
required by the concurrency standard, but they will be an allowed
extension with a specified meaning. Open issues include whether
standard will require preemptive concurrency, the syntax of the new
FFI annotations and the memory-model semantics of IORefs.

Class system:

The work on the class system has focused on resolving the
MultiParamTypeClassesDilemma. The core of the dilemma is that
multi-parameter typeclasses are a popular extension that is strongly
desired for Haskell'. However, many important uses of MPTCs (like the
monad transformer library) require additional extensions to resolve
ambiguities in their typechecking. Historically,
FunctionalDependencies have been used for this purpose, but they are
very tricky to implement and are also difficult to specify in a way
that guarantees the termination of typechecking. AssociatedTypes are a
possible replacement, but our current implementation experience with
them is very limited. The subcommittee has explored several ways to
resolve this dilemma (including restricted FDs, fast-tracked ATs and
FDs as a blessed extension), but, so far, no consensus has
emerged. Our current plan is to focus on writing other parts of the
Haskell' standard, in the hopes that additional implementation
experience with ATs will clarify the situation.

Libraries:

Thus far, libraries have been an underemphasized portion of the
Haskell' effort (only 7 of the 70+ proposals have significant library
content). However, there is a consensus that a revised standard
library is an important part of the Haskell' effort. The current plan
is to focus on starting to write the language portions of the standard
first, since we have a substantial amount of work to do there which
requires focused attention. After that effort is well underway, a
companion library effort will begin. Several members of the committee
have volunteered for this effort and additional volunteers will be
needed.


definitely-in Proposal Status:
Description (Those volunteering to write this section):
add some kind of Concurrency (IJ, SM)   
add ForeignFunctionInterface (MC, SM)   
add multi-parameter type classes (MS)   
add RankNTypes or Rank2Types (AL)
add PolymorphicComponents (AL)  
add ExistentialQuantification (existential components) (AL, MS, SJT)
add HierarchicalModules (IJ, BH, MW)
add EmptyDataDeclarations (BH, HN)  
DoAndIfThenElse (SM, HN)
fix comment syntax grammar (SM) 
add PatternGuards (RN, DS)  
add InfixTypeConstructors (BH, AL)
___
Haskell-prime mailing list
Haskell-prime@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-prime


Re: Trac Ticket Component Field?

2006-09-27 Thread isaac jones
On Wed, 2006-09-27 at 16:27 -0700, Ashley Yakeley wrote:
 What do the various values of the Component field mean? Most issues 
 have Proposal, but some have HaskellPrime.

If it is a proposal for something to go into/be removed from the
language, then it should be listed as proposal.  If it's some task
that we have to perform (write a library API or something), then the
component might be something else.  Proposal is the main one, though.

peace,

  isaac

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


writing / status teams - call for volunteers

2006-09-10 Thread isaac jones
Greetings,

There are just a few days to go before the Haskell Workshop, and I'd
like to be able to present the community with a report on our progress.
With that in mind, I'm looking for some help during this busy time of
year.

The Haskell' committee has been voting on the wiki about the relative
strength of various proposals.  We're trying to find a group of
proposals that is definitely in so that we can start the hard work of
writing the report.  Here's the survey:

http://hackage.haskell.org/trac/haskell-prime/wiki/StrawPoll-2

The idea is that we want to make some tangible progress on actually
writing the report, so we have selected some pretty non-controversial
proposals.  This is also to get a better idea of where there is and is
not consensus.

Below is the list of so-called definitely-in proposals, which is
probably not quite correct.  For instance, I don't think it's clear that
MPTCs are definitely in, but the others look pretty good.

Beside the proposal name is the group of committee members who have
volunteered to write sections for so-called definitely in features.

I have several requests for volunteers, which can be within or not
within the committee:

Would anyone else like to volunteer to write a section of the report for
specific proposals below?

Can anyone volunteer to do a survey of the current status of each of
these proposals?  We should try to figure out how far from done we are
on all of them.  I imagine that some things like concurrency are far
from done, while other things like hierarchical modules and empty data
declarations are pretty much done.

Will anyone volunteer to write a status report for the community, with
the goal of finishing the status report by the time of Haskell Workshop.
This obviously isn't something fancy, just a summary of the items
discussed, the current status on them, etc.  This should all be on the
list archives and on the wiki.  A committee member is probably best
suited for this, but anyone following the process closely should be able
to do it :)

Also, everyone should please think about this list as a whole; apply
your right brain to consider whether it's a coherent and elegant set of
proposals.

 In
 ==
 
 #74: add some kind of concurrency: SM, HN, IJ
 #35: add ForeignFunctionInterface: MC, SM
 #49: add multi parameter type classes: MS
 #60: add RankNTypes or Rank2Types: AL
 #57: add polymorphic components: AL
 #26: add ExistentialQuantification (existential components): AL, MS, SJT
 #24: add HierarchicalModules: BH, IJ
 #25: add EmptyDataDeclarations: BH, HN
 #23: fix common pitfall with the do-notation and if-then-else: SM, HN, 
 #42: fix comment syntax grammar: SM
 #56: add Pattern Guards: :(
 #78: Add infix type constructors: BH, AL
 Help w/ libraries (yay!): IJ, BH, SM, RP, DS

peace,

  isaac

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


postponing discussion on exceptions and deepSeq

2006-04-11 Thread isaac jones
I'd like to ask the list to postpone discussion on exceptions and
deepSeq until a later iteration.  While these are two topics that are of
deep importance to me, I would prefer to focus on the other two topics
at hand until they are solved.  That is, concurrency, and the class
system.

I'm still postponing opening up another topic since I find that the
class system isn't being as enthusiastically discussed as I had hoped.
Let's all focus our energies on these topics, I promise that the others
won't be forgotten.

Ross has asked for use cases for functional dependencies and so far has
only two replies.  Surely there are those on this list who have use of
functional dependencies?

peace,

  isaac


-- 
isaac jones [EMAIL PROTECTED]

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


Re: concurrency (was Re: important news: refocusing discussion)

2006-03-28 Thread isaac jones
On Tue, 2006-03-28 at 11:05 +0100, Malcolm Wallace wrote:
(snip)
   * IORef is inherently thread-unsafe, and so we should eliminate IORefs
 from the language.

That's not quite true, as you can have an IORef guarded by an MVar.  Why
would you want such a thing?  For instance, you might write a library
with two IORefs and one MVar instead of two MVars in order to reduce the
possibility of deadlock.

Is it the case that a library is thread-safe as long as it doesn't use
IORefs, though?  I trolled around base looking for libraries that might
not be thread-safe and found only that HashTable uses an IORef, and
indeed there's a FIXME that says it should use an MVar.  I didn't look
very hard, though.

peace,

  isaac

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


RE: MPTCs and functional dependencies

2006-03-28 Thread isaac jones
On Tue, 2006-03-28 at 14:32 +0100, Simon Peyton-Jones wrote:
 My current take, FWIW.
 
 * MPTCs are very useful.  They came along very rapidly (well before
 H98).  I think we must put them in H'
 
 * But MPTCs are hamstrung without FDs or ATs
 
 * FDs and ATs are of the same order of technical difficulty, as Martin
 says
 
 * ATs are (I believe) a bit weaker from the expressiveness point of view
 (zip example), but are (I believe) nicer to program with.  
 
 * BUT we have way more experience with actually programming with FDs.
 ATs fail the well-established test by a mile.
 
 * Largely due to Martin's work, we now have a much better handle on just
 what restrictions on FDs make type inference tractable.  So I believe
 there is a solid MPTC+FD story that we could embody in H'.
 
 * Medium term, I think ATs may *at the programming-language level*
 displace FDs, because they are nicer to program with.  But that's just
 my opinion, and we don't have enough experience to know one way or the
 other.

This analysis is similar to what I have here:
http://hackage.haskell.org/trac/haskell-prime/wiki/MultiParamTypeClassesDilemma

Could someone flesh out the wiki w/ Simon's data and links to the new
information from Martin?

peace,

  isaac

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


Re: bringing discussions to a close

2006-03-28 Thread isaac jones
On Tue, 2006-03-28 at 21:16 -0500, Jim Apple wrote:
 On 3/28/06, isaac jones [EMAIL PROTECTED] wrote:
  The only topics that should remain open are concurrency and
  the class system.
 
 What happene to bullet 3, perhaps standard libraries?

We're still trying to figure out exactly what the 3rd topic should be.
I don't want to hold up discussion on the other topics, though.
Standard libraries is at the top of my list right now because it has
hardly been discussed.

peace,

  isaac

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


Re: Re[2]: important news: refocusing discussion

2006-03-25 Thread isaac jones
On Sat, 2006-03-25 at 13:17 +0300, Bulat Ziganshin wrote:
 Hello Ross,
 
 Saturday, March 25, 2006, 4:16:01 AM, you wrote:
 
  On Fri, Mar 24, 2006 at 02:47:09PM -, Simon Marlow wrote:
  I think it would be a mistake to relegate concurrency to an addendum; it
  is a central feature of the language, and in fact is one area where
  Haskell (strictly speaking GHC) is really beginning to demonstrate
  significant advantages over other languages.  We should make the most of
  it.
 
  Essential for many applications, certainly, but central?  How can you
  say that?
 
 it becomes central language feature just because it's much easier to
 write concurrent programs in Haskell than in other languages and
 because ghc's implementation of user-level threads is blazing fast,
 outperforming closest competitor in hundreds (!) times in the Language
 Shootout concurrency testing

I don't think central to the language is a particularly helpful
concept here.  Let's try to frame debates like this in terms of
interests, not positions.  That is, an interest is we should be
able to write thread-safe libraries and a position is Haskell' should
have concurrency.  Once we understand each-others' interests, we can
look to find solutions that satisfy a compelling set of interests.

I'll try to frame some interests that various folks seem to have
expressed, and I admit that I may miss some and be wrong, so please add
to or correct the list below (maybe it should go on the wiki):

Possible Interests:
 1. I can write tools like filesystems, web servers, and GUIs in
Haskell'
 2. Libraries that I use are thread-safe
 3. I can compile my code with any Haskell' compiler
 4. Tools such as debuggers and tracers that claim to support Haskell'
actually work on my code.
 5. That there not be too many Haskell's
 6. That there be a diversity of Haskell' implementations
 7. That concurrency be reasonable to implement for existing
compilers/interpreters.
 8. That it be reasonable to implement for new compilers/interpreters.
 9. Show off how effective Haskell can be in this area (possibly
attracting new users).

By 5 I mean that it might be nice to have a core Haskell and a bunch
of addenda.  But this could cause no two Haskell' implementations to be
the same. (My Haskell' might have concurrency and FFI, but no class
system, or something.)  The more optional addenda we have, the more we
actually fracture the language.  We could be in the same situation we're
in today.

Isaac's Interests
 * 1-6, 9

Simon's Interests:
 * He's mentioned 9, I'm sure that there are others.

Ross and John Meacham I think have both expressed worry about 7 and 8.

I have no idea if it would work, but one solution that Simon didn't
mention in his enumeration (below) is that we could find a group of
people willing to work hard to implement concurrency in Hugs, for
example, under Ross's direction.  That might satisfy interest number 7.

Please help me to build this understanding of various folks' interests,
an solutions to satisfy them.

peace,

  isaac



Simon Marlow Wrote:
 It boils down to a choice between:
 
  (1) Haskell' does not include concurrency.  Concurrent programs 
  are not Haskell'.
 
  (2) Haskell' includes concurrency.  Concurrent programs are
  Haskell', but there are some compilers that do not implement
  all of Haskell'.
 
  (3) There are two variants of Haskell', Haskell' and
  Haskell'+Concurrency.  Compilers and programs choose which
  variant of the language they implement/are implemented in.
 
  (4) The same as (3), but the two variants are Haskell' and
  Haskell'-Concurrency  (where -Concurrency is a negative
  addendum, an addendum that subtracts from the standard).

-- 
isaac jones [EMAIL PROTECTED]

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


important news: refocusing discussion

2006-03-21 Thread isaac jones
Greetings,

While discussion on this mailing list has been coming fast  furious,
actual tangible progress, even as measured on the wiki, has not been as
fast. 

To remedy this, we propose to focus immediately and intently on a few of
the most critical topics, and to focus all of our energies on them until
they are done.  We'd like to go so far as to ask folks to drop
discussion on other items until these are solved.

The goal of this approach is that we will spend the most time on the
critical (and hard) stuff, instead of leaving it for last.  We know that
we can spend a _lot_ of time and energy discussing relatively small
things, and so we want to make sure that these relatively small things
don't take up all of our time.  We will tackle them later.

The topics that John and I feel are critical, and rather unsolved,
are:
 * The class system (MPTC Dilemma, etc)
 * Concurrency
 * (One more, perhaps standard libraries)

The logic here is that Haskell' will be accepted by the community  if we
solved these problems, and if we go with some of the most robust and
uncontroversial extensions already out there.

We will probably partition the committee into subcommittees to focus on
each topic.

Our goal will be to bring these topics to beta quality by mid April.
That is, something that we could be happy with, but that perhaps needs
some polishing.  After that, we may try to pick the next most critical
topics with the goal of having everything at beta quality by the
face-to-face we're hoping to have at PLDI in June.

With an eye toward considering related proposals together, we've added a
topic field to the wiki, and a new query to the front page which
groups the proposals by topic:

http://hackage.haskell.org/trac/haskell-prime/query?status=newstatus=assignedstatus=reopenedgroup=topiccomponent=Proposalorder=priority

I'd like to ask folks to please bring currently open threads to a close
and to document the consensus in tickets.  Anyone can edit tickets, so
please don't be shy.


your chairs,

  Isaac Jones
  John Launchbury

-- 
isaac jones [EMAIL PROTECTED]

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


Re: important news: refocusing discussion

2006-03-21 Thread isaac jones
On Tue, 2006-03-21 at 15:27 -0800, Ashley Yakeley wrote:
 isaac jones wrote:
 
  The topics that John and I feel are critical, and rather unsolved,
  are:
   * The class system (MPTC Dilemma, etc)
   * Concurrency
   * (One more, perhaps standard libraries)
 
 Could you summarise the current state of these?

AFAIK, the class system is summarized on this page:
http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/wiki/MultiParamTypeClassesDilemma

Although there are some proposals here that are not really covered by
that topic, they should probably be considered together:
http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/query?status=newstatus=assignedstatus=reopenedgroup=topiccomponent=Proposalorder=priority


Concurrency is summarized here:
http://haskell.galois.com/cgi-bin/haskell-prime/trac.cgi/wiki/Concurrency

and libraries have not really been discussed much at all.

peace,

  isaac

-- 
isaac jones [EMAIL PROTECTED]

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


Re: MPTCs and functional dependencies

2006-02-03 Thread Isaac Jones
Henrik Nilsson [EMAIL PROTECTED] writes:

 Dear all,

 John Mecham wrote:

 Yeah, I have been coming to the same conclusion myself. it pains me a
 lot. (monad transformers! I need thee!) but its not like fundeps will
 go away, they will just still be experimental so it isn't the end of
 the world.

 But isn't the whole point of Haskell' to standardise those features
 that are agreed to be necessary for writing real-world
 applications and libraries in a reasonable way?

 My concern is not that I fear not being able to compile my programs
 after Haskell' is done. I'm worried about too much code not being
 Haskell' compliant in the end, and, worse, too many people deciding
 that they still have to rely on extensions beyond Haskell' for writing
 real applications and libraries.

I am very concerned about this as well.  In most of my production
code, I avoid extensions, but MPTC and functional dependencies are two
that I have not been able to avoid.  Any time I use the class system,
I use MPTC, anytime I use MPTC, I use fundeps.

The trouble with blessing fundeps is that they might not pan out in
the end, and it would be a shame to add them to Haskell' and then
remove them again for Haskell'' (if there were such a thing) in favor
of associated types, for instance.

How do we solve this dilemma?  Some proposals that have come up:

 - Simon has proposed that we examine a limited version of functional
   dependencies.

 - Another option, though a scary one at this point, is to look
   closely at associated types.

 - Another option is to punt; we declare them as an extension and
   figure out a way to bless extensions (beyond Cabal, I guess).

 - Any others?

Can someone put together a wiki page these choices with trade-offs?
Ravi, Manuel?

peace,

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


objective data on use of extensions

2006-02-03 Thread Isaac Jones
I would like to strive to find objective data on the use of
extensions.  I started a table here which summarizes how popular
extensions are in real-life code.  We need more data points, though.

http://hackage.haskell.org/trac/haskell-prime/wiki/ExtensionsExperiment

I have a short program which queries the hackage database, gets some
details about all of the packages there, and summarizes them into a
table.  Right now, there really aren't that many packages on
HackageDB, but hopefully more will appear.

HackageDB is here:
http://hackage.haskell.org/ModHackage/Hackage.hs?action=home

You can upload packages with Cabal-Put, but it's pretty hackish right
now.  I put detailed installation instructions on the wiki:
http://hackage.haskell.org/trac/hackage/wiki/CabalPut

A list of cabal packages that might be good for uploading is here:
http://hackage.haskell.org/trac/hackage/wiki/CabalPackages

The more packages we get into HackageDB, the more accurate objective
data we can build.  Let me know if you want to help!


peace,

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


Re: module system/namespaces: separate with/use, allow local use

2006-01-30 Thread Isaac Jones
Simon Marlow [EMAIL PROTECTED] writes:

 On 30 January 2006 09:03, Simon Peyton-Jones wrote:

 With the module system, we should make a distinction between
 declaring 
 
 (1) that we want to use a module
 (2) how to bring the module's names into scope
 
 Perhaps 'import' should be allowed anywhere among definitions.
 
 Indeed.  Requiring the import clauses to be at the top, and the fixity
 declarations, makes them easy to find -- but we don't require that for
 type signatures or class declarations etc.  It'd be more consistent to
 allow imports and fixity declarations anywhere.
 
 This'd be a backward compatible change, but it's an utterly un-forced
 one.  It's not something that people complain about much.

 I vaguely remember suggesting this for Haskell 98 or Haskell 1.4 (can't
 remember which) but nobody saw the need for it back then.
(snip pros  cons summary)

Can one of you add a ticket / wiki page with this summary?  I'd like
to track things like this in case they come up again.

Johannes, if you have any more specific proposals you'd like to make,
please do so on the mailing list, then add a ticket once some
consensus emerges.

peace,

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