On 25 September 2012 16:51, Magicloud Magiclouds
magicloud.magiclo...@gmail.com wrote:
Hi,
For example, I have an array [0..]. Now I want to take a sub list
that starts from index 0, and only contain 4 odds, and is minimum
result. The answer should be [0, 1, 2, 3, 4, 5, 6, 7].
If you have
It also comes to my mind that you can use something similar to regular
expressions and parsing, seeing your list as a word made of Int elements. I
think you can achieve it using Parsec or attoparsec.
One you define your basic combinators for 'odd', you can see your sublist
as the minimal part of
Magicloud Magiclouds magicloud.magiclo...@gmail.com writes:
Hi,
For example, I have an array [0..]. Now I want to take a sub list
that starts from index 0, and only contain 4 odds, and is minimum
result. The answer should be [0, 1, 2, 3, 4, 5, 6, 7].
How to do that? Combining lazy
f x 0 = []f (x:xs) y | x `mod` 2 == 0 = x : (f xs y) | otherwise = x : (f xs
(y-1))
f [0..] 4 [0,1,2,3,4,5,6,7]
To: haskell-cafe@haskell.org
From: jon.fairba...@cl.cam.ac.uk
Date: Tue, 25 Sep 2012 10:16:52 +0100
Subject: Re: [Haskell-cafe] How to take a minimum sub list that only contain
On Tue, Sep 25, 2012 at 1:42 PM, Rishabh Jain rishab...@live.com wrote:
f x 0 = []
f (x:xs) y | x `mod` 2 == 0 = x : (f xs y) | otherwise = x : (f xs (y-1))
f [0..] 4
[0,1,2,3,4,5,6,7]
Tsk, tsk. So ugly. How's this:
let f x = take x . filter odd
f 4 [0..]
~ [1, 3, 5, 7]
Notice that 0 is
On 26 September 2012 03:56, Gwern Branwen gwe...@gmail.com wrote:
On Tue, Sep 25, 2012 at 1:42 PM, Rishabh Jain rishab...@live.com wrote:
f x 0 = []
f (x:xs) y | x `mod` 2 == 0 = x : (f xs y) | otherwise = x : (f xs (y-1))
f [0..] 4
[0,1,2,3,4,5,6,7]
Tsk, tsk. So ugly. How's this:
let f
2012/9/25 Ivan Lazar Miljenovic ivan.miljeno...@gmail.com
On 25 September 2012 16:51, Magicloud Magiclouds
magicloud.magiclo...@gmail.com wrote:
Hi,
For example, I have an array [0..]. Now I want to take a sub list
that starts from index 0, and only contain 4 odds, and is minimum
On 26/09/2012, at 5:56 AM, Gwern Branwen wrote:
On Tue, Sep 25, 2012 at 1:42 PM, Rishabh Jain rishab...@live.com wrote:
f x 0 = []
f (x:xs) y | x `mod` 2 == 0 = x : (f xs y) | otherwise = x : (f xs (y-1))
f [0..] 4
[0,1,2,3,4,5,6,7]
Tsk, tsk. So ugly. How's this:
let f x = take x .
On Tue, Sep 25, 2012 at 8:17 PM, Richard O'Keefe o...@cs.otago.ac.nz wrote:
Wrong. The original poster gave an explicit example
in which even elements were *retained* in the output,
they just weren't *counted*.
You are at least the fourth person to email me now to point this out.
I'm glad I
On 26/09/2012, at 12:28 PM, Gwern Branwen wrote:
On Tue, Sep 25, 2012 at 8:17 PM, Richard O'Keefe o...@cs.otago.ac.nz wrote:
Wrong. The original poster gave an explicit example
in which even elements were *retained* in the output,
they just weren't *counted*.
You are at least the fourth
On Tue, Sep 25, 2012 at 8:45 PM, Richard O'Keefe o...@cs.otago.ac.nz wrote:
That doesn't work either. Consider the list [1,1,1,1,1].
The element just after the 5th odd number in the list is 1;
takeWhile (/= 1) will thus return [] instead of [1,1,1,1].
I'm not sure that OP would prefer
11 matches
Mail list logo