Re: [Haskell-cafe] [ANN] Cumino 0.2 - Now supports pretty indentation through stylish-haskell

2012-09-13 Thread Alfredo Di Napoli
Sorry the typo, the variable is $TMUX and controls the nesting ot tmux
session. It turns out that if affect not only urxvt but also xterm and
gnome-terminal.
Perhaps it could be useful to unset it programmatically, I'll keep you
posted if I find a workaround.

A.

On 14 September 2012 06:14, Alfredo Di Napoli wrote:

> Ok, I've added the support for urxvt.
> Bear in mind that it partially support urxvt, though: it works fine if you
> run GVim or Vim outside an already running tmux session, otherwise it won't
> start.
> The problem is due to the fact urxvt believes that the new session is
> launched within the running tmux session, whining about nested tmux session
> and not starting at all.
> You can unset the $TERM variable as workaround, but I don't like that
> apporach.
> If you come up with an alternative solution please let me know :)
> A.
>
>
> On 13 September 2012 16:16, Alfredo Di Napoli 
> wrote:
>
>> 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
>>
>
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Is Hackage down?

2012-09-13 Thread John Wiegley
> C K Kashyap  writes:

> Is it just me or is Hackage indeed been going down more frequently of late?

It's not just you.


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [ANN] Cumino 0.2 - Now supports pretty indentation through stylish-haskell

2012-09-13 Thread Alfredo Di Napoli
Ok, I've added the support for urxvt.
Bear in mind that it partially support urxvt, though: it works fine if you
run GVim or Vim outside an already running tmux session, otherwise it won't
start.
The problem is due to the fact urxvt believes that the new session is
launched within the running tmux session, whining about nested tmux session
and not starting at all.
You can unset the $TERM variable as workaround, but I don't like that
apporach.
If you come up with an alternative solution please let me know :)
A.

On 13 September 2012 16:16, Alfredo Di Napoli wrote:

> 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
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] What is the good way to work with list comprehension and UTCTime?

2012-09-13 Thread Karl Voelker
On Thu, Sep 13, 2012 at 10:29 PM, Magicloud Magiclouds <
magicloud.magiclo...@gmail.com> wrote:

> Hi,
>   Simple usage, I could make an instance of Enum to UTCTime, so
> [utcTime..] could work. But that is so stiff. How if sometimes I want
> to step by 1 min, sometimes I want to step by 1 sec?
>   So I think some way like [ t | addUTCTime last 60 ] could be nice.
> But I cannot figure it out
>   Any idea?
>

Try using Prelude.iterate.

-Karl
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] What is the good way to work with list comprehension and UTCTime?

2012-09-13 Thread Magicloud Magiclouds
Hi,
  Simple usage, I could make an instance of Enum to UTCTime, so
[utcTime..] could work. But that is so stiff. How if sometimes I want
to step by 1 min, sometimes I want to step by 1 sec?
  So I think some way like [ t | addUTCTime last 60 ] could be nice.
But I cannot figure it out
  Any idea?
-- 
竹密岂妨流水过
山高哪阻野云飞

And for G+, please use magiclouds#gmail.com.

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Is Hackage down?

2012-09-13 Thread damodar kulkarni
It shows hackage down:
http://www.downforeveryoneorjustme.com/http://hackage.haskell.org/

- damodar

On Fri, Sep 14, 2012 at 10:33 AM, C K Kashyap  wrote:

> Is it just me or is Hackage indeed been going down more frequently of late?
>
> Regards,
> Kashyap
>
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Is Hackage down?

2012-09-13 Thread C K Kashyap
Is it just me or is Hackage indeed been going down more frequently of late?

Regards,
Kashyap
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] How do I generate random numbers using random-fu, with platform-agnostic code?

2012-09-13 Thread Andrew Pennebaker
I can't figure out how to use Data.Random.Source.IO to generate random
numbers in a multiplatform way.

