Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Erik de Castro Lopo
Ivan Miljenovic wrote:

 Would other Australians be interested in having our own Hackathon (why
 should all those northerners have all the fun)?

Agreed!

  I'm thinking about
 organising it to be in the July break between university semesters.

I'm a working programmer who has no idea when the university semesters
start and end. Please don't leave me out :-).

 * LLVM if David Terei comes

I'm definitely interested in that one. I spent some time last night
starting to package LLVM and its dependencies for Debian.

 So, at least as an initial listing, we'd need to have a listing of:
 1) Who's interested
 2) What dates are good

As the father of a school age child, I have some rather high demands
on my 4 weeks of annual leave. For me, it would be advantageous if
this could be arranged to overlap a weekend or better yet a long
weekend.

 3) What projects people want to work on

Ben's DDC compiler is another interesting project people could work on.

Cheers,
Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] how to listen on a specific IP using the network library

2010-03-16 Thread Alexander Solla


On Mar 15, 2010, at 12:09 PM, Jeremy Shaw wrote:

In happstack we use a really horrible trick involving template  
haskell where we see if the  SockAddrInet6 constructor exists at  
compile time and conditionally compile different versions of the  
code that way. But it is really ugly.


Maybe a simpler code generator would be a better fit, since this task  
isn't really parametrized over types?  I'm not familiar with cabal  
really -- can you drop down to bash?  Can you run an arbitrary  
program?  Or at least one in the cwd?  Or at the very least, one you  
just built?  If so, a simple bash script (or Haskell program) can emit  
valid Haskell to compile.  It can (potentially) be as simple as  
concatenating your IPv6 instances/data to the end of the default  
IPv4 code.

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


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Ivan Lazar Miljenovic
Erik de Castro Lopo mle...@mega-nerd.com writes:
 I'm a working programmer who has no idea when the university semesters
 start and end. Please don't leave me out :-).

[snip]

 As the father of a school age child, I have some rather high demands
 on my 4 weeks of annual leave. For me, it would be advantageous if
 this could be arranged to overlap a weekend or better yet a long
 weekend.

At ANU, the holidays are from the 27th June to the 18th July; I have no
idea about UNSW, etc.  The plan was to have it on a weekend, though
there seems to be a dearth of public holidays during that time period.

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Code that doesn't compile - but should :)

2010-03-16 Thread Giuseppe Maggiore
Hi! Can anyone tell me why this code does not work? I cannot seem to
figure why it is broken...



{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances,
  UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables,
  TypeOperators, TypeSynonymInstances #-}

data Data k = Pair Integer (() - k)
data RecData = RecData (Data RecData)
mk_data x = RecData(Pair x (\() - mk_data (x+1)))

class Converter a f where convert :: a - f a

instance Converter RecData Data where
  convert (RecData r) = r

class Selector s a where select :: s - a

f :: (Selector s (a-f a), Converter a f) = s - (a-a)
f s =
  let method = select s
  in (\x -
let res = method x
in convert res)

--
Giuseppe Maggiore
Ph.D. Student (Languages and Games)
Microsoft Student Partner
Mobile: +393319040031
Office: +390412348444
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Code that doesn't compile - but should :)

2010-03-16 Thread Ivan Lazar Miljenovic
Giuseppe Maggiore giuseppe...@gmail.com writes:

 Hi! Can anyone tell me why this code does not work? I cannot seem to
 figure why it is broken...

The error message (and how you got it) would help...

 {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances,
   UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables,
   TypeOperators, TypeSynonymInstances #-}

You sure you have enough language extensions there? ;-)

-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Code that doesn't compile - but should :)

2010-03-16 Thread Giuseppe Maggiore
The error message (obtained by loading the file with ghci) is:

GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main (
C:\Users\pulcy\Desktop\Papers\Monads\Objec
tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted )

C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
Problems.hs:18:15:
Could not deduce (Selector s (f a - a))
  from the context (Selector s (a1 - f1 a1), Converter a1 f1)
  arising from a use of `select'
   at
C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec
t\Experiments\FunctorsProblems.hs:18:15-22
Possible fix:
  add (Selector s (f a - a)) to the context of
the type signature for `f'
  or add an instance declaration for (Selector s (f a - a))
In the expression: select s
In the definition of `method': method = select s
In the expression:
let method = select s in (\ x - let res = ... in convert res)

C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
Problems.hs:21:11:
Couldn't match expected type `a1' against inferred type `f a'
  `a1' is a rigid type variable bound by
   the type signature for `f'
 at
C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe
riments\FunctorsProblems.hs:16:18
In the expression: convert res
In the expression: let res = method x in convert res
In the expression: (\ x - let res = method x in convert res)
Failed, modules loaded: none.
Prelude

On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic 
ivan.miljeno...@gmail.com wrote:

 Giuseppe Maggiore giuseppe...@gmail.com writes:

  Hi! Can anyone tell me why this code does not work? I cannot seem to
  figure why it is broken...

 The error message (and how you got it) would help...

  {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies,
 FlexibleInstances,
UndecidableInstances, FlexibleContexts, EmptyDataDecls,
 ScopedTypeVariables,
TypeOperators, TypeSynonymInstances #-}

 You sure you have enough language extensions there? ;-)


Barely :)



 --
 Ivan Lazar Miljenovic
 ivan.miljeno...@gmail.com
 IvanMiljenovic.wordpress.com http://ivanmiljenovic.wordpress.com/




-- 
Giuseppe Maggiore
Ph.D. Student (Languages and Games)
Microsoft Student Partner
Mobile: +393319040031
Office: +390412348444
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Code that doesn't compile - but should :)

2010-03-16 Thread Chris Eidhof
What about this?

 {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances,
  UndecidableInstances, FlexibleContexts, EmptyDataDecls, ScopedTypeVariables,
  TypeOperators, TypeSynonymInstances #-}
 
 data Data k = Pair Integer (() - k)
 data RecData = RecData (Data RecData)
 mk_data x = RecData(Pair x (\() - mk_data (x+1)))
 

The I had to change the type of the Converter typeclass

 class Converter a f where convert :: f a - a
 
 -- instance Converter RecData Data where
 --  convert (RecData r) = r
 
 class Selector s a where select :: s - a
 

And explicitly quantify the type variables:

 f :: forall f s a . (Selector s (a-f a), Converter a f) = s - (a-a)
 f s =
  let method = select s :: a - f a
  in (\x -
let res = method x
in convert res)

-chris

On 16 mrt 2010, at 10:36, Giuseppe Maggiore wrote:

 The error message (obtained by loading the file with ghci) is:
 GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
 Loading package ghc-prim ... linking ... done.
 Loading package integer ... linking ... done.
 Loading package base ... linking ... done.
 [1 of 1] Compiling Main ( 
 C:\Users\pulcy\Desktop\Papers\Monads\Objec
 tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted )
 
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
 Problems.hs:18:15:
 Could not deduce (Selector s (f a - a))
   from the context (Selector s (a1 - f1 a1), Converter a1 f1)
   arising from a use of `select'
at 
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec
 t\Experiments\FunctorsProblems.hs:18:15-22
 Possible fix:
   add (Selector s (f a - a)) to the context of
 the type signature for `f'
   or add an instance declaration for (Selector s (f a - a))
 In the expression: select s
 In the definition of `method': method = select s
 In the expression:
 let method = select s in (\ x - let res = ... in convert res)
 
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
 Problems.hs:21:11:
 Couldn't match expected type `a1' against inferred type `f a'
   `a1' is a rigid type variable bound by
the type signature for `f'
  at 
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe
 riments\FunctorsProblems.hs:16:18
 In the expression: convert res
 In the expression: let res = method x in convert res
 In the expression: (\ x - let res = method x in convert res)
 Failed, modules loaded: none.
 Prelude
 
  
 On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic 
 ivan.miljeno...@gmail.com wrote:
 Giuseppe Maggiore giuseppe...@gmail.com writes:
 
  Hi! Can anyone tell me why this code does not work? I cannot seem to
  figure why it is broken...
 
 The error message (and how you got it) would help...
 
  {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, 
  FlexibleInstances,
UndecidableInstances, FlexibleContexts, EmptyDataDecls, 
  ScopedTypeVariables,
TypeOperators, TypeSynonymInstances #-}
 
 You sure you have enough language extensions there? ;-)
  
 Barely :)
  
 
 --
 Ivan Lazar Miljenovic
 ivan.miljeno...@gmail.com
 IvanMiljenovic.wordpress.com
 
 
 
 -- 
 Giuseppe Maggiore
 Ph.D. Student (Languages and Games)
 Microsoft Student Partner
 Mobile: +393319040031
 Office: +390412348444
 
 
 ___
 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: feldspar-language-0.2, feldspar-compiler-0.2

