[Haskell-cafe] [ANNOUNCE] hashable-generics

2012-11-02 Thread Clark Gaebel
Hi everybody!

I have just released a handy package on Hackage that will interest you if
you've ever used unordered-containers with a custom type.

In order to do such a thing, you'd need to define an instance of Hashable.
This process could easily be automated.

And so I did.

{-# LANGUAGE DeriveGeneric #-}
module ThisIsPrettyNeat where

import Data.Hashable.Generic
import GHC.Generics

data MyCoolType a = MCT0 | MCT1 (Either Int a) | MCT2 (MyCoolType a)
(MyCoolType a)
deriving Generic

instance Hashable a => Hashable MyCoolType where
hashWithSalt s x = gHashWithSalt s x
{-# INLINEABLE hashWithSalt #-}

and voila. You have a very performant instance of Hashable, with minimal
boilerplate, no template haskell, and no subtle bugs.

If you want to play with it, here it is:
http://hackage.haskell.org/package/hashable-generics-1.1.6

Have fun!
  - Clark

Oh yeah, and if anyone wants to help me figure out why it's 1.3x slower
than my hand-rolled instances, that would be really helpful.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [Agda] How to avoid T3 fonts in pdf generated with lhs2TeX?

2012-11-02 Thread Andreas Abel

Hi,

I found the problem, it solved itself with an update of the TeXLive suite...

  https://github.com/kosmikus/lhs2tex/issues/24

Thanks for your help!
Andreas

On 01.11.12 11:15 PM, Dominique Devriese wrote:

Andreas,

2012/11/1 Andreas Abel :

Hello,

maybe someone has experience in publishing papers that use lhs2TeX and
unicode characters with ACM, and has been in my situation before...

Sheridan, who publishes for ACM, does not like T3 fonts. However, lhs2tex
--agda does make use of T3 fonts via:

   \RequirePackage[utf8x]{inputenc}

If I remove this, my unicode characters are garbled in the lhs2tex-generated
code. Does anoyone know a smart workaround besides replacing all the unicode
characters manually by some math symbols in the .tex file?


Not sure about all this, but perhaps you can try to use utf8 instead
of utf8x and manually define translations for the unicode characters
that you use,e.g.:

\DeclareUnicodeCharacter{2032}{'}
\DeclareUnicodeCharacter{2080}{_0}
\DeclareUnicodeCharacter{2081}{_1}
\DeclareUnicodeCharacter{2082}{_2}
\DeclareUnicodeCharacter{2115}{\mathbb{N}}
\DeclareUnicodeCharacter{2192}{\to}
\DeclareUnicodeCharacter{2200}{\forall\,}

Perhaps you can then somehow avoid translations that use T3 fonts (not
sure what these are though). Note: the numbers are the characters'
unicode hexadecimal representation (AFAIU), which you can find e.g.
using emacs's describe-char.

Dominique

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



--
Andreas Abel  <><  Du bist der geliebte Mensch.

Theoretical Computer Science, University of Munich
Oettingenstr. 67, D-80538 Munich, GERMANY

andreas.a...@ifi.lmu.de
http://www2.tcs.ifi.lmu.de/~abel/

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


[Haskell-cafe] haskell.org committee: Call for nominations

2012-11-02 Thread Jason Dagit
Dear Haskellers,

The second year of the haskell.org committee is drawing to a close and
it is therefore time to seek replacements for those members whose term
is expiring.

This year one member has a term ending, Ganesh Sittampalam. Ganesh has been
an excellent contributor and the rest of the committee would like to thank
him for his excellent service.

To nominate yourself, please send an e-mail to committee at haskell.org by
30 November 2012. As usual, retiring members are eligible to
re-nominate themselves.

Please feel free to include any information about yourself that you think
will help us to make a decision.

Being a member of the committee does not require a significant amount
of time, but committee members should aim to be responsive
during discussions when the committee is called upon to make a decision.

More details about the committee's roles and responsibilities are on

http://www.haskell.org/haskellwiki/Haskell.org_committee

If you have any questions about the process, please feel free to e-mail us
at committee at haskell.org or to contact one of us individually.

Regards,

Jason
On behalf of the haskell.org committee
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Unicode case (in)stability and Haskell identifiers.

2012-11-02 Thread Max Rabkin
I try to maintain some knowledge of Unicode issues, but this one never
occurred to me.

On Fri, Nov 2, 2012 at 10:28 AM, Richard O'Keefe  wrote:

> Would anyone care to see and comment on the proposal
> before I send it to Unicode.org?  Anyone got any suggestions
> before I begin to write it?
>

I don't have any suggestions, but I would certainly be interested in seeing
your proposal.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [Security] Put haskell.org on https

2012-11-02 Thread Jason Dagit
Thanks Iavor et al.

I agree. I'll see what we can do. We have budget for this so hopefully it
will be a simple matter of finding people to implement the change.

Jason

On Fri, Nov 2, 2012 at 10:34 AM, Iavor Diatchki wrote:

> Hello,
>
> I think that getting a certificate is a good idea.  I think this could
> probably be arranged by the haskell.org committee, which even has a
> budget for things like that, I believe.  I'm cc-ing Jason, who's on
> the committee and might have more input on what's the best way to proceed.
>
> Thanks for bringing this up!
> -Iavor
>
>
> On Fri, Nov 2, 2012 at 5:14 AM, Ramana Kumar wrote:
>
>> Who is the webmaster for haskell.org? Presumably they will be required
>> in the process of installing the certificate.
>>
>> As far as obtaining goes, one can obtain a free certificate from StartSSL
>> - see https://www.startssl.com
>> There are other CAs, but if nobody has any strong preferences, I
>> recommend going with them.
>>
>>
>> On Tue, Oct 30, 2012 at 8:52 PM, Niklas Hambüchen  wrote:
>>
>>> So how do we go forward about getting the SSL certificate and installing
>>> it?
>>>
>>> On 29/10/12 01:06, Patrick Mylund Nielsen wrote:
>>> > Sure. No matter what's done in Cabal, the clients for everything else
>>> > will still be mainly browsers.
>>> >
>>> > On Mon, Oct 29, 2012 at 12:59 AM, Niklas Hambüchen >> > > wrote:
>>> >
>>> > No matter what we do with cabal, it would be great if I could soon
>>> point
>>> > my browser at https://haskell.org *anyway*.
>>> >
>>> > On 28/10/12 23:55, Patrick Mylund Nielsen wrote:
>>> > > Of course, as long as Cabal itself is distributed through this
>>> same
>>> > > https-enabled site, you have the same PKI-backed security as just
>>> > about
>>> > > any major website. This model has problems, yes, but it's good
>>> enough,
>>> > > and it's easy to use. If you really want to improve it (without
>>> > > impacting usability), have Google/the browser vendors pin the
>>> public
>>> > > cert for haskell.org  .
>>> > >
>>> > > On Mon, Oct 29, 2012 at 12:45 AM, Patrick Mylund Nielsen
>>> > > mailto:hask...@patrickmylund.com>
>>> > >> > >> wrote:
>>> > >
>>> > > PGP tends to present many usability issues, and in this case
>>> it
>>> > > would make more sense/provide a clearer win if there were
>>> many
>>> > > different, semi-untrusted hackage mirrors. Just enable HTTPS
>>> and
>>> > > have Cabal validate the server certificate against a CA pool
>>> > of one.
>>> > > PKI/trusting obscure certificate authorities in Egypt and
>>> Syria is
>>> > > the biggest concern here, not somebody MITMing your initial
>>> Cabal
>>> > > installation (which in a lot of cases happens through
>>> apt-get or
>>> > > yum, anyway.)
>>> > >
>>> > >
>>> > > On Mon, Oct 29, 2012 at 12:34 AM, Changaco
>>> > mailto:chang...@changaco.net>
>>> > > >> >>>
>>> > wrote:
>>> > >
>>> > > On Sun, 28 Oct 2012 17:07:24 -0400 Patrick Hurst wrote:
>>> > > > How do you get a copy of cabal while making sure that
>>> > somebody
>>> > > hasn't MITMed you and replaced the PGP key?
>>> > >
>>> > > Ultimately it is a DNS problem. To establish a secure
>>> > connection
>>> > > with
>>> > > haskell.org  
>>> > you'd have to get the
>>> > > certificate from the DNS, but that
>>> > > technology is not ready yet, so all you can do is check
>>> > the key
>>> > > against
>>> > > as many sources as possible like Michael Walker said.
>>> > >
>>> > > On Sun, 28 Oct 2012 17:46:06 -0400 Patrick Hurst wrote:
>>> > > > So why not use HTTPS?
>>> > >
>>> > > Because it doesn't solve the problem.
>>> > >
>>> > > ___
>>> > > Haskell-Cafe mailing list
>>> > > Haskell-Cafe@haskell.org >> Haskell-Cafe@haskell.org>
>>> > >> >>
>>> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
>>> > >
>>> > >
>>> > >
>>> > >
>>> > >
>>> > > ___
>>> > > Haskell-Cafe mailing list
>>> > > Haskell-Cafe@haskell.org 
>>> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
>>> > >
>>> >
>>> > ___
>>> > Haskell-Cafe mailing list
>>> > Haskell-Cafe@haskell.org 
>>> > http://www.haskell.org/m

Re: [Haskell-cafe] [Security] Put haskell.org on https

2012-11-02 Thread Iavor Diatchki
Hello,

I think that getting a certificate is a good idea.  I think this could
probably be arranged by the haskell.org committee, which even has a budget
for things like that, I believe.  I'm cc-ing Jason, who's on the committee
and might have more input on what's the best way to proceed.

Thanks for bringing this up!
-Iavor


On Fri, Nov 2, 2012 at 5:14 AM, Ramana Kumar wrote:

> Who is the webmaster for haskell.org? Presumably they will be required in
> the process of installing the certificate.
>
> As far as obtaining goes, one can obtain a free certificate from StartSSL
> - see https://www.startssl.com
> There are other CAs, but if nobody has any strong preferences, I recommend
> going with them.
>
>
> On Tue, Oct 30, 2012 at 8:52 PM, Niklas Hambüchen  wrote:
>
>> So how do we go forward about getting the SSL certificate and installing
>> it?
>>
>> On 29/10/12 01:06, Patrick Mylund Nielsen wrote:
>> > Sure. No matter what's done in Cabal, the clients for everything else
>> > will still be mainly browsers.
>> >
>> > On Mon, Oct 29, 2012 at 12:59 AM, Niklas Hambüchen > > > wrote:
>> >
>> > No matter what we do with cabal, it would be great if I could soon
>> point
>> > my browser at https://haskell.org *anyway*.
>> >
>> > On 28/10/12 23:55, Patrick Mylund Nielsen wrote:
>> > > Of course, as long as Cabal itself is distributed through this
>> same
>> > > https-enabled site, you have the same PKI-backed security as just
>> > about
>> > > any major website. This model has problems, yes, but it's good
>> enough,
>> > > and it's easy to use. If you really want to improve it (without
>> > > impacting usability), have Google/the browser vendors pin the
>> public
>> > > cert for haskell.org  .
>> > >
>> > > On Mon, Oct 29, 2012 at 12:45 AM, Patrick Mylund Nielsen
>> > > mailto:hask...@patrickmylund.com>
>> > > > >> wrote:
>> > >
>> > > PGP tends to present many usability issues, and in this case
>> it
>> > > would make more sense/provide a clearer win if there were many
>> > > different, semi-untrusted hackage mirrors. Just enable HTTPS
>> and
>> > > have Cabal validate the server certificate against a CA pool
>> > of one.
>> > > PKI/trusting obscure certificate authorities in Egypt and
>> Syria is
>> > > the biggest concern here, not somebody MITMing your initial
>> Cabal
>> > > installation (which in a lot of cases happens through apt-get
>> or
>> > > yum, anyway.)
>> > >
>> > >
>> > > On Mon, Oct 29, 2012 at 12:34 AM, Changaco
>> > mailto:chang...@changaco.net>
>> > > > >>>
>> > wrote:
>> > >
>> > > On Sun, 28 Oct 2012 17:07:24 -0400 Patrick Hurst wrote:
>> > > > How do you get a copy of cabal while making sure that
>> > somebody
>> > > hasn't MITMed you and replaced the PGP key?
>> > >
>> > > Ultimately it is a DNS problem. To establish a secure
>> > connection
>> > > with
>> > > haskell.org  
>> > you'd have to get the
>> > > certificate from the DNS, but that
>> > > technology is not ready yet, so all you can do is check
>> > the key
>> > > against
>> > > as many sources as possible like Michael Walker said.
>> > >
>> > > On Sun, 28 Oct 2012 17:46:06 -0400 Patrick Hurst wrote:
>> > > > So why not use HTTPS?
>> > >
>> > > Because it doesn't solve the problem.
>> > >
>> > > ___
>> > > Haskell-Cafe mailing list
>> > > Haskell-Cafe@haskell.org > >
>> > >
>> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > ___
>> > > Haskell-Cafe mailing list
>> > > Haskell-Cafe@haskell.org 
>> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
>> > >
>> >
>> > ___
>> > Haskell-Cafe mailing list
>> > Haskell-Cafe@haskell.org 
>> > http://www.haskell.org/mailman/listinfo/haskell-cafe
>> >
>> >
>>
>> ___
>> Haskell-Cafe mailing list
>> Haskell-Cafe@haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/l

Re: [Haskell-cafe] [Security] Put haskell.org on https

2012-11-02 Thread Ramana Kumar
Who is the webmaster for haskell.org? Presumably they will be required in
the process of installing the certificate.

As far as obtaining goes, one can obtain a free certificate from StartSSL -
see https://www.startssl.com
There are other CAs, but if nobody has any strong preferences, I recommend
going with them.

On Tue, Oct 30, 2012 at 8:52 PM, Niklas Hambüchen  wrote:

> So how do we go forward about getting the SSL certificate and installing
> it?
>
> On 29/10/12 01:06, Patrick Mylund Nielsen wrote:
> > Sure. No matter what's done in Cabal, the clients for everything else
> > will still be mainly browsers.
> >
> > On Mon, Oct 29, 2012 at 12:59 AM, Niklas Hambüchen  > > wrote:
> >
> > No matter what we do with cabal, it would be great if I could soon
> point
> > my browser at https://haskell.org *anyway*.
> >
> > On 28/10/12 23:55, Patrick Mylund Nielsen wrote:
> > > Of course, as long as Cabal itself is distributed through this same
> > > https-enabled site, you have the same PKI-backed security as just
> > about
> > > any major website. This model has problems, yes, but it's good
> enough,
> > > and it's easy to use. If you really want to improve it (without
> > > impacting usability), have Google/the browser vendors pin the
> public
> > > cert for haskell.org  .
> > >
> > > On Mon, Oct 29, 2012 at 12:45 AM, Patrick Mylund Nielsen
> > > mailto:hask...@patrickmylund.com>
> >  > >> wrote:
> > >
> > > PGP tends to present many usability issues, and in this case it
> > > would make more sense/provide a clearer win if there were many
> > > different, semi-untrusted hackage mirrors. Just enable HTTPS
> and
> > > have Cabal validate the server certificate against a CA pool
> > of one.
> > > PKI/trusting obscure certificate authorities in Egypt and
> Syria is
> > > the biggest concern here, not somebody MITMing your initial
> Cabal
> > > installation (which in a lot of cases happens through apt-get
> or
> > > yum, anyway.)
> > >
> > >
> > > On Mon, Oct 29, 2012 at 12:34 AM, Changaco
> > mailto:chang...@changaco.net>
> > > >>
> > wrote:
> > >
> > > On Sun, 28 Oct 2012 17:07:24 -0400 Patrick Hurst wrote:
> > > > How do you get a copy of cabal while making sure that
> > somebody
> > > hasn't MITMed you and replaced the PGP key?
> > >
> > > Ultimately it is a DNS problem. To establish a secure
> > connection
> > > with
> > > haskell.org  
> > you'd have to get the
> > > certificate from the DNS, but that
> > > technology is not ready yet, so all you can do is check
> > the key
> > > against
> > > as many sources as possible like Michael Walker said.
> > >
> > > On Sun, 28 Oct 2012 17:46:06 -0400 Patrick Hurst wrote:
> > > > So why not use HTTPS?
> > >
> > > Because it doesn't solve the problem.
> > >
> > > ___
> > > Haskell-Cafe mailing list
> > > Haskell-Cafe@haskell.org 
> > >
> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
> > >
> > >
> > >
> > >
> > >
> > > ___
> > > Haskell-Cafe mailing list
> > > Haskell-Cafe@haskell.org 
> > > http://www.haskell.org/mailman/listinfo/haskell-cafe
> > >
> >
> > ___
> > Haskell-Cafe mailing list
> > Haskell-Cafe@haskell.org 
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >
> >
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] [solved] forall disappear from type signature

