[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