2010-03-16 Thread Emil Axelsson

We are happy to announce the new release of Feldspar and its compiler!

  http://feldspar.sourceforge.net/

Feldspar is an embedded domain-specific language for digital signal 
processing. It is developed as a joint project with Ericsson, ELTE 
university and Chalmers university.


This is an intermediate release to make some of our ongoing work 
available. The most user-visible change from the previous version is 
that the vector types have got much simpler, leading to much simpler 
programs. There have also been some substantial changes under the hood: 
Most notably, the compiler has a completely new structure which allows 
defining various optimizations as plugins.


The examples available are still very limited. We hope to make a new 
release quite soon with a reworked tutorial and many more examples.


/ Emil

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


Re: [Haskell-cafe] Code that doesn't compile - but should :)

2010-03-16 Thread Giuseppe Maggiore
Well, first of all thanks!

Second, why the need for explicit quantification?
On Tue, Mar 16, 2010 at 2:39 AM, Chris Eidhof ch...@eidhof.nl wrote:

 What about this?

  {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies,
 FlexibleInstances,
   UndecidableInstances, FlexibleContexts, EmptyDataDecls,
 ScopedTypeVariables,
   TypeOperators, TypeSynonymInstances #-}
 
  data Data k = Pair Integer (() - k)
  data RecData = RecData (Data RecData)
  mk_data x = RecData(Pair x (\() - mk_data (x+1)))
 

 The I had to change the type of the Converter typeclass

  class Converter a f where convert :: f a - a
 
  -- instance Converter RecData Data where
  --  convert (RecData r) = r
 
  class Selector s a where select :: s - a
 

 And explicitly quantify the type variables:

  f :: forall f s a . (Selector s (a-f a), Converter a f) = s - (a-a)
  f s =
   let method = select s :: a - f a
   in (\x -
 let res = method x
 in convert res)

 -chris

 On 16 mrt 2010, at 10:36, Giuseppe Maggiore wrote:

  The error message (obtained by loading the file with ghci) is:
  GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
  Loading package ghc-prim ... linking ... done.
  Loading package integer ... linking ... done.
  Loading package base ... linking ... done.
  [1 of 1] Compiling Main (
 C:\Users\pulcy\Desktop\Papers\Monads\Objec
  tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted )
 
 
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
  Problems.hs:18:15:
  Could not deduce (Selector s (f a - a))
from the context (Selector s (a1 - f1 a1), Converter a1 f1)
arising from a use of `select'
 at
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec
  t\Experiments\FunctorsProblems.hs:18:15-22
  Possible fix:
add (Selector s (f a - a)) to the context of
  the type signature for `f'
or add an instance declaration for (Selector s (f a - a))
  In the expression: select s
  In the definition of `method': method = select s
  In the expression:
  let method = select s in (\ x - let res = ... in convert res)
 
 
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
  Problems.hs:21:11:
  Couldn't match expected type `a1' against inferred type `f a'
`a1' is a rigid type variable bound by
 the type signature for `f'
   at
 C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe
  riments\FunctorsProblems.hs:16:18
  In the expression: convert res
  In the expression: let res = method x in convert res
  In the expression: (\ x - let res = method x in convert res)
  Failed, modules loaded: none.
  Prelude
 
 
  On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic 
 ivan.miljeno...@gmail.com wrote:
  Giuseppe Maggiore giuseppe...@gmail.com writes:
 
   Hi! Can anyone tell me why this code does not work? I cannot seem to
   figure why it is broken...
 
  The error message (and how you got it) would help...
 
   {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies,
 FlexibleInstances,
 UndecidableInstances, FlexibleContexts, EmptyDataDecls,
 ScopedTypeVariables,
 TypeOperators, TypeSynonymInstances #-}
 
  You sure you have enough language extensions there? ;-)
 
  Barely :)
 
 
  --
  Ivan Lazar Miljenovic
  ivan.miljeno...@gmail.com
  IvanMiljenovic.wordpress.com http://ivanmiljenovic.wordpress.com/
 
 
 
  --
  Giuseppe Maggiore
  Ph.D. Student (Languages and Games)
  Microsoft Student Partner
  Mobile: +393319040031
  Office: +390412348444
 
 
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe




-- 
Giuseppe Maggiore
Ph.D. Student (Languages and Games)
Microsoft Student Partner
Mobile: +393319040031
Office: +390412348444
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Code that doesn't compile - but should :)

2010-03-16 Thread Chris Eidhof
On 16 mrt 2010, at 10:58, Giuseppe Maggiore wrote:

 Well, first of all thanks!
 Second, why the need for explicit quantification?

I'm not sure, but I think it has to do with ambiguity. I think it's similar to 
the problem:

 readShow :: (Read a, Show a) - String - String
 readShow = show . read

We need to explicitly quantify over the type variables so that we can give an 
explicit type signature on the following line:

 let method = select s :: a - f a

There might be an easier way to do this, but I'm not sure how exactly.

