On Fri, Sep 14, 2012 at 6:00 AM, <haskell-cafe-requ
...@haskell.org> wrote:
> Send Haskell-Cafe mailing list submissions to
> haskell-c
...@haskell.org
> To subscribe or unsubscribe via the World Wide Web, visit
> http://www.haskell.org/mailman/listinfo/haskell-cafe
> or, via email, send a message with subject or body 'help' to
> haskell-cafe-requ...@haskell.org
> You can reach the person managing the list at
> haskell-cafe-ow...@haskell.org
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Haskell-Cafe digest..."
> Today's Topics:
> 1. Fwd: How Type inference work in presence of Functional
> Dependencies (Dan Doel)
> 2. Re: [ANN] Cumino 0.2 - Now supports pretty indentation
> through stylish-haskell (Brandon Allbery)
> 3. Re: [ANN] Cumino 0.2 - Now supports pretty indentation
> through stylish-haskell (Alfredo Di Napoli)
> 4. ANNOUNCE: Groundhog 0.1.0.1 - high-level database library
> (Boris Lykah)
> 5. Re: ANNOUNCE: Groundhog 0.1.0.1 - high-level database library
> (Tom Murphy)
> 6. Re: Either Monad and Laziness (wren ng thornton)
> 7. How do I generate random numbers using random-fu, with
> platform-agnostic code? (Andrew Pennebaker)
> 8. Is Hackage down? (C K Kashyap)
> 9. Re: Is Hackage down? (damodar kulkarni)
> 10. What is the good way to work with list comprehension and
> UTCTime? (Magicloud Magiclouds)
> 11. Re: What is the good way to work with list comprehension and
> UTCTime? (Karl Voelker)
> 12. Re: [ANN] Cumino 0.2 - Now supports pretty indentation
> through stylish-haskell (Alfredo Di Napoli)
> 13. Re: Is Hackage down? (John Wiegley)
> 14. Re: [ANN] Cumino 0.2 - Now supports pretty indentation
> through stylish-haskell (Alfredo Di Napoli)
> 15. Re: What is the good way to work with list comprehension and
> UTCTime? (Roman Cheplyaka)
> 16. Re: What is the good way to work with list comprehension and
> UTCTime? (Magicloud Magiclouds)
> ----------------------------------------------------------------------
> Message: 1
> Date: Thu, 13 Sep 2012 10:44:17 -0400
> From: Dan Doel <dan.d...@gmail.com>
> Subject: [Haskell-cafe] Fwd: How Type inference work in presence of
> Functional Dependencies
> To: Haskell Caf? List <haskell-c...@haskell.org>
> Message-ID:
> <
> CAHEA9tPsGTUX4Ke9eGCpA+-f_b_Ky9--y6RZkHPAmN9LW8M...@mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> Copying the mailing list, because I forgot.
> On Thu, Sep 13, 2012 at 5:18 AM, satvik chauhan <mystic.sat...@gmail.com>
> wrote:
> > Consider the code below :
> > {-# LANGUAGE
> MultiParamTypeClasses,FlexibleInstances,FunctionalDependencies,UndecidableI nstances,FlexibleContexts
> > #-}
> > class Foo a c | a -> c
> > instance Foo Int Float
> > f :: (Foo Int a) => Int -> a
> > f = undefined
> > Now when I see the inferred type of f in ghci
> >> :t f
> >> f :: Int -> Float
> > Now If I add the following code
> > g :: Int -> Float
> > g = undefined
> > h :: (Foo Int a) => Int -> a
> > h = g
> > I get the error
> > Could not deduce (a ~ Float)
> > I am not able to understand what has happened here ? The restriction "Foo
> > Int a" should have restricted the type of h to "Int -> Float" as shown in
> > the inferred type of f.
> The answer, I believe, is that the difference between the fundep
> implementation and type families is local constraint information.
> Fundeps do no local propagation.
> So in your first definition, you've locally provided 'Int -> a', which
> is acceptable to GHC. Then it figures out externally to the function
> that '(Foo Int a) => Int -> a' is actually Int -> Float.
> In the second definition, you're trying to give 'Int -> Float', but
> GHC only knows locally that you need to provide 'Int -> a' with a
> constraint 'Foo Int a' which it _won't_ use to determine that a ~
> Float.
> This is not inherent to fundeps. One could make a version of fundeps
> that has the local constraint rules (easily so by translating to the
> new type families stuff). But, the difference is also the reason that
> overlapping instances are supported for fundeps and not type families.
> But I won't get into that right now.
> -- Dan
> ------------------------------
> Message: 2
> Date: Thu, 13 Sep 2012 11:20:51 -0400
> From: Brandon Allbery <allber...@gmail.com>
> Subject: Re: [Haskell-cafe] [ANN] Cumino 0.2 - Now supports pretty
> indentation through stylish-haskell
> To: Alfredo Di Napoli <alfredo.dinap...@gmail.com>
> Cc: Ray <i...@maskray.tk>, haskell-cafe <haskell-c...@haskell.org>
> Message-ID:
> <CAKFCL4WAtx6R0NVtP7nxnj1ZFp=
> KHDx1dGeO-s9EsG4H9nM...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> On Thu, Sep 13, 2012 at 2:22 AM, Alfredo Di Napoli <
> alfredo.dinap...@gmail.com> wrote:
> > urxvtc -e sh -c 'echo a'
> >> xterm -e echo a
> > I would like to, and in fact I've already tried, but urxvt is trickier
> > than other shells. Using the command you gave me does not create a new
> > window, tested both on XMonad and Gnome. This is
> > the error you can see using the option "-hold", this way:
> > urxvt --hold -e "echo a"
> > This opens a new window with the error: *urxvt: Unable to exec child.
> > *
> I think you misunderstood; as I read it (and as I would expect it to work
> given the above descrtiption) that would be
> urxvt --hold -e sh -c 'echo a'
> --
> brandon s allbery allber...@gmail.com
> wandering unix systems administrator (available) (412) 475-9364 vm/sms
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://www.haskell.org/pipermail/haskell-cafe/attachments/20120913/76...
> ------------------------------
> Message: 3
> Date: Thu, 13 Sep 2012 18:16:06 +0200
> From: Alfredo Di Napoli <alfredo.dinap...@gmail.com>
> Subject: Re: [Haskell-cafe] [ANN] Cumino 0.2 - Now supports pretty
> indentation through stylish-haskell
> To: haskell-cafe <haskell-c...@haskell.org>
> Message-ID: <20120913161604.GA31...@gmail.com>
> Content-Type: text/plain; charset=utf-8
> If I remember correctly, I've also tried that combinations, without
> success.
> Anyway, I'm not at work so I can't test Cumino against gnome and Xmonad
> until tomorrow morning: I'll keep you posted!
> Bye,
> Alfredo
> > I think you misunderstood; as I read it (and as I would expect it to work
> > given the above descrtiption) that would be
> > urxvt --hold -e sh -c 'echo a'
> > --
> > brandon s allbery
> allber...@gmail.com
> > wandering unix systems administrator (available) (412) 475-9364vm/sms
> ------------------------------
> Message: 4
> Date: Thu, 13 Sep 2012 21:23:09 +0300
> From: Boris Lykah <lyk...@gmail.com>
> Subject: [Haskell-cafe] ANNOUNCE: Groundhog 0.1.0.1 - high-level
> database library
> To: haskell-c...@haskell.org
> Message-ID:
> <CADgh=
> y_wwN0-AwWjoMBvERY0XpgByCoMeuxZ1SegVKXinRV...@mail.gmail.com>
> Content-Type: text/plain; charset=ISO-8859-1
> I am happy to announce a new version of Groundhog, a library for fast
> high-level database access:
> http://hackage.haskell.org/package/groundhog
> http://hackage.haskell.org/package/groundhog-th
> http://hackage.haskell.org/package/groundhog-postgresql
> http://hackage.haskell.org/package/groundhog-sqlite
> Groundhog has been completely overhauled since the last release.
> Notably, it got support for PostgreSQL and natural foreign keys. I
> believe that it is a big step forward as this brings more flexibility
> to the design of the relational schemas while keeping the applications
> independent of the storage layer. Some of the solutions, particularly
> schema migration were based on Persistent code.
> Please see examples at
> http://github.com/lykahb/groundhog/tree/master/examples.
> Features:
> * Support for Sqlite and PostgreSQL.
> * Natural and composite foreign keys. Earlier it was possible to
> reference an entity only by the mandatory integer primary key. Now an
> entity can have several keys including autoincrement primary key
> (optional) and unique keys which have one or more columns.
> * Full support of embedded datatypes. You can access a field that
> contains an embedded datatype as a whole, or access some of the inner
> subfields individually. This powerful mechanism has allowed
> implementation of the composite keys, and can be used in future to
> work with PostgreSQL composite types or MongoDB embedded documents.
> Instead of serializing value to string, the Groundhog backends flatten
> tree of embedded datatypes to db columns.
> * Projections. You can choose what columns to query from a table in a
> type-safe manner.
> * Initialization and migration of database schema.
> * Sum types and polymorphic types.
> * Expression DSL for use in queries.
> * Basic list support.
> * YAML-based settings mechanism. It separates datatype definition and
> description which facilitates modularity. The settings are inferred
> from