[Haskell-beginners] Understanding some notation
Jack Henahan
jhenahan at uvm.edu
Mon Jun 27 00:48:00 CEST 2011
I know the type signature of (++), I'm just not seeing `n` as a list, I suppose. I'm reading it as being the Int that is passed to splitAt, though perhaps my thought process is just wonky.
On Jun 26, 2011, at 6:41 PM, Mike Meyer wrote:
> On Sun, 26 Jun 2011 18:14:44 -0400
> Jack Henahan <jhenahan at uvm.edu> wrote:
>
>> I have this code snippet:
>>
>> import Data.List
>>
>> aaa x (y:ys) = case splitAt x (y:ys) of
>> (n, x:xs) -> x:n ++ xs
>> (n, xs) -> n ++ xs
>>
>> I understand what it's meant to do (that is, split a list at index `x` and make a new list with that element at the head, or just return the list when given a singleton), but my brain is failing me when trying to read the notation `n ++ xs`.
>>
>> Is there some obvious explanation that I'm just forgetting?
>
> Yes. But more importantly, you're forgetting that you can ask the REPL:
>
> Prelude> :t (++)
> (++) :: [a] -> [a] -> [a]
>
> So it takes two lists and produces a new one. Trying it:
>
> Prelude> [1, 2, 3] ++ [4, 5, 6]
> [1,2,3,4,5,6]
>
> So ++ concatenates it's operands.
>
> <mike
> --
> Mike Meyer <mwm at mired.org> http://www.mired.org/
> Independent Software developer/SCM consultant, email for more information.
>
> O< ascii ribbon campaign - stop html mail - www.asciiribbon.org
====
"Computer Science is no more about computers than astronomy is about telescopes."
-- Edsger Dijkstra
====
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 398E692F.asc
Type: application/x-apple-msg-attachment
Size: 24295 bytes
Desc: not available
URL: <http://www.haskell.org/pipermail/beginners/attachments/20110626/a19c9466/attachment.bin>
-------------- next part --------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 881 bytes
Desc: This is a digitally signed message part
URL: <http://www.haskell.org/pipermail/beginners/attachments/20110626/a19c9466/attachment.pgp>
More information about the Beginners
mailing list