-chris


 
 On Tue, Mar 16, 2010 at 2:39 AM, Chris Eidhof ch...@eidhof.nl wrote:
 What about this?
 
  {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, 
  FlexibleInstances,
   UndecidableInstances, FlexibleContexts, EmptyDataDecls, 
  ScopedTypeVariables,
   TypeOperators, TypeSynonymInstances #-}
 
  data Data k = Pair Integer (() - k)
  data RecData = RecData (Data RecData)
  mk_data x = RecData(Pair x (\() - mk_data (x+1)))
 
 
 The I had to change the type of the Converter typeclass
 
  class Converter a f where convert :: f a - a
 
  -- instance Converter RecData Data where
  --  convert (RecData r) = r
 
  class Selector s a where select :: s - a
 
 
 And explicitly quantify the type variables:
 
  f :: forall f s a . (Selector s (a-f a), Converter a f) = s - (a-a)
  f s =
   let method = select s :: a - f a
   in (\x -
 let res = method x
 in convert res)
 
 -chris
 
 On 16 mrt 2010, at 10:36, Giuseppe Maggiore wrote:
 
  The error message (obtained by loading the file with ghci) is:
  GHCi, version 6.10.4: http://www.haskell.org/ghc/  :? for help
  Loading package ghc-prim ... linking ... done.
  Loading package integer ... linking ... done.
  Loading package base ... linking ... done.
  [1 of 1] Compiling Main ( 
  C:\Users\pulcy\Desktop\Papers\Monads\Objec
  tiveMonad\HObject\Experiments\FunctorsProblems.hs, interpreted )
 
  C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
  Problems.hs:18:15:
  Could not deduce (Selector s (f a - a))
from the context (Selector s (a1 - f1 a1), Converter a1 f1)
arising from a use of `select'
 at 
  C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObjec
  t\Experiments\FunctorsProblems.hs:18:15-22
  Possible fix:
add (Selector s (f a - a)) to the context of
  the type signature for `f'
or add an instance declaration for (Selector s (f a - a))
  In the expression: select s
  In the definition of `method': method = select s
  In the expression:
  let method = select s in (\ x - let res = ... in convert res)
 
  C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Experiments\Functors
  Problems.hs:21:11:
  Couldn't match expected type `a1' against inferred type `f a'
`a1' is a rigid type variable bound by
 the type signature for `f'
   at 
  C:\Users\pulcy\Desktop\Papers\Monads\ObjectiveMonad\HObject\Expe
  riments\FunctorsProblems.hs:16:18
  In the expression: convert res
  In the expression: let res = method x in convert res
  In the expression: (\ x - let res = method x in convert res)
  Failed, modules loaded: none.
  Prelude
 
 
  On Tue, Mar 16, 2010 at 2:31 AM, Ivan Lazar Miljenovic 
  ivan.miljeno...@gmail.com wrote:
  Giuseppe Maggiore giuseppe...@gmail.com writes:
 
   Hi! Can anyone tell me why this code does not work? I cannot seem to
   figure why it is broken...
 
  The error message (and how you got it) would help...
 
   {-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, 
   FlexibleInstances,
 UndecidableInstances, FlexibleContexts, EmptyDataDecls, 
   ScopedTypeVariables,
 TypeOperators, TypeSynonymInstances #-}
 
  You sure you have enough language extensions there? ;-)
 
  Barely :)
 
 
  --
  Ivan Lazar Miljenovic
  ivan.miljeno...@gmail.com
  IvanMiljenovic.wordpress.com
 
 
 
  --
  Giuseppe Maggiore
  Ph.D. Student (Languages and Games)
  Microsoft Student Partner
  Mobile: +393319040031
  Office: +390412348444
 
 
  ___
  Haskell-Cafe mailing list
  Haskell-Cafe@haskell.org
  http://www.haskell.org/mailman/listinfo/haskell-cafe
 
 
 
 -- 
 Giuseppe Maggiore
 Ph.D. Student (Languages and Games)
 Microsoft Student Partner
 Mobile: +393319040031
 Office: +390412348444
 
 

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


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Alex Mason

 
 * A plotting library using Ben's newly released Gloss library (for
 people who can't or won't install Gtk2Hs to get Chart working; Alex
 Mason is interested in this)
 * Various graph-related project (graphviz, generic graph class, etc.;
 this assumes someone else apart from me cares about this stuff)
 * Hubris if Mark Wotton comes along
 * LLVM if David Terei comes
 
 I'd suggest focusing on core Haskell infrastructure, like compilers and 
 tools, rather than individual libraries -- though it all depends on who wants 
 to come along.

I'm not interested too much in organising what we will get done until people 
get there. We'll spend an hour or two discussing which projects people would 
like to work on, and then probably split off into groups of like minded people.

The projects mentioned above are just ones that Ivan and I could think of, to 
give others ideas of the sorts of things they could work on. If people have new 
projects they want to start and have input from others on design and coding, 
then that's fine by me. If they want to hack GHC and make it twice as fast, 
then they're more than encouraged to do so!

Basically, we're just aiming to get a bunch of like minded people together, who 
want to hack on projects with some other people, possibly with the authors of 
the projects (for example, I might want help to work on the Accelerate library 
that Manuel, Gabriele and Sean have been working on, and being able to talk to 
them directly to find out how the code is all laid out and organised would be 
much much easier than trying to do the same thing over IRC for example.)
 
 So, at least as an initial listing, we'd need to have a listing of:
 1) Who's interested
 2) What dates are good
 3) What projects people want to work on
 4) Where we can host this
 
 You'll also want to consider how a proposed OzHaskell might align and/or 
 combine with other events such as SAPLING[1] and fp-syd[2]. There is also the 
 ICFP programming contest in a few months that many people will be interested 
 in...

The more people we can get in touch with, the better, we'd like to hear from 
all these groups, if for no better reason than to get the word out that such a 
thing might be happening... maybe, and to help gauge interest. The more people 
that know, the more pressure we can bring upon ourselves to get something 
organised.

I was planning on forwarding this onto the FP-Syd list, but maybe I could ask 
you to do that Ben? These mailing list things are before my time, and I 
wouldn't have a clue what to do -_-


 Hosting is not a problem. If people want to come to Sydney then I'm sure we 
 can organise a room at UNSW. 

We were kind of hoping that you or Manuel would say something like that ;)

Not sure what more to say, other than if you're in Australia, and like Haskell, 
we'd really _really_ love to meet you. 

Cheers,
-- Alex Mason

 Ben.
 
 
 [1] http://plrg.ics.mq.edu.au/projects/show/sapling
 [2] http://groups.google.com/group/fp-syd
 [3] http://www.icfpconference.org/contest.html
 
 ___
 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


Re: [Haskell-cafe] a poorly thought out suggestion for cabal and packages that have lots of instances

2010-03-16 Thread Stephen Tetley
Hi Jeremy

Is this really a problem practically rather than hypothetically?


Data.Text and Syb-with-class - both are general, neither uses the
other for their implementation, adding a dependency to one sounds like
a bad idea - so making a separate 'instance' package seems most
sensible.

Unless you believe otherwise, Data.Text appears more 'general' than
happstack-data, so Data.Text shouldn't provide happstack-data
instances. Then its a choice between adding a direct dependency on
Data.Text to happstack-data and defining the instance there or making
a separate instance package again.

A category on Hackage for 'instance' packages would seem to make sense
as would a naming convention for the packages, hopefully stopping any
proliferation of identical packages.

Best wishes

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


Re: [Haskell-cafe] ANNOUNCE: direct-plugins-1.0

2010-03-16 Thread Dan Knapp
Don wrote:
 Good work. I have very little time to maintain hs-plugins, as I'm not
 using it, so I'm glad you took a look at this.

Thanks!

I have now released version 1.1 (I know at least one person was
waiting on this), which adds a loadDynamic that grovels inside .hi
files to check that the value being obtained is in fact of the type
Dynamic. Additional type safety is then provided by Dynamic itself.
This actually goes one step beyond Dons's Plugins, which only ever
planned the looks-inside-.his thing, not implemented it.


-- 
Dan Knapp
An infallible method of conciliating a tiger is to allow oneself to
be devoured. (Konrad Adenauer)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] calling hledger zurihackers

2010-03-16 Thread Simon Michael
Roman C. has cleverly added hledger to the list of topics for this  
weekend's ZuriHac. I will be working remotely at least on sunday  
(PDT), and available to support where possible. You are invited to  
join us! Some ideas -


- add Chart or google charts to the web ui
- smarter add/convert commands
- separate library package
- plugins
- a how-to for tracking project finances; a tutorial; screencasts
- portability, packaging, installability
- code review/design review/planning

Even one commit helps! Discussions too. Hope to see you there.

-Simon (sm)

#ledger, #zurihac
http://hledger.org
http://www.haskell.org/haskellwiki/ZuriHac

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


[Haskell-cafe] compiling 32 bits haskell program on 64 bits linux

2010-03-16 Thread Vincent Hanquez
Hi Cafe,

I was looking for a way to generate 32 bits haskell binary on a 64 bits linux.
I've looked at the user guide and tried to use the -fvia-C with -optc -m32 but
the generated C file doesn't compile with lots of error messages like the
following:

$ ghc -o hello hello.hs -fvia-C -optc -m32
In file included from /usr/lib/ghc-6.10.4/include/Stg.h:206,
 from /tmp/ghc15772_0/ghc15772_0.hc:3:0: 

/usr/lib/ghc-6.10.4/include/Regs.h:235:0:
 error: invalid register name for ‘R4’

I can't find any others parameters that seems to do anythings about the code
generation or around the C compiler. so, does anyone knows if it's possible ? or
have some documentation/link about this kind of things ?

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


Re: [Haskell-cafe] ANNOUNCE: tupleinstances-0.0.1

2010-03-16 Thread Diego Echeverri
On Tue, Mar 16, 2010 at 11:15 AM, Henning Thielemann
thunderb...@henning-thielemann.de wrote:

 newtype T3 a = T3 (a,a,a)

 which could well be

 data T3 a = T3 a a a


I chose that specific representation just because at the end I want to use
normal tuples. I thought this way was easier for boxing an unboxing

 Are these types used for vector computations or what application do you have
 in mind?

I didn't have any specific application for the library. One day I
just wanted to do an fmap with a tuple and somebody in #haskell
suggested

join (***)

Of course this only works for binary tuples. I thought this would
be a good excuse to play with template-haskell and give instances
to some of the type classes I learnt about in the Typeclassopedia.

I found it useful for vector computations. But aggregating with
the Foldable instance is also handy.

 Then again, is tuple-instance still an appropriate name?

There are only two hard things in Computer Science: cache invalidation
 and naming things
- Phil Karlton

I'm open to suggestions :-)


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


Re: [Haskell-cafe] ANNOUNCE: tupleinstances-0.0.1

2010-03-16 Thread Henning Thielemann


On Tue, 16 Mar 2010, Diego Echeverri wrote:


There are only two hard things in Computer Science: cache invalidation
and naming things
- Phil Karlton

I'm open to suggestions :-)


It depends on the intended use. :-] Maybe something with vector?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: compiling 32 bits haskell program on 64 bits linux

2010-03-16 Thread Christian Maeder
I think you need to install the 32bit ghc first, because you'll need all
the 32bit haskell libs. At least I was able to use the 32bit ghc
(version 6.8.2) on a 64 bit linux by changing the script in the bin
directory from
  exec $GHCBIN $TOPDIROPT ${1+$@}
to
  exec $GHCBIN -optc-m32 -opta-m32 -optl-m32 $TOPDIROPT ${1+$@}

(no -fvia-C)

HTH Christian

Vincent Hanquez schrieb:
 Hi Cafe,
 
 I was looking for a way to generate 32 bits haskell binary on a 64 bits linux.
 I've looked at the user guide and tried to use the -fvia-C with -optc -m32 but
 the generated C file doesn't compile with lots of error messages like the
 following:
 
 $ ghc -o hello hello.hs -fvia-C -optc -m32
 In file included from /usr/lib/ghc-6.10.4/include/Stg.h:206,
  from /tmp/ghc15772_0/ghc15772_0.hc:3:0: 
 
 /usr/lib/ghc-6.10.4/include/Regs.h:235:0:
  error: invalid register name for ‘R4’
 
 I can't find any others parameters that seems to do anythings about the code
 generation or around the C compiler. so, does anyone knows if it's possible ? 
 or
 have some documentation/link about this kind of things ?
 
 Thanks,
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] th-kinds v0.0.0

2010-03-16 Thread Brent Yorgey
On Mon, Mar 15, 2010 at 07:31:12PM -0500, Louis Wasserman wrote:
 I'm going to phrase this as a challenge, because I think that's likely to
 get the best response:
 
 I just released a package,
 th-kindshttp://hackage.haskell.org/package/th-kinds,
 which attempts to automatically infer the kind of a specified type, type
 constructor, type family, type class, or pretty much anything else that has
 a kind.
 
 This package was developed in response to a sort-of challenge from Brent
 Yorgey on #haskell to create this functionality.  So, uh, I stayed up last
 night until 5 am learning unification algorithms and implementing
 this...heh.

Ironically, after issuing this challenge I later realized that I can
actually get away without it for now. =) But it's still pretty cool --
and I may actually end up wanting it later if I continue to extend my
library -- and I'll try testing it out soon.

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


Re: [Haskell-cafe] th-kinds v0.0.0

2010-03-16 Thread Ryan Ingram
On Mon, Mar 15, 2010 at 5:31 PM, Louis Wasserman
wasserman.lo...@gmail.com wrote:
 GADT types that cannot be reified by TH.  Essentially, I think this is the
 set of GADT data types that actually couldn't be implemented without GADTs.
  Not sure, though.  In any event, at the moment, I don't think there's any
 hope of handling GADTs in TH at this point, so I don't really object to this
 problem.

Actually, with existential types and type equality constraints, GADTs
are redundant.  Here's a couple examples:

data GEqType a b where
GRefl :: EqTypeGADT a a

data DEqType a b =
(a ~ b) = DRefl

data Expr t where
   Lam :: (Expr a - Expr b) - Expr (a - b)
   App :: Expr (a-b) - Expr a - Expr b
   Prim :: Show a = a - Expr a
   Gt :: Expr Int - Expr Int - Expr Bool

data DExpr t =
   forall a b. (t ~ (a - b)) = DLam (DExpr a - DExpr b)
   | forall a. DApp (DExpr (a - t)) (DExpr a)
   | Show t = DPrim t
   | (t ~ Bool) = Gt (DExpr Int) (DExpr Int)

The algorithm is pretty simple:
- existentially quantify over all type variables mentioned in the GADT
constructor
- add a type equality constraint to match the result type
- (optional) simplify

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


Re: [Haskell-cafe] th-kinds v0.0.0

2010-03-16 Thread Louis Wasserman

 Actually, with existential types and type equality constraints, GADTs
 are redundant.



 The algorithm is pretty simple:
 - existentially quantify over all type variables mentioned in the GADT
 constructor
 - add a type equality constraint to match the result type
 - (optional) simplify


While true, this nevertheless doesn't let me perform

 unify ''MyGADTType

when MyGADTType was defined with GADT syntax in the first place.  GADT
handling for TH is, for the moment, Somebody Else's Problem, and not
something I'm going to be able to deal with without hacking on TH itself.

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


[Haskell-cafe] HGL concurrency problems

2010-03-16 Thread Carsten Schultz
[Cc to the HGL maintainer, I hope that is ok.]

Hallo,

I am trying to use HGL.  My configuration is

Mac OS X 10.6.2 (using X11)
ghc 6.12.1
HGL 3.2.0.2 (via cabal-install)

My program opens a window, draws points and lines, with a considerable
amount of calculation between the lines, and then waits for a key stroke
before exiting.

What happens depends on whether I compile with -threaded or without.

With -threaded:
The programs runs ok, but after a short time stops updating the window,
so that I never see when it has finished.  Moving the mouse over the
window can trigger updates.

Without -threaded:
Similar as in the other, but the program nor only stops updating the
window, it also stops the calculation and sits idle.  Playing with the
mouse can again make it run for a short time.

I attach the program in case that this might help.  I did not try to
extract a minimal example, but the program is short.

Thanks for any help.  I would also like to know if it works on other
platforms/versions.

Carsten


module Main where

{- Calculates the convex hull of a set of points in an inefficient way.
   O(n^3)

