Hi *^o^*,
With the following rewrite rules:
lengthOP :: (Num a, Ord a) ⇒ Bool → (a → a → Bool) → [b] → a → Bool
lengthOP v (⊜) [] n = 0 ⊜ n
lengthOP v (⊜) xxs n = co xxs 0
where
co [] c = c ⊜ n
co (_:xs) c | n > c = co xs (c+1)
| otherwise = v
lenEQ = lengthOP
On Wed, Dec 17, 2008 at 11:41 PM, Belka wrote:
>
> Thanks for the info!
>
> > These days, however, web services seem to be moving towards a RESTful
> model with a JSON layer and there are plenty of JSON libraries on
> hackage, which you could just throw over the fastCGI bindings.
>
> Oh, but JSON
Thanks for the info!
> These days, however, web services seem to be moving towards a RESTful
model with a JSON layer and there are plenty of JSON libraries on
hackage, which you could just throw over the fastCGI bindings.
Oh, but JSON doesn't seem to support tree-structured data... This mi
I'm learning QuickCheck, and I'm puzzled by the behavior I'm seeing
with conditional properties. After writing and loading a simple qsort
function from a separate file, I typed these into ghci:
let prop_minimum xs = (length xs > 0) ==> head (qsort xs) == minimum xs
where types = xs :: [Int
On 18 Dec 2008, at 11:26 am, Andrew Coppin wrote:
(Also, "coroutines"? Seriously? That's hardly an obscure term in
programming circles.)
Well now, I'm curios. I've been writing computer programs since I
was 9 years old. I hold a diploma *and* an honours degree in
computer science. And I ha
On 2008 Dec 17, at 16:39, Andrew Coppin wrote:
So I keep hearing. Unfortunately, discovering what FRP actually
*means* is more or less impossible. I can't find a precise
definition of the term anywhere. There are a small handful
That would be because it's still very much an open area of rese
wqeqweuqy:
> """ To be eligible, you will need to upload them. Entries not displayed
> here won't be eligible. """
>
> Do the images really have to be uploaded to the wiki or are external
> links on the wiki page ok?
>
External is fine. Just make sure they're visible on the page.
Thanks!
- D
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA512
On Wed, Dec 17, 2008 at 8:09 PM, Neal Alexander wrote:
> """ To be eligible, you will need to upload them. Entries not displayed here
> won't be eligible. """
>
> Do the images really have to be uploaded to the wiki or are external links
> on the wi
Jeff Wheeler wrote:
On Dec 16, 2008, at 10:08 PM, Ryan Grant wrote:
nice.
the first is better.
in the second, i don't even see the lambda.
Thanks the feedback. I just uploaded a new version [1] that is
icon-sized, although the font used is Helvetica Neue, which is non-free.
I have no free
Hi Andrew,
Andrew Coppin wrote:
Technical terms are only
useful to those who already know what they mean, after all.
All terms, whether technical or not, are only useful to those who
already know what they mean. So if you want to learn new concepts, then
you have to learn new terms. All term
On 18 Dec 2008, at 7:36 am, Brian Hurt wrote:
I know it's not hard to write, but still:
concat :: String -> [String] -> String
concat _ [] = ""
concat _ [x] = x
concat sep x:xs = x ++ sep ++ (concat sep xs)
I've got to be stupid and missing it in the standard libraries.
You want concat (i
""" To be eligible, you will need to upload them. Entries not displayed
here won't be eligible. """
Do the images really have to be uploaded to the wiki or are external
links on the wiki page ok?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.or
[Names removed as a courtesy]
True, true, and who cares about folks afraid of unknown operators
which
might do wonderfull stuff ;-)))
That's the kind of mentality I am talking about. The "we are better
than you" mentality, should stay with the Java and .NET people.
The subject is a LOG
Andrew Coppin writes:
And who knows category theory? Almost nobody. If you insist on naming
stuff after things that nobody will have heard of and which sound highly
technical, you're going to seriously limit your potential audience.
Speak for yourself, not for "almost everybody", or you wil
> And who knows category theory? Almost nobody. If you insist on naming stuff
> after things that nobody will have heard of and which sound highly
> technical, you're going to seriously limit your potential audience.
If you insist on naming stuff ad hoc, you're going to seriously limit
the appeal
2008/12/17 George Pollard :
>> Might be interesting to try angling the ends of the stems to look
>> something more like the guillemot in [1]. I might try this in Gimp but
>> I'm no designer :P
>
> Here is what I got; I think I chose the wrong yellow :) Based it on the
> font Diavlo, which is free.
On Wed, 2008-12-17 at 23:00 +0100, Daniel Fischer wrote:
> Am Mittwoch, 17. Dezember 2008 22:35 schrieb Jonathan Cast:
> > On Wed, 2008-12-17 at 21:31 +, Andrew Coppin wrote:
> > > In other words, you want to keep Haskell elitist.
> >
> > I think there's value in having elites around.
>
> Yes,
On Wed, Dec 17, 2008 at 7:26 PM, Andrew Coppin
wrote:
>>
>> (Also, "coroutines"? Seriously? That's hardly an obscure term in
>> programming circles.)
>>
>
> Well now, I'm curios. I've been writing computer programs since I was 9
> years old. I hold a diploma *and* an honours degree in computer sci
>
> The current logo is basically a circle plus a whole heap of mathematical
> symbols. That doesn't really say "hey, this stuff is fun, come on in!"
> It says "this is for maths nerds only". (Which isn't actually true, in
> my opinion. But the current logo gives that impression.) I'd like our
Tristan Seligmann wrote:
* Andrew Coppin [2008-12-16 20:23:50 +]:
Sure, there are many concepts in Haskell which just aren't found
anywhere else. But monads? Catamorphisms? Coroutines? Couldn't we think
up some less intimidating terminology?
The problem is that "less intimidat
It's absolutely possible. However, I think you do need to enumerate
the possible types somehow.
Here's an example that demonstrates the idea:
> {-# LANGUAGE ScopedTypeVariables #-}
> sizedTree :: forall a. Arbitrary a => Int -> Gen (Tree a)
> sizedTree n | n <= 0 = liftM Val arbitrary
> sizedTre
On Wed, Dec 17, 2008 at 09:34:15PM +, Andrew Coppin wrote:
> - I very much like the concept of this. It's clean, simple, elegant.
> Like Haskell!
But Haskell isn't Clean.
(SCNR)
Ciao,
Kili
___
Haskell-Cafe mailing list
Haskell-Cafe@haske
Gianfranco Alongi wrote:
That's the kind of mentality I am talking about. The "we are better
than you" mentality, should stay with the Java and .NET people. If you
have this urge of feeling superior and believe haskell-hacking is some
kind of achievement. .
Haskell is a tool like any other,
Am Mittwoch, 17. Dezember 2008 22:35 schrieb Jonathan Cast:
> On Wed, 2008-12-17 at 21:31 +, Andrew Coppin wrote:
> > In other words, you want to keep Haskell elitist.
>
> I think there's value in having elites around.
Yes, but not if they're elitist :-)
Seriously, I hope you're deliberately o
On Thu, 2008-12-18 at 09:55 +1300, George Pollard wrote:
> Might be interesting to try angling the ends of the stems to look
> something more like the guillemot in [1]. I might try this in Gimp but
> I'm no designer :P
Unfortunately, neither am I. :P
The curvey version (3rd and 4th images on the
Darrin Thompson wrote:
What I like about the design is anybody can draw it in 5 strokes and
it's unmistakably what it is. Sharpie, pencil, even spray paint all
work. You could make your own hat or t-shirt and wear it to an
important event, or a wedding. You could tag a rival cube farm wall to
dec
Ryan Ingram wrote:
Oops, misread a bit. I thought this was your series of posts, Andrew!
But other than that, my points stand :)
Don't you just *hate* it when you reply, and then later realise you
missed some small but important detail? ;-)
As for your actual content... I will have to m
Henrik Nilsson wrote:
Hi,
> Thoughts, people?
Functional Reactive Programming (FRP) tends to, in principle, work
pretty well for this kind of application.
So I keep hearing. Unfortunately, discovering what FRP actually *means*
is more or less impossible. I can't find a precise definition of
> Might be interesting to try angling the ends of the stems to look
> something more like the guillemot in [1]. I might try this in Gimp but
> I'm no designer :P
Here is what I got; I think I chose the wrong yellow :) Based it on the
font Diavlo, which is free.
<>
signature.asc
Description: Thi
On Wed, 2008-12-17 at 21:31 +, Andrew Coppin wrote:
> Jonathan Cast wrote:
> >> {-# LANGUAGE ExistentialQuantification #-}
> >>
> >> Hmm, now if this was Perl or something, that would be
> >> HiddenTypeVariables or something. Much less fearsom-sounding.
> >>
> >
> > No, it's cute. Repuls
andrewcoppin:
> Jonathan Cast wrote:
> >>{-# LANGUAGE ExistentialQuantification #-}
> >>
> >>Hmm, now if this was Perl or something, that would be
> >>HiddenTypeVariables or something. Much less fearsom-sounding.
> >>
> >
> >No, it's cute. Repulsively so.
> >
>
> Right. So giving things me
Jeff Wheeler wrote:
[1]: http://media.nokrev.com/junk/haskell-logos/logo1.png
[2]: http://media.nokrev.com/junk/haskell-logos/logo2.png
As others have said:
- I very much like the concept of this. It's clean, simple, elegant.
Like Haskell!
- Yeah, it does look a tad harsh. Maybe curvy edg
Jonathan Cast wrote:
{-# LANGUAGE ExistentialQuantification #-}
Hmm, now if this was Perl or something, that would be
HiddenTypeVariables or something. Much less fearsom-sounding.
No, it's cute. Repulsively so.
Right. So giving things meaningful names is "repulsive"? No wonder
Has
On Wed, 2008-12-17 at 21:46 +0100, Martijn van Steenbergen wrote:
> > If you play with the angles and vary the stroke thicknesses you'll
> > probably get a friendlier look, vs. the military/airline look these
> > have now. The first '>' doesn't have to be the same thickness as the
> > lambda.
>
>
Darrin Thompson wrote:
On Tue, Dec 16, 2008 at 9:47 PM, Jeff Wheeler wrote:
[1]: http://media.nokrev.com/junk/haskell-logos/logo1.png
[2]: http://media.nokrev.com/junk/haskell-logos/logo2.png
Oops, I meant to post on list.
If you play with the angles and vary the stroke thicknesses you'll
On Wed, 17 Dec 2008, Max Rabkin wrote:
Hoogle is your friend:
Searching for String -> [String] -> String
Data.List intercalate :: [a] -> [[a]] -> [a]
base
intercalate xs xss is equivalent to (concat (intersperse xs xss)). It
inserts the...
Thanks.
Brian
Am Mittwoch, 17. Dezember 2008 19:36 schrieb Brian Hurt:
> I know it's not hard to write, but still:
>
> concat :: String -> [String] -> String
> concat _ [] = ""
> concat _ [x] = x
> concat sep x:xs = x ++ sep ++ (concat sep xs)
>
> I've got to be stupid and missing it in the standard libraries.
Am Mittwoch, 17. Dezember 2008 19:36 schrieb Brian Hurt:
> I know it's not hard to write, but still:
>
> concat :: String -> [String] -> String
> concat _ [] = ""
> concat _ [x] = x
> concat sep x:xs = x ++ sep ++ (concat sep xs)
>
> I've got to be stupid and missing it in the standard libraries.
On Wed, Dec 17, 2008 at 7:36 PM, Brian Hurt wrote:
>
> I know it's not hard to write, but still:
>
> concat :: String -> [String] -> String
> concat _ [] = ""
> concat _ [x] = x
> concat sep x:xs = x ++ sep ++ (concat sep xs)
>
> I've got to be stupid and missing it in the standard libraries. Ple
Hoogle is your friend:
Searching for String -> [String] -> String
Data.List intercalate :: [a] -> [[a]] -> [a]
base
intercalate xs xss is equivalent to (concat (intersperse xs xss)). It
inserts the...
Regards,
Max
On Wed, Dec 17, 2008 at 10:36 AM, Brian Hurt wrote:
>
> I know it's not
I know it's not hard to write, but still:
concat :: String -> [String] -> String
concat _ [] = ""
concat _ [x] = x
concat sep x:xs = x ++ sep ++ (concat sep xs)
I've got to be stupid and missing it in the standard libraries. Please
tell me where. Thanks.
Brian
Hello,
I was playing with the following tree type (attached below) which can
be seen as the reification of an applicative. I wondered if I could
define a QuickCheck Arbitrary instance for it.
The only way I got it to type check however, was to give 'arg' a
monomorphic type (for example: 'Gen (Tre
It was pointed out to me that there are other differences besides
monadic versus applicative, and now I'm thinking I misdiagnosed the
bug after all.
sorry for the spam.
2008/12/17 Thomas Hartman :
> The commented-out signature is incorrect.
>
> Of course, the two functions have the same type sig.
On Wed, 2008-12-17 at 08:42 -0500, Darrin Thompson wrote:
> If you play with the angles and vary the stroke thicknesses you'll
> probably get a friendlier look, vs. the military/airline look these
> have now. The first '>' doesn't have to be the same thickness as the
> lambda.
>
> Just another $0
The commented-out signature is incorrect.
Of course, the two functions have the same type sig.
2008/12/17 Thomas Hartman :
> Hi,
>
> I rewrote a piece of code that used applicative to use instead
> monadic style, basically because I wanted to adapt it for my own
> purposes but hadn't wrapped my
Hi,
I rewrote a piece of code that used applicative to use instead
monadic style, basically because I wanted to adapt it for my own
purposes but hadn't wrapped my head around applicative yet.
Unfortunately my rewrite had a bug, which I'm still not completely
clear on. (I am guessing it's a la
I'll have an attempt at addressing the questions, although I freely
admit that I'm not as "into" Reactive as Conal is yet, so he may come
and correct me in a minute.
On 17 Dec 2008, at 15:29, Henrik Nilsson wrote:
I have not used Reactive as such, but I did use "Classic FRP"
extensively, an
>
> That's the kind of mentality I am talking about. The "we are better
> than you" mentality, should stay with the Java and .NET people. If you
> have this urge of feeling superior and believe haskell-hacking is some
> kind of achievement. .
>
Well, you are what many call "person who just can
Thomas Davie wrote:
> Advantages of Yampa:
> • Just at the moment, slightly more polished.
> • (maybe) harder to introduce space/time leaks.
>
> Advantages of Reactive:
> • More functional programming like -- doesn't require you to use
> arrows everywhere, and supports a nice applicative style.
2008/12/17 wman <666w...@gmail.com>:
> 2008/12/17 Tristan Seligmann
>>
>> I really don't think that including a visual pun on the (>>=)
>> operator translates to "Haskell, it's all about monads"; you're only
>> likely to recognise the pun after you already know about monads anyway.
>
> True, tr
2008/12/17 Tristan Seligmann
> I really don't think that including a visual pun on the (>>=)
> operator translates to "Haskell, it's all about monads"; you're only
> likely to recognise the pun after you already know about monads anyway.
>
True, true, and who cares about folks afraid of unknown
* Andrew Coppin [2008-12-16 20:23:50 +]:
> I think the accusation is more that Haskell tries to be cryptic and
> arcane *on purpose*, just to confuse people.
>
> Sure, there are many concepts in Haskell which just aren't found
> anywhere else. But monads? Catamorphisms? Coroutines? Couldn
* Thomas Davie [2008-12-17 09:10:55 +0100]:
> Oh please no, please don't let the logo be something that says "Haskell,
> it's all about monads".
I don't see anyone complaining about the python logo being something
that says "Python, it's all about snakes" (Python is named after Monty
Python). I
On Tue, Dec 16, 2008 at 9:47 PM, Jeff Wheeler wrote:
> [1]: http://media.nokrev.com/junk/haskell-logos/logo1.png
> [2]: http://media.nokrev.com/junk/haskell-logos/logo2.png
>
>
Oops, I meant to post on list.
If you play with the angles and vary the stroke thicknesses you'll
probably get a friend
Hello Simon,
Wednesday, December 17, 2008, 4:05:48 PM, you wrote:
> I'm afraid the underlying problem is one that GHC has always had - that we
> can't preempt threads that aren't allocating. It's not easily fixable, we
> would have to inject dummy heap checks into every non-allocating loop,
> wh
Gwern Branwen wrote:
On Mon, Dec 15, 2008 at 9:00 AM, Simon Marlow wrote:
This particular example illustrates a bug in 6.10.1 that we've since fixed:
http://hackage.haskell.org/trac/ghc/ticket/2783
OK, that's good...
However in general you can still write expressions that don't allocate
a
> Type wildcards that allow partially specifying types, e.g:
>
> f :: _ -> String
> f x = show x
>
> This will instruct the type-inferrer to "fill out" the wild-card part only
> (e.g: Show a => a).
Also see
http://hackage.haskell.org/trac/haskell-prime/wiki/PartialTypeAnnotations
Cheers,
And
I must agree, the proposal " pure . lazy . fun" is quite funny and
informative at the same time.
It will hopefully also supply people with something to laugh about
when they have learned enough. :)
While being true, it's also subtle.
/Gf
On Wed, Dec 17, 2008 at 11:48 AM, Ketil Malde wrote:
> "G
"Gianfranco Alongi" writes:
> I agree on what some people say; I see no point in trying to advertise
> "elitism".
For this reason, my favorite subtitle is "pure . lazy . fun". Nice
and friendly, with some doulbe meanings for the cognoscenti. (I'm
sorry, but I can't bring myself to add "simple"
Hi,
I have a strange problem with "interact" on OS X (ghc 6.10.1). It
seems to garble stdin.
I have some code here http://hpaste.org/13135#a2 , for testing purpose:
*Main> main
1
> 1.0
2
> 1.5
3
> 2.0
*Main> setNonBlockingFD: invalid argument (Bad file descriptor)
11:40:45 ~/Desktop>
(I hit
> >>>
> >>> Any critiques/suggestions? I'm thinking about a second version that
> more
> >>> obviously defines the second '>' with color from the bottom-right part
> of the
> >>> lambda.
> >>>
> >>> Jeff Wheeler
> >>>
> >>> [1]: http://media.nokrev.com/junk/haskell-logos/logo1.png
> >>> [2]: http:
Hello,
> I was surprised to discover that `cabal-install' -- a popular utility
> for installing Hackage packages -- cannot work with HTTP proxies.
> Despite all the necessary code linked in.
>
> `cabal update' command returns HTTP 407 (Proxy Authentication Required)
> error. The problem is explai
> It has a military feeling I don't like...
Might look cuddlier with slightly rounded edges. That's what all the
cool kids[1] are doing anyway ;)
[1]: http://www.python.org/
signature.asc
Description: This is a digitally signed message part
___
Haskel
I agree on what some people say; I see no point in trying to advertise
"elitism".
Let's avoid the same mistake as the linux community made; soon we'll
have an internal flame war about which monad is the best (linux
distribution flame-wars analog), arguing who's the most 31337 haxxor
and so on.
In
On 17 Dec 2008, at 09:26, Luke Palmer wrote:
On Wed, Dec 17, 2008 at 1:10 AM, Thomas Davie
wrote:
On 16 Dec 2008, at 18:40, Darrin Thompson wrote:
\\ \\
\\ \\ \|
\\ \\ ---
\\ \\
// / \--
On Wed, Dec 17, 2008 at 1:10 AM, Thomas Davie wrote:
>
> On 16 Dec 2008, at 18:40, Darrin Thompson wrote:
>
>
>> \\ \\
>> \\ \\ \|
>> \\ \\ ---
>> \\ \\
>> // / \
>> // / \
2008/12/17 Neal Alexander :
> m...@justinbogner.com wrote:
>>
>> George Pollard writes:
>>>
>>> On Wed, 2008-12-17 at 02:47 +, Jeff Wheeler wrote:
I love this ASCII-art version. I tried to make a vector version of it in
Photoshop, and I came up with this [1] and [2].
A
Oops, misread a bit. I thought this was your series of posts, Andrew!
But other than that, my points stand :)
-- ryan
On Wed, Dec 17, 2008 at 12:13 AM, Ryan Ingram wrote:
> In the last "episode" you talk about an entity's update being a function like:
>
>> input_state -> (output_state, [even
m...@justinbogner.com wrote:
George Pollard writes:
On Wed, 2008-12-17 at 02:47 +, Jeff Wheeler wrote:
I love this ASCII-art version. I tried to make a vector version of it in
Photoshop, and I came up with this [1]
and [2].
Any critiques/suggestions? I'm thinking about a second version
In the last "episode" you talk about an entity's update being a function like:
> input_state -> (output_state, [event])
for some suitably defined types of input state, output state, and event.
Connecting together functions with types like this is exactly what
Reactive does well. You have an eve
On 16 Dec 2008, at 18:40, Darrin Thompson wrote:
\\ \\
\\ \\ \|
\\ \\ ---
\\ \\
// / \
// / \ \|
// / /\\ ---
// / / \\
---
On 17 Dec 2008, at 03:14, Tony Hannan wrote:
Hello,
Can someone describe the advantages and disadvantages of the Yampa
library versus the Reactive library for functional reactive
programming, or point me to a link.
Thanks,
Tony
P.S. It is hard to google for Yampa and Reactive together b
72 matches
Mail list logo