Send Beginners mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://www.haskell.org/mailman/listinfo/beginners
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Beginners digest..."
Today's Topics:
1. Strange difference in behaviour between ghc and ghci
(Matthew Moppett)
2. Re: Strange difference in behaviour between ghc and ghci
(Arlen Cuss)
3. Re: flatten comma operator (Arlen Cuss)
4. Re: Strange difference in behaviour between ghc and ghci
(Andres L?h)
5. Re: Strange difference in behaviour between ghc and ghci
(Henry Lockyer)
6. Re: Strange difference in behaviour between ghc and ghci
(Henry Lockyer)
7. Re: Strange difference in behaviour between ghc and ghci
(Matthew Moppett)
----------------------------------------------------------------------
Message: 1
Date: Thu, 7 Jun 2012 21:22:23 +1000
From: Matthew Moppett <[email protected]>
Subject: [Haskell-beginners] Strange difference in behaviour between
ghc and ghci
To: [email protected]
Message-ID:
<CAMLEjZAi7waUto4TaqegwJ1-4eBCT=ifcvjaylatpjuxkcp...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
I have a very simple Haskell file (HelloWorld.hs) that reads like this:
main = do
putStr "What's your name? "
n <- getLine
putStrLn $ "Pleased to meet you, " ++ n
When I load it into ghci, I get the following result, as expected:
[1 of 1] Compiling Main ( HelloWorld.hs, interpreted )
Ok, modules loaded: Main.
*Main> main
What's your name? Matt
Pleased to meet you, Matt
*Main>
However, when I compile the same file using ghc and run it in a terminal, I
get a very different result:
matt@matt-Lenovo-G575:~/Haskell$ ghc HelloWorld.hs
[1 of 1] Compiling Main ( HelloWorld.hs, HelloWorld.o )
Linking HelloWorld ...
matt@matt-Lenovo-G575:~/Haskell$ ./HelloWorld
Matt
What's your name? Pleased to meet you, Matt
matt@matt-Lenovo-G575:~/Haskell$
-- in other words, the getLine action is being run before the putStr
action, for some strange reason.
Is this a bug? Can anyone enlighten me as to what might be going on?
Regards,
Matt.
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://www.haskell.org/pipermail/beginners/attachments/20120607/90f03058/attachment-0001.htm>
------------------------------
Message: 2
Date: Thu, 7 Jun 2012 21:28:53 +1000
From: Arlen Cuss <[email protected]>
Subject: Re: [Haskell-beginners] Strange difference in behaviour
between ghc and ghci
To: Matthew Moppett <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"
Hello!
See this similar mailing list question from 2006:
http://www.haskell.org/pipermail/haskell/2006-September/018430.html
The short answer is that GHCi buffers differently, so you need to be more
explicit about flushing.
HTH,
Arlen
On Thursday, 7 June 2012 at 9:22 PM, Matthew Moppett wrote:
> I have a very simple Haskell file (HelloWorld.hs) that reads like this:
>
> main = do
> putStr "What's your name? "
> n <- getLine
> putStrLn $ "Pleased to meet you, " ++ n
>
>
> When I load it into ghci, I get the following result, as expected:
>
> [1 of 1] Compiling Main ( HelloWorld.hs, interpreted )
> Ok, modules loaded: Main.
> *Main> main
> What's your name? Matt
> Pleased to meet you, Matt
> *Main>
>
>
> However, when I compile the same file using ghc and run it in a terminal, I
> get a very different result:
>
> matt@matt-Lenovo-G575:~/Haskell$ ghc HelloWorld.hs
> [1 of 1] Compiling Main ( HelloWorld.hs, HelloWorld.o )
> Linking HelloWorld ...
> matt@matt-Lenovo-G575:~/Haskell$ ./HelloWorld
> Matt
> What's your name? Pleased to meet you, Matt
> matt@matt-Lenovo-G575:~/Haskell$
>
>
>
> -- in other words, the getLine action is being run before the putStr action,
> for some strange reason.
>
> Is this a bug? Can anyone enlighten me as to what might be going on?
>
> Regards,
>
> Matt.
> _______________________________________________
> Beginners mailing list
> [email protected] (mailto:[email protected])
> http://www.haskell.org/mailman/listinfo/beginners
------------------------------
Message: 3
Date: Thu, 7 Jun 2012 21:30:32 +1000
From: Arlen Cuss <[email protected]>
Subject: Re: [Haskell-beginners] flatten comma operator
To: Brandon Allbery <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="utf-8"
Hmm. I've tested over 6,432 to work, but I'm not sure this has any point any
more ? ;-)
On Thursday, 7 June 2012 at 7:17 AM, Brandon Allbery wrote:
> On Wed, Jun 6, 2012 at 7:06 AM, Arlen Cuss <[email protected]
> (mailto:[email protected])> wrote:
> > And as Brent pointed out also, it is. :) By the way, so is
> > (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)!
> > I suspect GHC allows any number. The
>
>
> Maybe not any number; more than 127 elements in a tuple used to cause core
> dumps....
>
> --
> brandon s allbery [email protected] (mailto:[email protected])
> wandering unix systems administrator (available) (412) 475-9364 vm/sms
------------------------------
Message: 4
Date: Thu, 7 Jun 2012 13:30:54 +0200
From: Andres L?h <[email protected]>
Subject: Re: [Haskell-beginners] Strange difference in behaviour
between ghc and ghci
To: Matthew Moppett <[email protected]>
Cc: [email protected]
Message-ID:
<caljd_v4th7hkem52e3sjzm9vsqyfqwggvddao8su4b+r8mk...@mail.gmail.com>
Content-Type: text/plain; charset=ISO-8859-1
Hi.
> -- in other words, the getLine action is being run before the putStr action,
> for some strange reason.
>
> Is this a bug? Can anyone enlighten me as to what might be going on?
See http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/ghci-faq.html
Last item in the list.
Cheers,
Andres
--
Andres L?h, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com
------------------------------
Message: 5
Date: Thu, 7 Jun 2012 12:32:59 +0100
From: Henry Lockyer <[email protected]>
Subject: Re: [Haskell-beginners] Strange difference in behaviour
between ghc and ghci
To: Matthew Moppett <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
A very quick reply and without reading carefully considering what may be
different in GHCI (!),
but the output buffer flushes (at least on my system) with newline (if you
don;t flush it 'manually').
I suspect if you use putStrLn for 'what's your name' you may get something more
like what you want.
On 7 Jun 2012, at 12:22, Matthew Moppett wrote:
> I have a very simple Haskell file (HelloWorld.hs) that reads like this:
>
> main = do
> putStr "What's your name? "
> n <- getLine
> putStrLn $ "Pleased to meet you, " ++ n
>
> When I load it into ghci, I get the following result, as expected:
>
> [1 of 1] Compiling Main ( HelloWorld.hs, interpreted )
> Ok, modules loaded: Main.
> *Main> main
> What's your name? Matt
> Pleased to meet you, Matt
> *Main>
>
> However, when I compile the same file using ghc and run it in a terminal, I
> get a very different result:
>
> matt@matt-Lenovo-G575:~/Haskell$ ghc HelloWorld.hs
> [1 of 1] Compiling Main ( HelloWorld.hs, HelloWorld.o )
> Linking HelloWorld ...
> matt@matt-Lenovo-G575:~/Haskell$ ./HelloWorld
> Matt
> What's your name? Pleased to meet you, Matt
> matt@matt-Lenovo-G575:~/Haskell$
>
>
> -- in other words, the getLine action is being run before the putStr action,
> for some strange reason.
>
> Is this a bug? Can anyone enlighten me as to what might be going on?
>
> Regards,
>
> Matt.
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners
------------------------------
Message: 6
Date: Thu, 7 Jun 2012 12:40:16 +0100
From: Henry Lockyer <[email protected]>
Subject: Re: [Haskell-beginners] Strange difference in behaviour
between ghc and ghci
To: Henry Lockyer <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii
in other words, in your version "What's your name?" *has* been put in the IO
output buffer but this has not been flushed
to the terminal yet. You then input your name (without having seen the prompt
you were expecting (yet)) and then
the newline of your subsequent putStrLn flushes both bits of output at the same
time.
On 7 Jun 2012, at 12:32, Henry Lockyer wrote:
> A very quick reply and without reading carefully considering what may be
> different in GHCI (!),
> but the output buffer flushes (at least on my system) with newline (if you
> don;t flush it 'manually').
> I suspect if you use putStrLn for 'what's your name' you may get something
> more like what you want.
>
>
> On 7 Jun 2012, at 12:22, Matthew Moppett wrote:
>
>> I have a very simple Haskell file (HelloWorld.hs) that reads like this:
>>
>> main = do
>> putStr "What's your name? "
>> n <- getLine
>> putStrLn $ "Pleased to meet you, " ++ n
>>
>> When I load it into ghci, I get the following result, as expected:
>>
>> [1 of 1] Compiling Main ( HelloWorld.hs, interpreted )
>> Ok, modules loaded: Main.
>> *Main> main
>> What's your name? Matt
>> Pleased to meet you, Matt
>> *Main>
>>
>> However, when I compile the same file using ghc and run it in a terminal, I
>> get a very different result:
>>
>> matt@matt-Lenovo-G575:~/Haskell$ ghc HelloWorld.hs
>> [1 of 1] Compiling Main ( HelloWorld.hs, HelloWorld.o )
>> Linking HelloWorld ...
>> matt@matt-Lenovo-G575:~/Haskell$ ./HelloWorld
>> Matt
>> What's your name? Pleased to meet you, Matt
>> matt@matt-Lenovo-G575:~/Haskell$
>>
>>
>> -- in other words, the getLine action is being run before the putStr action,
>> for some strange reason.
>>
>> Is this a bug? Can anyone enlighten me as to what might be going on?
>>
>> Regards,
>>
>> Matt.
>> _______________________________________________
>> Beginners mailing list
>> [email protected]
>> http://www.haskell.org/mailman/listinfo/beginners
>
>
> _______________________________________________
> Beginners mailing list
> [email protected]
> http://www.haskell.org/mailman/listinfo/beginners
------------------------------
Message: 7
Date: Thu, 7 Jun 2012 21:52:43 +1000
From: Matthew Moppett <[email protected]>
Subject: Re: [Haskell-beginners] Strange difference in behaviour
between ghc and ghci
To: [email protected]
Message-ID:
<CAMLEjZARLrkP7ghZDgXvrTdcuzTezF=eu97plwskgp82q82...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"
OK -- thanks everybody for your enlightening responses.
Regards,
Matt.
On Thu, Jun 7, 2012 at 9:40 PM, Henry Lockyer <[email protected]>wrote:
> in other words, in your version "What's your name?" *has* been put in the
> IO output buffer but this has not been flushed
> to the terminal yet. You then input your name (without having seen the
> prompt you were expecting (yet)) and then
> the newline of your subsequent putStrLn flushes both bits of output at the
> same time.
>
> On 7 Jun 2012, at 12:32, Henry Lockyer wrote:
>
> > A very quick reply and without reading carefully considering what may be
> different in GHCI (!),
> > but the output buffer flushes (at least on my system) with newline (if
> you don;t flush it 'manually').
> > I suspect if you use putStrLn for 'what's your name' you may get
> something more like what you want.
> >
> >
> > On 7 Jun 2012, at 12:22, Matthew Moppett wrote:
> >
> >> I have a very simple Haskell file (HelloWorld.hs) that reads like this:
> >>
> >> main = do
> >> putStr "What's your name? "
> >> n <- getLine
> >> putStrLn $ "Pleased to meet you, " ++ n
> >>
> >> When I load it into ghci, I get the following result, as expected:
> >>
> >> [1 of 1] Compiling Main ( HelloWorld.hs, interpreted )
> >> Ok, modules loaded: Main.
> >> *Main> main
> >> What's your name? Matt
> >> Pleased to meet you, Matt
> >> *Main>
> >>
> >> However, when I compile the same file using ghc and run it in a
> terminal, I get a very different result:
> >>
> >> matt@matt-Lenovo-G575:~/Haskell$ ghc HelloWorld.hs
> >> [1 of 1] Compiling Main ( HelloWorld.hs, HelloWorld.o )
> >> Linking HelloWorld ...
> >> matt@matt-Lenovo-G575:~/Haskell$ ./HelloWorld
> >> Matt
> >> What's your name? Pleased to meet you, Matt
> >> matt@matt-Lenovo-G575:~/Haskell$
> >>
> >>
> >> -- in other words, the getLine action is being run before the putStr
> action, for some strange reason.
> >>
> >> Is this a bug? Can anyone enlighten me as to what might be going on?
> >>
> >> Regards,
> >>
> >> Matt.
> >> _______________________________________________
> >> Beginners mailing list
> >> [email protected]
> >> http://www.haskell.org/mailman/listinfo/beginners
> >
> >
> > _______________________________________________
> > Beginners mailing list
> > [email protected]
> > http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://www.haskell.org/pipermail/beginners/attachments/20120607/a9fcd490/attachment.htm>
------------------------------
_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners
End of Beginners Digest, Vol 48, Issue 14
*****************************************