2012-11-02 Thread Takayuki Muranushi
Today, I encountered a strange trouble with higher-rank polymorphism. It
was finally solved by nominal typing. Was it a bug in type checker? lack of
power in type inference? or lack of my understanding? I'll submit this in
hope that it will at least result in better GHC error message some day:

My following code

https://github.com/sugoi/sugoi/blob/0aec19b29274ddb7c5ae46b9b733e91bae0790b2/Sugoi/Types.hs

> runDB :: Lens NetworkState RIB
> runDB = lens (f::NetworkState -> RIB) (\x s -> s { _runDB = x })
>  where f :: NetworkState -> RIB

Didn't typecheck with following error:

Sugoi/Types.hs:38:15:
Couldn't match expected type `RIB'
with actual type `DB.DBMT (Maybe Int) IO a0
  -> IO (StM (DB.DBMT (Maybe Int) IO) a0)'
Expected type: NetworkState -> RIB
  Actual type: NetworkState
   -> DB.DBMT (Maybe Int) IO a0
   -> IO (StM (DB.DBMT (Maybe Int) IO) a0)
In the first argument of `lens', namely
  `(f :: NetworkState -> RIB)'
In the expression:
  lens (f :: NetworkState -> RIB) (\ x s -> s {_runDB = x})


How come an expression `(f :: NetworkState -> RIB)' is not of type
NetworkState -> RIB ?
When I changed the definition of runDB as follows,