I can generate random numbers in Unix using Data.Random.Source.DevRandom,
and there is an example in the GitHub documentation for Windows using
Data.Random.Source.MWC, but there is no example code for using
Data.Random.Source.IO.

Cheers,

Andrew Pennebaker
www.yellosoft.us
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Either Monad and Laziness

2012-09-13 Thread wren ng thornton

On 9/12/12 5:37 PM, Francesco Mazzoli wrote:

At Wed, 12 Sep 2012 12:04:31 -0300,
Eric Velten de Melo wrote:

It would be really awesome, though, if it were possible to use a
parser written in Parsec with this, in the spirit of avoiding code
rewriting and enhancing expressivity and abstraction.


There is  and
, which turn
attoparsec parsers into enumerators/conduits, and
, which is a compatibility
layer between attoaparsec and parsec.  Good luck :).


Not to mention attoparsec-iteratee, for the iteratee minded folks:

http://hackage.haskell.org/package/attoparsec-iteratee


--
Live well,
~wren

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: Groundhog 0.1.0.1 - high-level database library

2012-09-13 Thread Tom Murphy
How does this compare with other high-level Haskell db libraries?

Tom
On Sep 13, 2012 2:25 PM, "Boris Lykah"  wrote:

> 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 the analysis of the difinition, and overridden with values set by
> user.
>
> The Criterion benchmarks are available at
> http://lykahb.github.com/groundhog/SqliteBench.html and
> http://lykahb.github.com/groundhog/PostgreSQLBench.html.
>
> Future plans:
> * Support for joins
> * Database indexes
> * Investigate options for implementing MongoDB and MySQL backends
>
> Your feedback, suggestions for improvement and criticism are welcome.
>
> --
> Regards,
> Boris
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANNOUNCE: Groundhog 0.1.0.1 - high-level database library

2012-09-13 Thread Boris Lykah
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 the analysis of the difinition, and overridden with values set by
user.

The Criterion benchmarks are available at
http://lykahb.github.com/groundhog/SqliteBench.html and
http://lykahb.github.com/groundhog/PostgreSQLBench.html.

Future plans:
* Support for joins
* Database indexes
* Investigate options for implementing MongoDB and MySQL backends

Your feedback, suggestions for improvement and criticism are welcome.

-- 
Regards,
Boris

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [ANN] Cumino 0.2 - Now supports pretty indentation through stylish-haskell

2012-09-13 Thread Alfredo Di Napoli
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-9364 vm/sms

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [ANN] Cumino 0.2 - Now supports pretty indentation through stylish-haskell

2012-09-13 Thread Brandon Allbery
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
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Fwd: How Type inference work in presence of Functional Dependencies

2012-09-13 Thread Dan Doel
Copying the mailing list, because I forgot.

On Thu, Sep 13, 2012 at 5:18 AM, satvik chauhan  wrote:
> Consider the code below :
>
> {-# LANGUAGE
> MultiParamTypeClasses,FlexibleInstances,FunctionalDependencies,UndecidableInstances,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

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] How Type inference work in presence of Functional Dependencies

2012-09-13 Thread Erik Hesselink
I don't know if this is a bug or not, but the translation to type
families works:

class Foo a where
  type FooT a :: *

instance Foo Int where
  type FooT Int = Float

f :: Int -> FooT Int
f = undefined

g :: Int -> Float
g = undefined

h :: Int -> FooT Int
h = g

You don't even need the class contexts.

Erik

On Thu, Sep 13, 2012 at 11:18 AM, satvik chauhan
 wrote:
> Consider the code below :
>
> {-# LANGUAGE
> MultiParamTypeClasses,FlexibleInstances,FunctionalDependencies,UndecidableInstances,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.
>
>
> - Satvik
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] How Type inference work in presence of Functional Dependencies

2012-09-13 Thread satvik chauhan
Consider the code below :

{-# LANGUAGE
MultiParamTypeClasses,FlexibleInstances,FunctionalDependencies,UndecidableInstances,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.


- Satvik
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe