Send Beginners mailing list submissions to beginners@haskell.org 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 beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. Re: A difficult package (Daniel Fischer) 2. Re: Re: why is something different within a function when it comes out? (Michael Mossey) 3. Re: why is something different within a function when it comes out? (prad) 4. Re: newtype record syntax (Brandon S Allbery KF8NH) 5. deducing type of multi-parameter type class (Alex) 6. Re: deducing type of multi-parameter type class (Michael Snoyman) 7. Creating databases with sqlite3 using HDBC (George Roberts) 8. Re: Creating databases with sqlite3 using HDBC (Michael Snoyman) ---------------------------------------------------------------------- Message: 1 Date: Thu, 15 Jul 2010 00:19:03 +0200 From: Daniel Fischer <daniel.is.fisc...@web.de> Subject: Re: [Haskell-beginners] A difficult package To: beginners@haskell.org, bw...@oceanofstones.net Message-ID: <201007150019.03984.daniel.is.fisc...@web.de> Content-Type: text/plain; charset="iso-8859-1" On Wednesday 14 July 2010 19:20:09, Ben Wise wrote: > Folks, > > I'm trying to work through Conrad Barski's Haskell tutorial, > http://www.lisperati.com/haskell/, and I've run into a difficult package > problem. I've googled around for two days, but nothing seems to work. > > Basically, I can not get it recognize matchRegex, mkRegex, and similar. > They are all in the Text.Regex.Posix package, hoogle and hayoo think they're not in regex-posix but in regex-compat > and version 0.94.1 is > installed according to 'cabal list regex'. The 'import Text.Regex.Posix' > line compiles just fine, so it is finding the package: it just doesn't > find the symbols in it ?! > > But (under all four combinations of command line ghc or Leksah on > Windows 7 or Ubuntu), it keeps trying to use the 'base' version, not > posix. Text.Regex.Posix imports and re-exports Text.Regex.Base, so if you're using Text.Regex.Posix, you're *also* using regex-base. > At least, that's what 'ghc -v main.hs' add --make > seems to be saying. In > Leksah, adding some of the suggested build dependencies fixed earlier > problems with importing the Text and Random things, but adding > 'regex-compat' as suggested did not help. > > Has anyone else gotten CB's tutorial to work? > > Any suggestions as to how to get Text.Regex.Posix imported? ------------------------------ Message: 2 Date: Wed, 14 Jul 2010 17:28:18 -0700 From: Michael Mossey <m...@alumni.caltech.edu> Subject: Re: [Haskell-beginners] Re: why is something different within a function when it comes out? To: prad <p...@towardsfreedom.com> Cc: beginners@haskell.org Message-ID: <4c3e5622.5060...@alumni.caltech.edu> Content-Type: text/plain; charset=ISO-8859-1; format=flowed prad wrote: > i looked at > http://hackage.haskell.org/packages/archive/regex-tdfa/1.1.3/doc/html/Text-Regex-TDFA.html > but am having difficulty figuring things out from the documentation - > and there doesn't seem to be any multiline feature. > surely there is some way to do this! > > also, python had a re.sub so you can replace things using regex > searchs. how would you go about doing that in haskell? > For a parsing job, you might consider Parsec rather than regular expressions. Parsec is present by default with the Haskell Platform. I have not found any single comprehensive documentation on the latest version of Parsec... I had to ask people for help a lot. Mike ------------------------------ Message: 3 Date: Wed, 14 Jul 2010 18:19:25 -0700 From: prad <p...@towardsfreedom.com> Subject: [Haskell-beginners] Re: why is something different within a function when it comes out? To: beginners@haskell.org Message-ID: <20100714181925.7b513...@gom> Content-Type: text/plain; charset=ISO-8859-1 On Wed, 14 Jul 2010 17:28:18 -0700 Michael Mossey <m...@alumni.caltech.edu> wrote: > For a parsing job, you might consider Parsec rather than regular > expressions. ok thx for this, because it's bound to be useful down the road. i'm just trying to grab lines from something like this the stuff between the <text> ... </text>: <text> The Mission of the League of Humane VotersĀ® (LOHV) is to create, unite, and strengthen local political action committees, which work to enact animal-friendly legislation and elect candidates for public office who will use their votes and influence for animal protection. As election time comes around, council candidates in Independence, Ohio have taken the typical tactic of refusing to even answer questions regarding their position on various matters. Their 'silence speaks volumes'. </text> i'm using what chaddai showed me: xtract p c = (c =~ p :: [[String]]) !! 0 !! 1 which works fine for single lines, but produces nothing for multiple lines - same with some of the other ways i tried it with single lines good, nothing for multiple. python requires setting the re.S flag which i always found strange since \n i thought is a char as well. -- In friendship, prad ... with you on your journey Towards Freedom http://www.towardsfreedom.com (website) Information, Inspiration, Imagination - truly a site for soaring I's ------------------------------ Message: 4 Date: Thu, 15 Jul 2010 00:59:24 -0400 From: Brandon S Allbery KF8NH <allb...@ece.cmu.edu> Subject: Re: [Haskell-beginners] newtype record syntax To: beginners@haskell.org Message-ID: <4c3e95ac.7080...@ece.cmu.edu> Content-Type: text/plain; charset=UTF-8 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 7/14/10 07:41 , Tom Doris wrote: > Yes, makes sense, I always thought of the projection functions as being > secondary. Thanks Sometimes they are; but take a look at the definitions of various state-like monads (State, Reader, Writer; ST also fits but has other things that might well confuse rather than enlighten). State is probably the easiest to understand, since it's just syntactic sugar for a tuple, -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Darwin) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkw+lawACgkQIn7hlCsL25X1dACbBB/E6tanorQ0Vht9pS4k3GiQ SLkAn2gTdkhN55Cl4MSCKHoCVVRcBMWX =wpVd -----END PGP SIGNATURE----- ------------------------------ Message: 5 Date: Thu, 15 Jul 2010 06:59:15 +0100 From: Alex <a.p.katov...@googlemail.com> Subject: [Haskell-beginners] deducing type of multi-parameter type class To: beginners@haskell.org Message-ID: <4c3ea3b3.1050...@googlemail.com> Content-Type: text/plain; charset="iso-8859-1" Hi, I'm trying to get the following code to compile: ======= Main.hs ========== import IO data MyInt = MyInt Int data MyString = MyString String deriving Show class Show b => MyClass a b where fn :: a -> b instance MyClass MyInt MyString where fn (MyInt i) = MyString (show i) myprint :: (MyClass a b) => a -> IO () myprint a = putStrLn $ show (fn a) main = myprint 3 ======= Main.hs ========== with |ghc Main.hs -XMultiParamTypeClasses|. However, the compiler cannot deduce the type of the |b| type variable (which in this case is |MyString|). How can I explicitly tell this information to the compiler? Many thanks, Alex. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/beginners/attachments/20100715/cb046987/attachment-0001.html ------------------------------ Message: 6 Date: Thu, 15 Jul 2010 09:13:34 +0300 From: Michael Snoyman <mich...@snoyman.com> Subject: Re: [Haskell-beginners] deducing type of multi-parameter type class To: Alex <a.p.katov...@googlemail.com> Cc: beginners@haskell.org Message-ID: <aanlktikzg4rk3efvood7z_xttois-f729ikf5awbx...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" I think what you're looking for is functional dependencies. Basically, the way you have the typeclass set up right now, "fn $ MyInt 5" could in theory turn into anything; if you wanted, you could declare an "instance MyClass MyInt Double" or anything else. You would like the compiler to be able to automatically determine the output type. Using functional dependencies: class Show b => MyClass a b | a -> b where You could also use type families for this, but I believe you cannot express the "Show" superclass: class MyClass a where type MyResult a fn :: a -> MyResult a instance MyClass MyInt where type MyResult MyInt = MyString fn (MyInt i) = MyString (show i) Michael On Thu, Jul 15, 2010 at 8:59 AM, Alex <a.p.katov...@googlemail.com> wrote: > Hi, > > I'm trying to get the following code to compile: > > ======= Main.hs ========== > > import IO > > data MyInt = MyInt Int > data MyString = MyString String deriving Show > > class Show b => MyClass a b where > fn :: a -> b > > instance MyClass MyInt MyString where > fn (MyInt i) = MyString (show i) > > myprint :: (MyClass a b) => a -> IO () > myprint a = putStrLn $ show (fn a) > > main = myprint 3 > > ======= Main.hs ========== > > with ghc Main.hs -XMultiParamTypeClasses. However, the compiler cannot > deduce the type of the b type variable (which in this case is MyString). > How can I explicitly tell this information to the compiler? > > Many thanks, > Alex. > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/beginners/attachments/20100715/a85c902b/attachment-0001.html ------------------------------ Message: 7 Date: Thu, 15 Jul 2010 00:51:16 -0600 From: George Roberts <groberts80...@gmail.com> Subject: [Haskell-beginners] Creating databases with sqlite3 using HDBC To: beginners@haskell.org Message-ID: <aanlktilalp2yqtwuwintuw5t1bnxmumsmragzgqeb...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" I'm trying to have a program attempt opening an sqlite3 database, and if it isn't created then I need some way of creating it. However, after looking through the HDBC api and the sqlite3 specific portion, I cannot figure out how to create a new sqlite3 database. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/beginners/attachments/20100715/e3b25c4c/attachment-0001.html ------------------------------ Message: 8 Date: Thu, 15 Jul 2010 10:03:26 +0300 From: Michael Snoyman <mich...@snoyman.com> Subject: Re: [Haskell-beginners] Creating databases with sqlite3 using HDBC To: George Roberts <groberts80...@gmail.com> Cc: beginners@haskell.org Message-ID: <aanlktil4hiljc775kw1jijao8kdfvjyqdb8mjio-e...@mail.gmail.com> Content-Type: text/plain; charset="utf-8" It's created automatically for you, you don't have to worry about it at all. This is a feature inherited directly from the C library. Michael On Thu, Jul 15, 2010 at 9:51 AM, George Roberts <groberts80...@gmail.com>wrote: > I'm trying to have a program attempt opening an sqlite3 database, and if it > isn't created then I need some way of creating it. However, after looking > through the HDBC api and the sqlite3 specific portion, I cannot figure out > how to create a new sqlite3 database. > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://www.haskell.org/pipermail/beginners/attachments/20100715/29288c59/attachment.html ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 25, Issue 34 *****************************************