)))
= x+y
Simon
| -Original Message-
| From: haskell-cafe-boun...@haskell.org
[mailto:haskell-cafe-boun...@haskell.org] On
| Behalf Of Andrew Coppin
| Sent: 27 February 2010 18:11
| To: haskell-cafe@haskell.org
| Subject: [Haskell-cafe] View patterns
|
| One somewhat neat thing about
On 28 February 2010 05:55, Andrew Coppin andrewcop...@btinternet.com wrote:
It won't work for arbitrarily complex structures, however. My main point was
that if you make the constructors abstract and provide functions to query
the structure, now you can't pattern match against it.
We do,
One somewhat neat thing about Haskell is that you can say
case list of
[[x], [y,_], [z,_,_]] - x + y + z
_ - 0
In Java, you'd have to write something like
if (list.length() == 3)
{
List t1 = list.at(0);
if (t1.length() == 1)
{
int x = t1.at(0);
List t2 = list.at(1);
A humble suggestion: Have a *lazy* to list method for your *lists, arrays,
sets, etc.* and use the nice list-only version.
On 27 February 2010 18:11, Andrew Coppin andrewcop...@btinternet.comwrote:
One somewhat neat thing about Haskell is that you can say
case list of
[[x], [y,_],
Ozgur Akgun wrote:
A humble suggestion: Have a *lazy* to list method for your /lists,
arrays, sets, etc./ and use the nice list-only version.
Yeah, that works quite nicely.
It won't work for arbitrarily complex structures, however. My main point
was that if you make the constructors abstract
Hi,
I'm working on a data structure that uses Data.Sequence a lot, so views
are important and I tried to simplify my code using view patterns.
The problem is, that I keep getting warnings about both overlapping and
non-exhaustive pattern matches. A simple test case:
On Wed, Mar 11, 2009 at 5:22 PM, Stephan Friedrichs
deduktionstheo...@web.de wrote:
Hi,
I'm working on a data structure that uses Data.Sequence a lot, so views
are important and I tried to simplify my code using view patterns.
The problem is, that I keep getting warnings about both
Hi Stephan,
I'm working on a data structure that uses Data.Sequence a lot, so views
are important and I tried to simplify my code using view patterns.
The problem is, that I keep getting warnings about both overlapping and
non-exhaustive pattern matches. A simple test case:
Svein Ove Aas wrote:
[...]
For the time being, it will *work*, you just won't get useful
warnings. Hopefully it's going to be fixed for 10.2.
Hmm I don't find #2395 anywhere on
http://hackage.haskell.org/trac/ghc/milestone/6.10.2 :(
//Stephan
--
Früher hieß es ja: Ich denke, also bin
Hi everyone,
Yes, the current overlap checker thinks all view patterns are
overlapped. The pattern overlap/exhaustiveness checker needs to be
rewritten to account for GADTs and view patterns.
You can use -fno-warn-overlapping-patterns to suppress these warning
(along with any actual overlaps,
2008/11/5 Cetin Sert [EMAIL PROTECTED]:
interactive:1:4:
Warning: Pattern match(es) are overlapped
In the definition of `emp':
emp ((has - True)) = ...
emp ((has - False)) = ...
Why do I get this error in ghc or when I try to compile a file
let has [] = False; has _ = True
-- this one is ok
let empty list = case has list of True - False; False - True
-- the following is problematic
let emp (has - True) = False; emp (has - False) = True
interactive:1:4:
Warning: Pattern match(es) are overlapped
In the definition of
Hello Cetin,
Wednesday, November 5, 2008, 8:34:14 AM, you wrote:
let emp (has - True) = False; emp (has - False) = True
Warning: Pattern match(es) are overlapped
proibably it's because GHC can't check view patterns for overlaps?
--
Best regards,
Bulat
13 matches
Mail list logo