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. Re:  tuple update (Thomas Davie)
   2. Re:  tuple update (Ovidiu Deac)
   3. Re:  tuple update (Brent Yorgey)
   4.  constant set (Ovidiu Deac)
   5. Re:  constant set (Ertugrul S?ylemez)
   6. Re:  tuple update (Ertugrul S?ylemez)
   7.  Problem with developing NCurses program (Aditya Manthramurthy)
   8. Re:  Problem with developing NCurses program
      (Aditya Manthramurthy)


----------------------------------------------------------------------

Message: 1
Date: Fri, 9 Mar 2012 19:23:50 +0000
From: Thomas Davie <[email protected]>
Subject: Re: [Haskell-beginners] tuple update
To: Brent Yorgey <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

first ofc also being known as fmap.

Bob
if (*ra4 != 0xffc78948) { return false; }

On 9 Mar 2012, at 19:09, Brent Yorgey wrote:

> On Fri, Mar 09, 2012 at 09:07:24PM +0200, Ovidiu Deac wrote:
>> Does anybody know if there are any functions like these in the Haskell
>> libray?
>> 
>> updateSnd f (x,y) -> (x, f y)
>> 
>> updateFst f (x,y) -> (f x, y)
> 
> Yes: 'first' and 'second' from Control.Arrow.
> 
> -Brent
> 
> _______________________________________________
> 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/20120309/2b4386f7/attachment-0001.htm>

------------------------------

Message: 2
Date: Fri, 9 Mar 2012 22:02:51 +0200
From: Ovidiu Deac <[email protected]>
Subject: Re: [Haskell-beginners] tuple update
To: Thomas Davie <[email protected]>
Cc: [email protected]
Message-ID:
        <cakvse7up1kaxjvtmdbq5nx+pjyqhnuj1wrrov3cuf71p65a...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

@Bert first& second are exactly what I was looking for. Thanks.

@Thomas: I'm not sure what you mean by fmap
What I wanted is to do this:
> let f = map $ first (*2)
> f [(1,1),(2,2),(3,3),(4,4)]
[(2,1),(4,2),(6,3),(8,4)]

On Fri, Mar 9, 2012 at 9:23 PM, Thomas Davie <[email protected]> wrote:

> first ofc also being known as fmap.
>
> Bob
>
> if (*ra4 != 0xffc78948) { return false; }
>
>
> On 9 Mar 2012, at 19:09, Brent Yorgey wrote:
>
> On Fri, Mar 09, 2012 at 09:07:24PM +0200, Ovidiu Deac wrote:
>
> Does anybody know if there are any functions like these in the Haskell
>
> libray?
>
>
> updateSnd f (x,y) -> (x, f y)
>
>
> updateFst f (x,y) -> (f x, y)
>
>
> Yes: 'first' and 'second' from Control.Arrow.
>
> -Brent
>
> _______________________________________________
> 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/20120309/f6c172a8/attachment-0001.htm>

------------------------------

Message: 3
Date: Fri, 9 Mar 2012 16:29:49 -0500
From: Brent Yorgey <[email protected]>
Subject: Re: [Haskell-beginners] tuple update
To: Thomas Davie <[email protected]>
Cc: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=us-ascii

Actually it's second that is fmap.

Prelude> :m +Control.Monad.Instances Control.Arrow
Prelude Control.Monad.Instances Control.Arrow> fmap (*2) (1,3)
(1,6)
Prelude Control.Monad.Instances Control.Arrow> second (*2) (1,3)
(1,6)

-Brent

On Fri, Mar 09, 2012 at 07:23:50PM +0000, Thomas Davie wrote:
> first ofc also being known as fmap.
> 
> Bob
> if (*ra4 != 0xffc78948) { return false; }
> 
> On 9 Mar 2012, at 19:09, Brent Yorgey wrote:
> 
> > On Fri, Mar 09, 2012 at 09:07:24PM +0200, Ovidiu Deac wrote:
> >> Does anybody know if there are any functions like these in the Haskell
> >> libray?
> >> 
> >> updateSnd f (x,y) -> (x, f y)
> >> 
> >> updateFst f (x,y) -> (f x, y)
> > 
> > Yes: 'first' and 'second' from Control.Arrow.
> > 
> > -Brent
> > 
> > _______________________________________________
> > Beginners mailing list
> > [email protected]
> > http://www.haskell.org/mailman/listinfo/beginners
> 



------------------------------

Message: 4
Date: Sat, 10 Mar 2012 02:24:33 +0200
From: Ovidiu Deac <[email protected]>
Subject: [Haskell-beginners] constant set
To: beginners <[email protected]>
Message-ID:
        <cakvse7uxvk0pmbzet_2lhbknrtcasxqp2w1rwuzxqp02cjh...@mail.gmail.com>
Content-Type: text/plain; charset="iso-8859-1"

If I want to define a constant set in Python I would do this:
class Colors:
  red = 1
  blue=2
...

and then I use them like this: Colors.red, Colors.blue...

Can I do something similar in Haskell?
thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120310/fd268ea6/attachment-0001.htm>

------------------------------