> runDB = lens (\NetworkState{_runDB = x} -> x) (\x s -> s { _runDB = x })

The source of error was more clear:

Expected type: DB.DBMT (Maybe Int) IO a1
   -> IO (StM (DB.DBMT (Maybe Int) IO) a1)
  Actual type: DB.DBMT (Maybe Int) IO a
   -> IO (StM (DB.DBMT (Maybe Int) IO) a)

So, ghc couldn't unify these two types. By using the nominal typing, namely

> - type RIB = RunInBase (DB.DBMT (Maybe Int) IO) IO
> + newtype RIB = RIB (RunInBase (DB.DBMT (Maybe Int) IO) IO)

the problem was solved.

Always grateful to haskell-cafe from being there,
-- 
Takayuki MURANUSHI
The Hakubi Center for Advanced Research, Kyoto University
http://www.hakubi.kyoto-u.ac.jp/02_mem/h22/muranushi.html
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Unicode case (in)stability and Haskell identifiers.

2012-11-02 Thread Richard O'Keefe
I've been putting together a proposal for Unicode identifiers
in Erlang (it's EEP 40 if anyone wants to look it up).  In
the course of this, it has turned out that there is a technical
problem for languages with case-significant identifiers.

Haskell 2010 report, chapter 2.
http://www.haskell.org/onlinereport/haskell2010/haskellch2.html

varid → (small {small | large | digit | ' })\⟨reservedid⟩
conid →  large {small | large | digit | ' }

small→ ascSmall | uniSmall | _
ascSmall → a | b | … | z
uniSmall → any Unicode lowercase letter

large→ ascLarge | uniLarge
ascLarge → A | B | … | Z
uniLarge → any uppercase or titlecase Unicode letter

This is actually ambiguous: any ascSmall is also a uniSmall
and any ascLarge is also a uniLarge.  I take it that this
is intended to mean "any Unicode xxx letter other than an ASCII one"
in each case.

That's not the problem.  The definition currently bans Hebrew,
Arabic, Chinese, Japanese, all the Indic scripts, and basically
only allows Latin, Greek, Coptic, Cyrillic, Glagolitic,
Armenian, arguably Georgian, and Deseret (but not Shavian).
That's not the problem either.

The problem is that being a Unicode lower case, upper case,
or title case letter is not a stable property.

Unicode annex UAX#31 guarantees that
   X is a well-formed case-insensitive identifier now
  =>   X will always be a well-formed case-insensitive
   identifier
and that
   X is a well-formed case-sensitive identifier now
   =>  X will always be a well-formed case-sensitive
   identifier

What it does NOT guarantee is that it will continue to be
begin with the same *case* or even that a letter will
continue to be classified as a letter.  So it is at least
technically possible for a valid Haskell 2010 varid
(conid) to turn into a conid (varid) or even cease to be
a legal Haskell identifier at all.  Unicode standard
Annex UAX#31 guarantees stability of being-an-identifier
by having an exceptional set for any letter that stops
being a letter to go into.  For example, there are
SCRIPT CAPITAL {B,E,F,H,I,L,M,P,R} characters, all of
which are capital letters except for SCRIPT CAPITAL P,
which is a symbol, but it's in the exception set so it's
still OK to use.  All of the SCRIPT CAPITAL letters were
in General Category So in Unicode 1.1.5 (the earliest for
which online data is available). In Unicode 2.1.8, all of
them were Lu except for SCRIPT CAPITAL P, which was Ll.
By Unicode 3.0.0, SCRIPT CAPITAL P was back to So.  Some
time later it switched over to Sm.  So we've had

SCRIPT CAPITAL P
- not a letter (1.1.5)
- is a lower case letter (2.1.8)
- not a letter again (3.0.0)

at least according to the on-line UnicodeData-.txt
files.  Putting ℘ into the exceptional set means that a
UAX#31 identifier may still contain it, but not so a Haskell one.

There are two aspects to this instability.

(1) Because Haskell hews its own line instead of tailoring
UAX#31 the way Ada and Python do, Haskell cannot benefit
from the UAX#31 stability guarantee.  There _has_ been a
character that used to be legal in a Haskell identifier
that is not now.  That's Haskell's problem, not Unicode's,
and the Haskell community does not have to wait for anyone
else to address is.

(2) Even if you adopt one of the UAX#31 definitions verbatim,
the case distinction Haskell needs to make is not stable.

It appears that nobody who worked on UAX#31 was thinking about
languages like Prolog, Erlang, Clean, Haskell, F#, or Scala,
and that if the Unicode Consortium are told of the problem,
they will probably be happy to add some sort of "don't break
these languages" guideline.

Next week I intend to submit a proposal to the Unicode
consortium to consider this issue.

Would anyone care to see and comment on the proposal
before I send it to Unicode.org?  Anyone got any suggestions
before I begin to write it?

For the sake of argument, suppose that we are going to
stick with Xid_Start Xid_Continue* for the union of
variables and atoms (which is pretty much what Ada and
Python do), and the sole issue of concern is that there
should be a stable way to classify such a token as
"beginning with default case" or "beginning with marked case".



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