  For each `o' on stdout a red line segment should be drawn
 -}

import qualified Graphics.HGL as HGL
import System.Random
import System.IO

nrOfPoints = 1  -- CONFIGURE HERE

data Point = Point {xc, yc :: Float}

randomPoints :: Int - IO [Point]

randomPoints n =
sequence $ replicate n randomPoint
where randomPoint =
  do phi - randomRIO (0, 2*pi)
 r0 - randomRIO (0,0.48 ** 2)
 let r = sqrt r0
 return $ Point (r * cos phi + 0.5) (r * sin phi + 0.5)

boundarySegments :: [Point] - [(Point, Point)]
boundarySegments ps
= filter isBoundary (pairs' ps)
  where
  pairs' l = concat [[(a,b), (b,a)] | (a,b) - pairs l]
  isBoundary s = all (`leftOf` s) ps

leftOf :: Point - (Point, Point) - Bool

q `leftOf` (p1,p2)
= (xc p2-xc p1)*(yc q-yc p1) - (yc p2-yc p1)*(xc q-xc p1) = 0


pairs :: [a] - [(a,a)]
pairs [] = []
pairs [x] = []
pairs (x:xs) = [(x,x') | x' - xs] ++ pairs xs



main :: IO ()
main =
do
HGL.runGraphics $
   do
   points - randomPoints nrOfPoints
   redPen - HGL.createPen HGL.Solid 1 (HGL.RGB 255 0 0)
   w - HGL.openWindowEx hull Nothing (ww,wh) HGL.Unbuffered Nothing
   drawInWindow w $ sequence_ $ map pt points
   drawInWindow w $ (HGL.selectPen redPen   return ())
   sequence_ $ map ((drawInWindow w) . seg)
 $ boundarySegments points
   drawInWindow w $ HGL.text (0,0) done
   putStr \ndone\n
   HGL.getKey w
   HGL.closeWindow w
where
drawInWindow w a =
do putStr o  hFlush stdout
   HGL.drawInWindow w a
ww, wh :: Int
ww = 400 * 2
wh = 300 * 2
wwf = fromIntegral ww
whf = fromIntegral wh
xf, yf :: Point - Float
xf p = xc p * wwf
yf p = yc p * whf
x, y :: Point - Int
x = round . xf
y = round . yf
pt :: Point - HGL.Graphic
pt (Point x y) = HGL.ellipse
 (round (x*wwf-2),(round(y*whf-2)))
 (round (x*wwf+2),(round(y*whf+2)))
seg :: (Point, Point) - HGL.Graphic
seg (u,v) = HGL.line (x u, y u)  (x v, y v)

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


[Haskell-cafe] Second Call for Copy: Monad.Reader Issue 16

2010-03-16 Thread Brent Yorgey
I already have one or two submissions, but a few more would be
great. If you've been thinking about submitting something but
weren't sure or haven't gotten around to it yet, now's the time!

--

Whether you're an established academic or have only just started
learning Haskell, if you have something to say, please consider
writing an article for The Monad.Reader! The submission deadline
for Issue 16 will be:

  **Friday, April 16, 2010**

The Monad.Reader


The Monad.Reader is a electronic magazine about all things Haskell.
It is less formal than journal, but somehow more enduring than a
wiki-page. There have been a wide variety of articles: exciting
code fragments, intriguing puzzles, book reviews, tutorials, and
even half-baked research ideas.

Submission Details
~~

Get in touch with me if you intend to submit something -- the
sooner you let me know what you're up to, the better.

Please submit articles for the next issue to me by e-mail (byorgey
at cis.upenn.edu).

Articles should be written according to the guidelines available
from

http://themonadreader.wordpress.com/contributing/

Please submit your article in PDF, together with any source files
you used. The sources will be released together with the magazine
under a BSD license.

If you would like to submit an article, but have trouble with LaTeX
please let me know and we'll work something out.


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


[Haskell-cafe] Re: HGL concurrency problems

2010-03-16 Thread Carsten Schultz
Am 16.03.10 19:55, schrieb Carsten Schultz:

 I would also like to know if it works on other
 platforms/versions.

To answer my own question:  I just tested
Debian / ghc 6.8.2 / HGL 3.2.0.0-3
(with X redirected to a Mac, though)

The behaviour is exactly the same.

Carsten

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


Re: [Haskell-cafe] Re: HGL concurrency problems

2010-03-16 Thread Daniel Fischer
Am Dienstag 16 März 2010 20:23:54 schrieb Carsten Schultz:
 Am 16.03.10 19:55, schrieb Carsten Schultz:
  I would also like to know if it works on other
  platforms/versions.

 To answer my own question:  I just tested
 Debian / ghc 6.8.2 / HGL 3.2.0.0-3
 (with X redirected to a Mac, though)

 The behaviour is exactly the same.

 Carsten


Also on openSuSE 11.1 / ghc-6.12.1 / HGL-3.2.0.2.
Moving the mouse triggers updates (and continued computation when compiled 
without -threaded), but it takes a lot of moving to get it to complete.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] How to define instance for type synonym with parameter.

2010-03-16 Thread Vasyl Pasternak

 Aren't ErrorT and ReaderT instances of Applicative already? (At least in
 'transformers' package?)



what difference between 'mtl' and 'transformers' packages ? 'mtl' goes
with Haskell Platform as standard package, so what is the benefit of
'transformers' library ?

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


Re: [Haskell-cafe] compiling 32 bits haskell program on 64 bits linux

2010-03-16 Thread Erik de Castro Lopo
Vincent Hanquez wrote:

 I was looking for a way to generate 32 bits haskell binary on a 64 bits linux.

Once absolutely reliable and foolproof way of doing this is to run a
32 bit chroot within your 64 bit system and then then install the 32
bit vesion of GHC in the chroot.

In Debian (and Ubuntu), the debootstrap and schroot packages are two
tools that make the creation and management of chroots trivial.

HTH,
Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Ben Lippmeier

On 16/03/2010, at 10:45 PM, Alex Mason wrote:

 I'd suggest focusing on core Haskell infrastructure, like compilers and 
 tools, rather than individual libraries -- though it all depends on who 
 wants to come along.
 
 Basically, we're just aiming to get a bunch of like minded people together, 
 who want to hack on projects with some other people, possibly with the 
 authors of the projects (for example, I might want help to work on the 
 Accelerate library that Manuel, Gabriele and Sean have been working on, and 
 being able to talk to them directly to find out how the code is all laid out 
 and organised would be much much easier than trying to do the same thing over 
 IRC for example.)

I meant that with these systems there's more of a chance that people have past 
experience with them, so you can hit the ground running, but it's only a 
suggestion.


 You'll also want to consider how a proposed OzHaskell might align and/or 
 combine with other events such as SAPLING[1] and fp-syd[2]. There is also 
 the ICFP programming contest in a few months that many people will be 
 interested in...
 
 The more people we can get in touch with, the better, we'd like to hear from 
 all these groups, if for no better reason than to get the word out that such 
 a thing might be happening... maybe, and to help gauge interest. The more 
 people that know, the more pressure we can bring upon ourselves to get 
 something organised.
 
 I was planning on forwarding this onto the FP-Syd list, but maybe I could ask 
 you to do that Ben? These mailing list things are before my time, and I 
 wouldn't have a clue what to do -_-

You seem to have worked out haskell-cafe, so it can't be that hard!

Ben.


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


Re: [Haskell-cafe] HTTP package freezes on Windows 7

2010-03-16 Thread Phil

On 16/03/2010 01:05, Phil wrote:
Scrap my original query - the problem isn't as black  white as I 
thought.


The below works fine - I've changed the response type from json to 
xml strange, but for some reason downloading json doesn't work 
it's fine on Linux.


I'm guessing this is more likely to be a Windows issue rather than a 
Haskell issue - any ideas?


A bit more testing - this is not a Windows issue per se.  It seems to be 
a limitation of the HTTP library running on Windows.


I've ran what I consider to be identical commands (in terms of 
functional use, both perform a HTTP GET on the location given) in 
Haskell and Python from each of their consoles on the same computer.  
The Python one correctly returns exactly what the Haskell one does on 
Linux.  The Haskell on Windows just hangs.


However as mentioned earlier SOME http requests do work from Haskell so 
I don't think it's a problem with my build of HTTP or Network libs.  The 
simplest example is to replace 'json' with 'xml' in the below query.  
The best guess I can make is that XML is deemed renderable, but for some 
reason JSON is considered to be binary/file data?


Can anyone confirm this behaviour I only have one 1 Windows PC, so I 
can't test on another machine.  If it is a wide problem, I reckon it 
warrants a bug ticket on the library.


Logs from console below,

Phil

*Haskell / GHCI:*
Prelude Network.HTTP do x - (simpleHTTP $ getRequest 
http://maps.google.com/maps/api/geocode/json?address=Londonsensor=false;) 
= getResponseBody; print x

Loading package bytestring-0.9.1.5 ... linking ... done.
Loading package Win32-2.2.0.1 ... linking ... done.
Loading package array-0.3.0.0 ... linking ... done.
Loading package syb-0.1.0.2 ... linking ... done.
Loading package base-3.0.3.2 ... linking ... done.
Loading package mtl-1.1.0.2 ... linking ... done.
Loading package parsec-2.1.0.1 ... linking ... done.
Loading package network-2.2.1.7 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package old-time-1.0.0.3 ... linking ... done.
Loading package HTTP-4000.0.9 ... linking ... done.

--- Just sits here chewing up processor time and memory.

*Python:*
 print 
urllib.urlopen(http://maps.google.com/maps/api/geocode/json?address=Londonsensor=false;).read()

{
  status: OK,
  results: [ {
types: [ locality, political ],
formatted_address: Westminster, London, UK,
address_components: [ {
  long_name: London,
  short_name: London,
  types: [ locality, political ]
}, {
  long_name: Westminster,
  short_name: Westminster,
  types: [ administrative_area_level_3, political ]
}, {
  long_name: Greater London,
  short_name: Gt Lon,
  types: [ administrative_area_level_2, political ]
}, {
  long_name: England,
  short_name: England,
  types: [ administrative_area_level_1, political ]
}, {
  long_name: United Kingdom,
  short_name: GB,
  types: [ country, political ]
} ],
geometry: {
  location: {
lat: 51.5001524,
lng: -0.1262362
  },
  location_type: APPROXIMATE,
  viewport: {
southwest: {
  lat: 51.4862583,
  lng: -0.1582510
},
northeast: {
  lat: 51.5140423,
  lng: -0.0942214
}
  },
  bounds: {
southwest: {
  lat: 51.4837180,
  lng: -0.1878940
},
northeast: {
  lat: 51.5164655,
  lng: -0.1099780
}
  }
}
  } ]
}










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


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Mark Wotton


On 16/03/2010, at 4:28 PM, Ivan Miljenovic wrote:


Would other Australians be interested in having our own Hackathon (why
should all those northerners have all the fun)?  I'm thinking about
organising it to be in the July break between university semesters.

There was a previous consideration a few years back to have an
OzHaskell group (http://www.haskell.org/haskellwiki/OzHaskell) but
nothing seems to have eventuated out of it.

In terms of projects, here are some ideas:

* A plotting library using Ben's newly released Gloss library (for
people who can't or won't install Gtk2Hs to get Chart working; Alex
Mason is interested in this)
* Various graph-related project (graphviz, generic graph class, etc.;
this assumes someone else apart from me cares about this stuff)
* Hubris if Mark Wotton comes along


I'm keen. Would be be elated to have some help on Hubris, but happy to  
hack on other stuff too.

Like Erik, weekends are probably better.

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


[Haskell-cafe] GLFW on OS X

2010-03-16 Thread Carsten Schultz
Hi everyone,

I am working with

MacOS X 10.6.2
ghc 6.12.1
GLFW 0.4.2
OpenGL 2.4.0.1
mkbndl (freshly installed, should be 0.2.1)

I have copied sample program from
http://www.haskell.org/haskellwiki/GLFW#Sample_Program to a file named
GLFWTest.hs.  (I had to change some Floats to GLfloats.)

No I do:

 ghc --make GLFWTest.hs
 mkbndl -f GLFWTest
 open GLFWTest.app

Is that what I am supposed to do?

The program window remains white, if I move another window in front of
it and away again, it becomes black, but if I draw lines on it (that is
the function program) they do not appear.  If I move or resize the
window, it gets drawn correctly, and I can see that the lines that I had
drawn had in fact been registered.  From this point on the program works
as expected.

Is this an OS X specific issue?  How do I solve it?

Thanks

Carsten

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


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Alex Mason

 
 Would other Australians be interested in having our own Hackathon (why
 should all those northerners have all the fun)?  I'm thinking about
 organising it to be in the July break between university semesters.
 
 There was a previous consideration a few years back to have an
 OzHaskell group (http://www.haskell.org/haskellwiki/OzHaskell) but
 nothing seems to have eventuated out of it.
 
 In terms of projects, here are some ideas:
 
 * A plotting library using Ben's newly released Gloss library (for
 people who can't or won't install Gtk2Hs to get Chart working; Alex
 Mason is interested in this)
 * Various graph-related project (graphviz, generic graph class, etc.;
 this assumes someone else apart from me cares about this stuff)
 * Hubris if Mark Wotton comes along
 
 I'm keen. Would be be elated to have some help on Hubris, but happy to hack 
 on other stuff too.
 Like Erik, weekends are probably better.

Yeah we're aiming for a weekend, possibly a Friday-Sunday meet (so that people 
who are free on Friday can get started early, and those who have work etc. can 
just be there for the weekend. If there was a nicely placed long weekend coming 
up, we'd aim for that, but there isn't :(

Also, it might be a good time to bring some interested rubyists along, and show 
them what we can get done in Haskell, and show them why they might want to use 
Hubris.

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


[Haskell-cafe] new Quake 3 BSP loader and viewer

2010-03-16 Thread Csaba Hruska
Hi!

I did a little experiment in last week with haskell. According this (
http://graphics.cs.brown.edu/games/quake/quake3.html) tutorial, I wrote a
quake 3 bsp map loader and viewer from scratch. (It is independent from
frag)
The code is quiet small (~900 lines with comments) and it is based on binary
and vector libraries.
You can find the cabalized code here:
http://code.google.com/p/lambdacube/source/browse/#svn/trunk/bsploader

This was my first meet with vector library, so the code is probably not the
most efficient one.
Any improvement suggestions are welcome! :)

Cheers
Csaba

PS: read the README file.
  navigation: arrows + mouse
  (holding right shift increase cam speed)
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Bernie Pope
On 16 March 2010 16:28, Ivan Miljenovic ivan.miljeno...@gmail.com wrote:
 Would other Australians be interested in having our own Hackathon (why
 should all those northerners have all the fun)?  I'm thinking about
 organising it to be in the July break between university semesters.

Yes, I am interested.

It would have to be overlap a weekend for me due to work commitments.

I'll advertise it in the Melbourne FPU when more details are available.

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


[Haskell-cafe] Re: Proposal: Australian Hackathon

2010-03-16 Thread Ivan Miljenovic
OK, so we have a fair number of people indicating interest... so which
weekend would be preferred?

26/27 June

3/4 July

10/11 July

17/18 July

Or should we take this to the wiki rather than the mailing list?

On 16 March 2010 16:28, Ivan Miljenovic ivan.miljeno...@gmail.com wrote:
 Would other Australians be interested in having our own Hackathon (why
 should all those northerners have all the fun)?  I'm thinking about
 organising it to be in the July break between university semesters.

 There was a previous consideration a few years back to have an
 OzHaskell group (http://www.haskell.org/haskellwiki/OzHaskell) but
 nothing seems to have eventuated out of it.

 In terms of projects, here are some ideas:

 * A plotting library using Ben's newly released Gloss library (for
 people who can't or won't install Gtk2Hs to get Chart working; Alex
 Mason is interested in this)
 * Various graph-related project (graphviz, generic graph class, etc.;
 this assumes someone else apart from me cares about this stuff)
 * Hubris if Mark Wotton comes along
 * LLVM if David Terei comes

 So, at least as an initial listing, we'd need to have a listing of:
 1) Who's interested
 2) What dates are good
 3) What projects people want to work on
 4) Where we can host this

 Let's get the ball rolling!

 --
 Ivan Lazar Miljenovic
 ivan.miljeno...@gmail.com
 IvanMiljenovic.wordpress.com




-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
IvanMiljenovic.wordpress.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Are there any web server framework ?

2010-03-16 Thread zaxis

Erlang has yaws (http://yaws.hyber.org/)
Scala has lift (http://liftweb.net/)
Python has django (http://www.djangoproject.com/)
Ruby has rails (http://rubyonrails.org/)

How about haskell ? Is there any similar framework, which should be steady,
powerful and easy to use, in haskell ?

Sincerely!

-
fac n = let {  f = foldr (*) 1 [1..n] } in f 
-- 
View this message in context: 
http://old.nabble.com/Are-there-any-web-server-framework---tp27926433p27926433.html
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

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


Re: [Haskell-cafe] Are there any web server framework ?

2010-03-16 Thread Marc Weber
There is a dedicated mailinglist about this topic, see below.
There is a little bit more traffic the last days.

If you have a look at hackage you can see that there are some
frameworks. WASH is still missing. I'm going to change that though.

Have a look at http://haskell.org/haskellwiki/Applications_and_libraries
- Web, HTML, XML

This was recently announced on the 
http://haskell.org/haskellwiki/Web_Projects

http://haskell.org/mailman/listinfo - web-devel

But there is no Joomla or Plone yet.

Also I feel that database libraries don't have the level of some ORM
libraries (such as Sequel (Rbuby) or SQLAlchemy (Python) ).

But much work has been done already: There is/was an Apache module.
There are variuous (F)CGI bindings and there is happstack: a sandalone
web server.

There is also a compiler backend creating translating Haskell into JS.
(Don't know whether you want to use this in real world applications
though).
 
Marc Weber
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Proposal: Australian Hackathon

2010-03-16 Thread Hamish Mackenzie
On 16 Mar 2010, at 18:28, Ivan Miljenovic wrote:

 So, at least as an initial listing, we'd need to have a listing of:
 1) Who's interested

I am.

 2) What dates are good

A weekend would be best for me.

 3) What projects people want to work on

Leksah.

 4) Where we can host this

I suppose Wellington is out of the question, so anywhere in Aus is fine with me.

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


[Haskell-cafe] compiler management for Haskell a la RVM?

2010-03-16 Thread Mark Wotton
RVM (at http://rvm.beginrescueend.com) is a rather nice tool for  
managing multiple ruby installations - it gives support for switching  
between ruby environments (similar to gcc_select and friends), and  
also exporting lists of packages so that you can easily bring up a  
given set of gems in any of the interpreters.


Do we have any similar system for ghc/cabal? I quite frequently find  
myself switching between 6.10 and 6.12 for various things, and it's  
always a bit painful to get your environment up to speed. Is there a  
golden road for this stuff, or do the compiler hackers here just munge  
the PATH?


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


Re: [Haskell-cafe] compiler management for Haskell a la RVM?

2010-03-16 Thread Marc Weber
I wrote it: It's called Hack-Nix and utilizies the Nix repository
manager. I've added a wiki page to haskell.org some time ago.

Drawbacks: Right now it doesn't make sense to include all hackage
packages because resolving dependencies would never end because its
written in Nix language.

I can show you how it works if you're interested.

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


Re: [Haskell-cafe] Are there any web server framework ?

2010-03-16 Thread Michael Snoyman
It's young, but Yesod: http://www.yesodweb.com/code.html

Michael

On Tue, Mar 16, 2010 at 5:15 PM, zaxis z_a...@163.com wrote:


 Erlang has yaws (http://yaws.hyber.org/)
 Scala has lift (http://liftweb.net/)
 Python has django (http://www.djangoproject.com/)
 Ruby has rails (http://rubyonrails.org/)

 How about haskell ? Is there any similar framework, which should be steady,
 powerful and easy to use, in haskell ?

 Sincerely!

 -
 fac n = let {  f = foldr (*) 1 [1..n] } in f
 --
 View this message in context:
 http://old.nabble.com/Are-there-any-web-server-framework---tp27926433p27926433.html
 Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.

 ___
 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


Re: [Haskell-cafe] compiler management for Haskell a la RVM?

2010-03-16 Thread Brandon S. Allbery KF8NH

On Mar 16, 2010, at 20:59 , Mark Wotton wrote:
Do we have any similar system for ghc/cabal? I quite frequently find  
myself switching between 6.10 and 6.12 for various things, and it's  
always a bit painful to get your environment up to speed. Is there a  
golden road for this stuff, or do the compiler hackers here just  
munge the PATH?



Both the system and user package databases handle multiple compiler  
versions, and Cabal inherits this so should do the right thing for the  
most part.


The GHC environment I've assembled for campus machines installs  
versioned commands (including adding versions to the commands that  
lack them), then a script uses the machine configuration db to install  
symlinks for the default version.  This is slightly less convenient  
than using $PATH, and I may alter it to allow PATH munging and then  
use something like http://modules.sf.net/ to make it easier for  
users.  (I have been reworking our Perl setup to allow for this, and  
would like to do the same for Python, Ruby, and some of the commercial  
packages for which we provide multiple versions.)


Admittedly this still requires manually installing libraries in all  
available compiler versions.  I'm not aware of any automated way to  
deal with this, but then I'm not aware of one for Perl or Python  
either (both of which we handle similarly to GHC).


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon universityKF8NH




PGP.sig
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] How to define instance for type synonym with parameter.

2010-03-16 Thread Brandon S. Allbery KF8NH

On Mar 16, 2010, at 17:03 , Vasyl Pasternak wrote:
Aren't ErrorT and ReaderT instances of Applicative already? (At  
least in

'transformers' package?)


what difference between 'mtl' and 'transformers' packages ? 'mtl' goes
with Haskell Platform as standard package, so what is the benefit of
'transformers' library ?


mtl is being deprecated (not just yet but soon); transformers is more  
general and provides the ability to support type families as well as  
functional dependencies (many folks believe type families are the  
future of Haskell, because functional dependencies are often difficult  
to understand).


--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon universityKF8NH




PGP.sig
Description: This is a digitally signed message part
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] SoC Proposals?

2010-03-16 Thread Jeff Wheeler
Is there any way to propose a SoC idea right now? My account doesn't
seem to have been created correctly, so I can't login to the Trac.

I think it'd be interesting for a student to abstract the layout model
in xmonad, separating it into an independent library. Other
applications could then use this library, like Yi, for other types of
tiling.

I'd love to see other ideas related to Yi, too. It's a great project
but on the verge of death (although the maintainer, JPB, is interested
in mentoring).

-- 
Jeff Wheeler

Undergraduate, Electrical Engineering
University of Illinois at Urbana-Champaign
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] SoC Proposals?

2010-03-16 Thread Thomas DuBuisson
Be sure to try your user name without any capitals - that worked for me...

On Tue, Mar 16, 2010 at 6:59 PM, Jeff Wheeler j...@nokrev.com wrote:
 Is there any way to propose a SoC idea right now? My account doesn't
 seem to have been created correctly, so I can't login to the Trac.

 I think it'd be interesting for a student to abstract the layout model
 in xmonad, separating it into an independent library. Other
 applications could then use this library, like Yi, for other types of
 tiling.

 I'd love to see other ideas related to Yi, too. It's a great project
 but on the verge of death (although the maintainer, JPB, is interested
 in mentoring).

 --
 Jeff Wheeler

 Undergraduate, Electrical Engineering
 University of Illinois at Urbana-Champaign
 ___
 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] Extending Cabal's Preprocessors for GSoC?

2010-03-16 Thread Diego Echeverri
Hi guys!

Thomas Schilling suggested me to cross-post this here. Basically
I'm thinking about the possibility of extending Cabal's
Preprocessor mechanism for the GSoC. I've been working to provide
uuagc with a Custom build mechanism for Cabal and in this process
I have stumbled upon some difficulties (Dependency resolution and
configurability).

I believe is possible to extend the current preprocessing
mechanism to provide the following:

* Independence from physical representation (Currently the module
  is assumed to be built from a single file with the same name that
  the module)

* Dependency checks (precompile when one of the files on which it
  depends changed. I had to trick cabal and duplicate
  functionality to do this for uuagc. There should be a better
  way!)

* Composability (Add the ability to chain existing preprocessors)

* Configurabily (Make easier to add configuration sections to the
cabal file. I've been using x- sections but I guess is possible
to make it look like the already-supported preprocessors).

Any feedback about this?
Suggestions are greatly appreciated.
Diego Echeverri


On Mon, Mar 15, 2010 at 10:33 AM, Thomas Schilling
nomin...@googlemail.com wrote:
 Yes, you sent it to the right list. In fact for discussing summer of
 code it might not be a bad idea to cross-post to haskell-cafe to get
 some feedback from Cabal users.

 In my experience, it is most important for Summer of Code to have a
 clearly defined set of deliverables, i.e., have a good idea of what
 features you want to have working at the end of the 10 weeks.  (It's
 actually 12 weeks, but the last 2 weeks are expected to be used for
 documenting stuff.)

 Your problem description sounds plausable, but for a GSoC project it's
 good to also have an idea how to solve the problem.  E.g., do you plan
 to build a custom framework or just extend Cabal to support more kinds
 of preprocessors?

 Duncan and others have been working on a true dependency tracking
 system similar to Make, but I think there are too many open questions
 to turn that into a GSoC project just yet.  It does raise the
 question, however, how much overlap there would be with your idea.
 Maybe you can find a well-defined subset?

 In any case, try to ask haskell-cafe for feedback and apply for both
 ideas.  I think you can apply for up to 10 projects, so it's no
 problem to apply for more than one.  But keep in mind that the quality
 of the proposals matters.

 On 14 March 2010 01:40, Diego Echeverri diegoe...@gmail.com wrote:
 Hi guys!

 I was wondering about the possibility to work on Cabal for the
 summer of code.  I've been helping one of my teachers to
 provide (improve) a plugin for the uuagc (I haven't spent too
 much time on it, but here's the fork I'm working on
 http://github.com/diegoeche/uuagc). I have found how flexible the
 cabal libraries are but also some things haven't been
 straightforward to do (I've been using Cabal 1.6.0.3).

 Basically there's seems to be an assumption of a one-to-one
 relation of modules and the sources of the files which is not
 followed by the uuagc pre-processor. I can use List.ag and inside
 of it use an include declaration to List-Data.ag. If I modify
 List-Data.ag cabal won't precompile it again because it will only
 check dates against List.ag (cabal doesn't know that the
 file that generates List.hs depends not only in List.ag). I had
 to override the build hook, duplicate the check (this time
 getting all the dependencies) and delete the generated file to
 trick cabal to precompile again... and well... that's seems quite
 a nasty hack to me.

 This assumption also affect the possibility to make the output of
 the pre-processor not necessarily an .hs file (and not necessarily
 carrying the same name). Checking the code for the
 pre-processors (Distribution.Simple.PreProcess) I noticed it would
 be good to have the possibility to chain pre-processors. I believe
 both issues are pretty much connected.

 I also found the following proposal here:
 http://hackage.haskell.org/trac/summer-of-code/ticket/1581 which
 sound also interesting to me. (and there's already a mentor
 available!)

 Do you think this could be a good project for the summer of code?
 Maybe any other ideas I should explore? Did I write to the right
 list? (please excuse me if I didn't)

 Thanks!
 Diego Echeverri

 ___
 cabal-devel mailing list
 cabal-de...@haskell.org
 http://www.haskell.org/mailman/listinfo/cabal-devel

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


Re: [Haskell-cafe] SoC Proposals?

2010-03-16 Thread Jeff Wheeler
On Tue, Mar 16, 2010 at 9:32 PM, Thomas DuBuisson
thomas.dubuis...@gmail.com wrote:

 Be sure to try your user name without any capitals - that worked for me...

The account I created is jeffwheeler -- all lowercase, no spaces --
unfortunately, so that doesn't seem to be the problem I'm hitting.

-- 
Jeff Wheeler

Undergraduate, Electrical Engineering
University of Illinois at Urbana-Champaign
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] stuck with a sample of programming in haskell

2010-03-16 Thread 国平张
Hi,

I am a beginner for haskell. I was stuck with a sample of programming
in haskell. Following is my code:
-
import Prelude hiding (return, fail)

type Parser a = (String-[(a,String)])

return :: a - Parser a
return v = (\inp-[(v,inp)])

item :: Parser Char
item = \inp - case inp of
   [] - []
   (x:xs) - [(x,xs)]
failure :: Parser a
failure = \inp - []

parse :: Parser a-(String-[(a,String)])
parse p inp = p inp

(=) :: Parser a - (a - Parser b) - Parser b
p = f  = (\inp - case parse p inp of
[] - []
[(v,out)]-parse (f v) out)

p :: Parser (Char,Char)
p = do x - item
  item
  y - item
  return (x,y)
-

But it cannot be loadded by Hug, saying:

Couldn't match expected type `Char'
  against inferred type `[(Char, String)]'
 Expected type: [((Char, Char), String)]
 Inferred type: [(([(Char, String)], [(Char, String)]), String)]
In the expression: return (x, y)
In the expression:
   do x - item
  item
  y - item
  return (x, y)

---

I googled and tried a few days still cannot get it compiled, can
someone do me a favor to point out what's wrong with it :-) ?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] stuck with a sample of programming in haskell

2010-03-16 Thread Michael Snoyman
Hi,

You can only use do notation if you actually create an instance of Monad,
which for Parser you haven't done. To continue as is, replace the first line
with:

import Prelude hiding (return, fail, (=))

and the p function with

p = item = \x - item = \_ - item = \y - return (x, y)

I've basically de-sugared the do-notation you wrote and hid the = from
Prelude so that the one you declared locally is used.

Michael

On Tue, Mar 16, 2010 at 9:09 PM, 国平张 zhangguop...@gmail.com wrote:

 Hi,

 I am a beginner for haskell. I was stuck with a sample of programming
 in haskell. Following is my code:
 -
 import Prelude hiding (return, fail)

 type Parser a = (String-[(a,String)])

 return :: a - Parser a
 return v = (\inp-[(v,inp)])

 item :: Parser Char
 item = \inp - case inp of
   [] - []
   (x:xs) - [(x,xs)]
 failure :: Parser a
 failure = \inp - []

 parse :: Parser a-(String-[(a,String)])
 parse p inp = p inp

 (=) :: Parser a - (a - Parser b) - Parser b
 p = f  = (\inp - case parse p inp of
[] - []
[(v,out)]-parse (f v) out)

 p :: Parser (Char,Char)
 p = do x - item
  item
  y - item
  return (x,y)
 -

 But it cannot be loadded by Hug, saying:

 Couldn't match expected type `Char'
  against inferred type `[(Char, String)]'
  Expected type: [((Char, Char), String)]
  Inferred type: [(([(Char, String)], [(Char, String)]), String)]
 In the expression: return (x, y)
 In the expression:
   do x - item
  item
  y - item
  return (x, y)

 ---

 I googled and tried a few days still cannot get it compiled, can
 someone do me a favor to point out what's wrong with it :-) ?
 ___
 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


Re: [Haskell-cafe] SoC Proposals?

2010-03-16 Thread Mihai Maruseac
I cannot login too. Account is mihai.maruseac.

On Wed, Mar 17, 2010 at 5:37 AM, Jeff Wheeler j...@nokrev.com wrote:
 On Tue, Mar 16, 2010 at 9:32 PM, Thomas DuBuisson
 thomas.dubuis...@gmail.com wrote:

 Be sure to try your user name without any capitals - that worked for me...

 The account I created is jeffwheeler -- all lowercase, no spaces --
 unfortunately, so that doesn't seem to be the problem I'm hitting.

 --
 Jeff Wheeler

 Undergraduate, Electrical Engineering
 University of Illinois at Urbana-Champaign
 ___
 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