Message: 5
Date: Sat, 10 Mar 2012 02:04:08 +0100
From: Ertugrul S?ylemez <[email protected]>
Subject: Re: [Haskell-beginners] constant set
To: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Ovidiu Deac <[email protected]> wrote:

> If I want to define a constant set in Python I would do this:
> class Colors:
>   red = 1
>   blue=2
> ...
>
> and then I use them like this: Colors.red, Colors.blue...
>
> Can I do something similar in Haskell?

In Haskell this would usually be an abstract type:

    data Color = Red | Blue | ...

You could then use functions to convert between integers and colors.

    fromColor :: Color -> Int
    toColor   :: Int -> Maybe Color

You could also derive an Enum instance and get the conversion functions
'fromEnum' and 'toEnum' for free, although in that case the 'toEnum'
function is less safe (no Maybe):

    data Color = Red | Blue | ...
                 deriving Enum

    fromEnum :: Color -> Int
    toEnum   :: Int -> Color


Greets,
Ertugrul

-- 
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120310/2126ace7/attachment-0001.pgp>

------------------------------

Message: 6
Date: Sat, 10 Mar 2012 02:16:59 +0100
From: Ertugrul S?ylemez <[email protected]>
Subject: Re: [Haskell-beginners] tuple update
To: [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset="us-ascii"

Ovidiu Deac <[email protected]> wrote:

> Does anybody know if there are any functions like these in the Haskell
> libray?
>
> updateSnd f (x,y) -> (x, f y)
>
> updateFst f (x,y) -> (f x, y)

While the function arrow mentioned by Brent is enough for many purposes,
I just want to have mentioned Edward Kmett's amazing data-lens library,
which provides prefab lenses for tuples:

    (3, 5) ^. fstLens = 3
    (3, 5) ^. sndLens = 5

    (fstLens ^= 4) (3, 5) = (4, 5)
    (sndLens ^= 4) (3, 5) = (3, 4)

    (fstLens ^%= f) (3, 5) = (f 3, 5)

This is especially useful when your tuple is part of the implicit
argument of a state monad (data-lens-fd package):

    access fstLens :: State (a, b) a

                       -- starting state (3, 5)
    fstLens ~= 10      -- (10, 5)
    fstLens += 1       -- (11, 5)
    fstLens %= negate  -- (-11, 5)

    focus fstLens $ do
        -- Do something with only the fst value here.


Greets,
Ertugrul

-- 
nightmare = unsafePerformIO (getWrongWife >>= sex)
http://ertes.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120310/4a6589cd/attachment-0001.pgp>

------------------------------

Message: 7
Date: Sat, 10 Mar 2012 12:50:17 +0530
From: Aditya Manthramurthy <[email protected]>
Subject: [Haskell-beginners] Problem with developing NCurses program
To: [email protected]
Message-ID:
        <cac_me96ooqeujdvrfcd7ozk6ylbwr50r5lrx6twtvbgeosm...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

HI,

I am learning haskell by writing small programs. In this instance I want to
write a program using the haskell binding of the NCurses library.

Here is the (rather simple) code:

import UI.NCurses

main = do
  putStrLn "Hello World"


When I try to run it:

$ runhaskell cursesprog.hs
cursesprog.hs: <command line>: can't load .so/.DLL for: ncursesw
(/usr/lib/libncursesw.so: file too short)

The file certainly exists but is only 32 bytes. I installed from Ubuntu's
package manager. I am working on a 64 bit machine (if that helps).

Can someone help me fix this?

Thanks,
Aditya.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120310/1dc0805f/attachment-0001.htm>

------------------------------

Message: 8
Date: Sat, 10 Mar 2012 12:56:53 +0530
From: Aditya Manthramurthy <[email protected]>
Subject: Re: [Haskell-beginners] Problem with developing NCurses
        program
To: [email protected]
Message-ID:
        <CAC_mE94PW3EAbAzZEFBoY7U=0=wf1gnibhm4kogcfbe7m_q...@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

It appears that this is a problem related to ghc:

https://bugzilla.redhat.com/show_bug.cgi?id=578509

I am using ghc 7.0.3 which comes with the latest Ubuntu (11.10). Would
installing the latest ghc release help?

On 10 March 2012 12:50, Aditya Manthramurthy <[email protected]> wrote:

> HI,
>
> I am learning haskell by writing small programs. In this instance I want
> to write a program using the haskell binding of the NCurses library.
>
> Here is the (rather simple) code:
>
> import UI.NCurses
>
> main = do
>   putStrLn "Hello World"
>
>
> When I try to run it:
>
> $ runhaskell cursesprog.hs
> cursesprog.hs: <command line>: can't load .so/.DLL for: ncursesw
> (/usr/lib/libncursesw.so: file too short)
>
> The file certainly exists but is only 32 bytes. I installed from Ubuntu's
> package manager. I am working on a 64 bit machine (if that helps).
>
> Can someone help me fix this?
>
> Thanks,
> Aditya.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://www.haskell.org/pipermail/beginners/attachments/20120310/ab0fe23b/attachment.htm>

------------------------------

_______________________________________________
Beginners mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/beginners


End of Beginners Digest, Vol 45, Issue 10
*****************************************

Reply via email to