[Haskell-cafe] Haskell V Java type checking

2011-10-23 Thread Patrick Browne
Hi,I am comparing some aspects of Haskell with Java.Below is a simple Haskell program with a sub-class.It is followed my attempt to code the same concepts in Java.Two questions:1) Are the two examples close enough? (very subjective)2) In this example, what are the advantages of the Haskell type checking over the Java type checking? 3) Are there more general advantages of Haskell type checking over Java type checking?Regards,Pat Haskell program===data Cdata Dclass A t whereinstance A C whereinstance A D whereclass A t = B t whereinstance B C whereinstance B D where=Java Program===import java.lang.Class;interface AT {}class A_INSTANCET implements AT {}interface BT extends AT{}class B_INSTANCET implements BT {}class C {}class D {}public class DEMO1 {public static void main(String args[]) {A_INSTANCEC ac = new A_INSTANCEC();A_INSTANCED ad = new A_INSTANCED();B_INSTANCEC bc = new B_INSTANCEC();B_INSTANCED bd = new B_INSTANCED();System.out.println(Object's Class name =+  ac.getClass().getName());System.out.println(Object's Class name =+  ad.getClass().getName());System.out.println(Object's Class name =+  bc.getClass().getName());System.out.println(Object's Class name =+  bd.getClass().getName());  }}

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


Re: [Haskell-cafe] Data.Vector.Mutable.mapM

2011-10-23 Thread Roman Leshchinskiy
Joachim Breitner wrote:
 Hi,

 I’m consdering to change some performance critical code from Vector to
 MVector, hopefully avoiding a lot of copying and garbage collecting. But
 it seems that the Data.Vector.Mutable interface at
 http://hackage.haskell.org/packages/archive/vector/0.9/doc/html/Data-Vector-Mutable.html
  is quite limited; e.g. I am missing simple functions having type
 modifyM :: PrimMonad m = (a - m a) - MVector (PrimState m) a -
 m ()
 that would do something with each element in the vector.

At the moment, the best way to do this is:

modifyM = Data.Vector.Generic.Mutable.transform
. Data.Vector.Fusion.Stream.Monadic.mapM

Note that transform will return a new vector but that is guaranteed to be
a slice of the original one. Since mapM doesn't change the number of
elements, you can safely ignore the return value as it will be always your
original vector.

 Is this an indication that such use is actually not desired, or is it
 just the case that nobody has developed that yet?

The latter. I need to come up with a nice mechanism for specifying loops
over mutable vectors but this isn't entirely trivial and I haven't had
enough time to really work on this lately.

Roman




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


[Haskell-cafe] Problem installing svgcairo

2011-10-23 Thread Roly Perera
Hi,

I'm having a problem installing svgcairo with Cabal, which I need for
something else.

I don't know what's going on, but something (maybe a C preprocessor,
judging by Google search results) barfs with the complaint:

./Graphics/Rendering/Cairo/SVG.chs:209:28: error: missing binary
operator before token (

I can't find the file SVG.chs on my system to inspect this line, but
perhaps I'm looking in the wrong place.

Has anyone encountered this? Am I perhaps using the wrong version of
Cairo or Gtk? Any suggestions welcome.

thanks
Roly


==
$ cabal install svgcairo

Resolving dependencies...
[1 of 2] Compiling SetupWrapper (
/tmp/svgcairo-0.12.125554/svgcairo-0.12.1/SetupWrapper.hs,
/tmp/svgcairo-0.12.125554/svgcairo-0.12.1/dist/setup/SetupWrapper.o )
[2 of 2] Compiling Main (
/tmp/svgcairo-0.12.125554/svgcairo-0.12.1/Setup.hs,
/tmp/svgcairo-0.12.125554/svgcairo-0.12.1/dist/setup/Main.o )
Linking /tmp/svgcairo-0.12.125554/svgcairo-0.12.1/dist/setup/setup ...
[1 of 2] Compiling Gtk2HsSetup  ( Gtk2HsSetup.hs,
dist/setup-wrapper/Gtk2HsSetup.o )
[2 of 2] Compiling Main ( SetupMain.hs, dist/setup-wrapper/Main.o )
Linking dist/setup-wrapper/setup ...
Configuring svgcairo-0.12.1...
Preprocessing library svgcairo-0.12.1...
./Graphics/Rendering/Cairo/SVG.chs:209:28: error: missing binary
operator before token (
gtk2hsC2hs: Error during preprocessing chs file
cabal: Error: some packages failed to install:
svgcairo-0.12.1 failed during the building phase. The exception was:
ExitFailure 1

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


[Haskell-cafe] SpecConstr message while compiling

2011-10-23 Thread Daniel Díaz Casanueva
Hi, cafe!

I wrote a program and had the following message while compiling (with -O2):

SpecConstr
Function `addOc{v s6RL} [lid]'
  has four call patterns, but the limit is 3
Use -fspec-constr-count=n to set the bound
Use -dppr-debug to see specialisations

What it means? Is it bad? It only happens when compiling with -O2.

addOc is a local function (defined in a where clause). If it helps, here is
the definition:

addOc x [] = [(x,1)]
addOc x ((y,n):ys) = if x == y then (y,n+1) : ys
   else (y,n) : addOc x ys

I want to know if there is something wrong or a I don't need to take care
about this.

Thanks in advance,
Daniel Díaz.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] SpecConstr message while compiling

2011-10-23 Thread Daniel Fischer
On Sunday 23 October 2011, 19:33:55, Daniel Díaz Casanueva wrote:
 Hi, cafe!
 
 I wrote a program and had the following message while compiling (with
 -O2):
 
 SpecConstr
 Function `addOc{v s6RL} [lid]'
   has four call patterns, but the limit is 3
 Use -fspec-constr-count=n to set the bound
 Use -dppr-debug to see specialisations
 
 What it means? Is it bad? It only happens when compiling with -O2.

It's nothing serious.
It's just a message (that accidentally was output by default in the 7.0.* 
series) that the spec-constr pass could have done more specialising, but 
the limit forbade it.

More specialising on constructors means

- certainly bigger code
- potentially faster code

but it could also become slower (most likely because of worse cache 
locality).

It's not even a warning, just a notification.

 
 addOc is a local function (defined in a where clause). If it helps, here
 is the definition:
 
 addOc x [] = [(x,1)]
 addOc x ((y,n):ys) = if x == y then (y,n+1) : ys
else (y,n) : addOc x ys
 
 I want to know if there is something wrong or a I don't need to take
 care about this.

You need not take care of it, but you can try out and pass
-fspec-constr-count=N
on the command line (here, N = 4 is a good start) to see if the generated 
code is faster.

 
 Thanks in advance,
 Daniel Díaz.


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


Re: [Haskell-cafe] Will changing associativity of enumerator's ($=) affect anyone? (also: enumerator mailing list)

2011-10-23 Thread John Millikin
enumerator 0.4.15, which includes this change, is now published.

Hackage: http://hackage.haskell.org/package/enumerator-0.4.15
Home page: https://john-millikin.com/software/enumerator/

Important changes since 0.4.14:

* Fix an error in UTF-16 decoding, which could cause truncated output
if the first four bytes are a surrogate pair.
* Change associativity of ($=) from infixr 0 to infixl 1.
* When decoding invalid text, throw an error rather than silently
truncate the output.

Full change log at https://john-millikin.com/software/enumerator/#changelog

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


[Haskell-cafe] ANN: diagrams 0.4

2011-10-23 Thread Brent Yorgey
I am pleased to announce the release of version 0.4 of diagrams, a
full-featured framework and embedded domain-specific language for
declarative drawing.

The last announcement was of the 0.1 release; there have been quite a
few changes and improvements since then, including:

-   A new website including a gallery of examples:

  http://projects.haskell.org/diagrams/gallery.html

-   A new comprehensive user manual with lots of illustrative
examples:

  http://projects.haskell.org/manual/diagrams-manual.html

-   New primitive shapes: rounded rectangles, wedges, and a new
flexible API for generating polygons

-   Cubic splines

-   Basic text support

-   Support for external image primitives

-   Lots more convenient combinators, bug fixes, and improvements

Cool, how can I try it out?
---

For the truly impatient:

cabal install gtk2hs-buildtools
cabal install diagrams

For the slightly less impatient, read the quick tutorial, which has
detailed information about how to install the necessary packages and
will introduce you to the fundamentals of the framework:

  http://projects.haskell.org/diagrams/tutorial/DiagramsTutorial.html  

For those who are even less impatient but want to really dig in and
use the power features, read the user manual:

  http://projects.haskell.org/manual/diagrams-manual.html  

Cool, how can I contribute?
---

There are lots of ways you can contribute! First, you may want to
subscribe to the project mailing list
(http://groups.google.com/group/diagrams-discuss), and/or come hang
out in the #diagrams IRC channel on freenode.org.

-   There are lots of easy bug fixes, improvements, and feature requests
just waiting for people wanting to get involved: see the bug
tracker for a list of open tickets:

  http://code.google.com/p/diagrams/issues/list  

-   The source repositories are mirrored using both darcs (on
patch-tag.com) and git (on github.com), and patches are accepted
in either place, thanks to Owen Stephen's great work on
darcs-bridge [1].

-   Create a higher-level module built on top of the diagrams framework
(e.g. tree or graph layout, generating Turing machine
configuration diagrams, Penrose tilings ... your imagination is
the only limit!)  and submit it for inclusion in a special
diagrams-contrib package which will be created for such
higher-level user-contributed modules.

-   Use diagrams to create some cool graphics and submit them for
inclusion in the gallery.

-   Start your own project built on top of diagrams and let us know how
it goes!

-   Last but certainly not least, just try it out for your pet graphics
generation needs and contribute your bug reports and feature
requests.


Happy diagramming!


Brought to you by the diagrams team:

-   Brent Yorgey
-   Ryan Yates

with contributions from:

-   Sam Griffin
-   Claude Heiland-Allen
-   John Lato
-   Vilhelm Sjöberg
-   Luite Stegeman
-   Kanchalai Suveepattananont
-   Scott Walck


[1] http://wiki.darcs.net/DarcsBridgeUsage  

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


Re: [Haskell-cafe] ANN: diagrams 0.4

2011-10-23 Thread Ryan Yates
The correct URL for the manual is:

http://projects.haskell.org/diagrams/manual/diagrams-manual.html

Ryan

On Sun, Oct 23, 2011 at 2:47 PM, Brent Yorgey byor...@seas.upenn.edu wrote:
 I am pleased to announce the release of version 0.4 of diagrams, a
 full-featured framework and embedded domain-specific language for
 declarative drawing.

 The last announcement was of the 0.1 release; there have been quite a
 few changes and improvements since then, including:

 -   A new website including a gallery of examples:

      http://projects.haskell.org/diagrams/gallery.html

 -   A new comprehensive user manual with lots of illustrative
    examples:

      http://projects.haskell.org/manual/diagrams-manual.html

 -   New primitive shapes: rounded rectangles, wedges, and a new
    flexible API for generating polygons

 -   Cubic splines

 -   Basic text support

 -   Support for external image primitives

 -   Lots more convenient combinators, bug fixes, and improvements

 Cool, how can I try it out?
 ---

 For the truly impatient:

    cabal install gtk2hs-buildtools
    cabal install diagrams

 For the slightly less impatient, read the quick tutorial, which has
 detailed information about how to install the necessary packages and
 will introduce you to the fundamentals of the framework:

  http://projects.haskell.org/diagrams/tutorial/DiagramsTutorial.html

 For those who are even less impatient but want to really dig in and
 use the power features, read the user manual:

  http://projects.haskell.org/manual/diagrams-manual.html

 Cool, how can I contribute?
 ---

 There are lots of ways you can contribute! First, you may want to
 subscribe to the project mailing list
 (http://groups.google.com/group/diagrams-discuss), and/or come hang
 out in the #diagrams IRC channel on freenode.org.

 -   There are lots of easy bug fixes, improvements, and feature requests
    just waiting for people wanting to get involved: see the bug
    tracker for a list of open tickets:

      http://code.google.com/p/diagrams/issues/list

 -   The source repositories are mirrored using both darcs (on
    patch-tag.com) and git (on github.com), and patches are accepted
    in either place, thanks to Owen Stephen's great work on
    darcs-bridge [1].

 -   Create a higher-level module built on top of the diagrams framework
    (e.g. tree or graph layout, generating Turing machine
    configuration diagrams, Penrose tilings ... your imagination is
    the only limit!)  and submit it for inclusion in a special
    diagrams-contrib package which will be created for such
    higher-level user-contributed modules.

 -   Use diagrams to create some cool graphics and submit them for
    inclusion in the gallery.

 -   Start your own project built on top of diagrams and let us know how
    it goes!

 -   Last but certainly not least, just try it out for your pet graphics
    generation needs and contribute your bug reports and feature
    requests.


 Happy diagramming!


 Brought to you by the diagrams team:

 -   Brent Yorgey
 -   Ryan Yates

 with contributions from:

 -   Sam Griffin
 -   Claude Heiland-Allen
 -   John Lato
 -   Vilhelm Sjöberg
 -   Luite Stegeman
 -   Kanchalai Suveepattananont
 -   Scott Walck


 [1] http://wiki.darcs.net/DarcsBridgeUsage

 ___
 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] SpecConstr message while compiling

2011-10-23 Thread Daniel Díaz Casanueva
Thank you, good response!

Anyway, I'm not specially aware about the speed in that section of the
program. The really big work is done in other places. Also, addOc runs in
lists of 300~400 as maximum (but only in special inputs, average is under
200), so the time difference can't be improved notoriously, and I won't see
changes in performance.

But I will follow your pointers when necessary in the future.
On Sun, Oct 23, 2011 at 7:50 PM, Daniel Fischer 
daniel.is.fisc...@googlemail.com wrote:

 On Sunday 23 October 2011, 19:33:55, Daniel Díaz Casanueva wrote:
  Hi, cafe!
 
  I wrote a program and had the following message while compiling (with
  -O2):
 
  SpecConstr
  Function `addOc{v s6RL} [lid]'
has four call patterns, but the limit is 3
  Use -fspec-constr-count=n to set the bound
  Use -dppr-debug to see specialisations
 
  What it means? Is it bad? It only happens when compiling with -O2.

 It's nothing serious.
 It's just a message (that accidentally was output by default in the 7.0.*
 series) that the spec-constr pass could have done more specialising, but
 the limit forbade it.

 More specialising on constructors means

 - certainly bigger code
 - potentially faster code

 but it could also become slower (most likely because of worse cache
 locality).

 It's not even a warning, just a notification.

 
  addOc is a local function (defined in a where clause). If it helps, here
  is the definition:
 
  addOc x [] = [(x,1)]
  addOc x ((y,n):ys) = if x == y then (y,n+1) : ys
 else (y,n) : addOc x ys
 
  I want to know if there is something wrong or a I don't need to take
  care about this.

 You need not take care of it, but you can try out and pass
 -fspec-constr-count=N
 on the command line (here, N = 4 is a good start) to see if the generated
 code is faster.

 
  Thanks in advance,
  Daniel Díaz.


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


Re: [Haskell-cafe] is Haskell missing a non-instantiating polymorphic case? (missing link added)

2011-10-23 Thread Adam Megacz
Hrm, it seems that I hit send instead of save draft when shutting 
down my computer last night.


On 2011-10-22 22:48:55 -0700, Adam Megacz said:

I've written up a short example of the problems that happen here:


Here is the link which was missing from that posting:

 http://www.megacz.com/thoughts/polymorphic-case.html



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


[Haskell-cafe] haskell-janitors (was Re: New rss maintainer)

2011-10-23 Thread Conrad Parker
On 22 October 2011 22:52, Bas van Dijk v.dijk@gmail.com wrote:
 I released a new rss:

 http://hackage.haskell.org//package/rss-3000.2.0

 It no longer requires old-time and is tested with the latest versions
 of its dependencies.

 On 21 October 2011 17:34, Vincent Hanquez t...@snarc.org wrote:
 Perhaps, unless someone step up, it would be nice to move packages that have
 no maintainer anymore into a github organisation (haskell-janitors ?),

 Nice idea! However I think we should always strive for having a single
 or a limited number of maintainers. Finally when nobody wants to take
 over a package we can hand it over to haskell-janitors.

I like the janitors idea because it is practical, and I also like the
ideal world where every package has an active maintainer.

How about we set up the haskell-janitors github group as Vincent
suggests, with some basic rules like:

* when you upload a package you put your name and email address in the
maintainer field, with a comment saying that you are maintaining this
package through the haskell-janitors group

* anyone in the haskell-janitors group can upload a new version of a
package which is maintained through the haskell-janitors group. When
you do so you set (or prepend?) your name as maintainer.

* if anyone anywhere ever gets keen to take exclusive maintenance of a
project, to redesign it or whatever, they're welcome to take it out of
haskell-janitors.

Goals would be:

* timely uploads (anyone can upload)
* accountability (you put your name on it)
* packages still have someone who can accept patches, answer questions
etc. (you put your name on it)

Conrad.

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


Re: [Haskell-cafe] is Haskell missing a non-instantiating polymorphic case? (missing link added)

2011-10-23 Thread Brandon Moore
 From: Adam Megacz meg...@cs.berkeley.edu


 Hrm, it seems that I hit send instead of save draft when 
 shutting down my computer last night.
 
 On 2011-10-22 22:48:55 -0700, Adam Megacz said:
  I've written up a short example of the problems that happen here:
 
 Here is the link which was missing from that posting:
 
 http://www.megacz.com/thoughts/polymorphic-case.html

It seems that StackOverflow post left out important details.
I think I've solved that one, but the problem there looks harder.

It sounds like the entire point of this is syntax representation?

If so, have you seen Conor McBride's recent post
http://www.e-pig.org/epilogue/?p=773
on troubles they ran into with a higher order term representation,
and a way to write first-order free name/bound index terms
with a syntax like

la $ \f - la $ \x - f (f x)

Brandon

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


Re: [Haskell-cafe] Will changing associativity of enumerator's ($=) affect anyone? (also: enumerator mailing list)

2011-10-23 Thread Julian Blake Kongslie
On Sun, Oct 23, 2011 at 11:12:49AM -0700, John Millikin wrote:
 enumerator 0.4.15, which includes this change, is now published.

Thanks very much for this change!

-- 
-Julian Blake Kongslie jbl...@omgwallhack.org
If this is a mailing list, please CC me on replies.

vim: set ft=text :


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


Re: [Haskell-cafe] hello Haskell

2011-10-23 Thread Erik de Castro Lopo
R J wrote:

 hey Haskell this is nuts http://www.business10i.com
 hey Haskell this is nuts ://xxx.xxx.xxx

Maybe its time to moderate all newcomers to this list, at least
until they post one non-spam message to the list.

If you need volunteers to do this moderation I'll stick my hand up.

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] hello Haskell

2011-10-23 Thread Tom Murphy
The GUI list could definitely use this type of moderation.

Tom / amindfv
On Oct 23, 2011 9:54 PM, Erik de Castro Lopo mle...@mega-nerd.com wrote:

 R J wrote:

  hey Haskell this is nuts http://www.business10i.com
  hey Haskell this is nuts ://xxx.xxx.xxx

 Maybe its time to moderate all newcomers to this list, at least
 until they post one non-spam message to the list.

 If you need volunteers to do this moderation I'll stick my hand up.

 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

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


Re: [Haskell-cafe] is Haskell missing a non-instantiating polymorphic case? (missing link added)

2011-10-23 Thread Adam Megacz


On 2011-10-23 17:02:47 -0700, Brandon Moore said:

It sounds like the entire point of this is syntax representation?


Not really.. the entire point of this is parametricity. :)

There are a lot of examples involving syntax and binding because ruling 
out exotic terms is one of the things that parametricity is really 
useful for.




If so, have you seen Conor McBride's recent post
http://www.e-pig.org/epilogue/?p=773


Yes, a while back; it's very cool but basically orthogonal: the data 
types in that blog post aren't indexed by the object-language-term's 
type (nor should they be -- he's writing a typechecker, after all!).


 - a



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


Re: [Haskell-cafe] hello Haskell

2011-10-23 Thread aditya siram
I don't think OP realizes that we *avoid* success at all costs.
-deech

On Sun, Oct 23, 2011 at 9:17 PM, Tom Murphy amin...@gmail.com wrote:
 The GUI list could definitely use this type of moderation.

 Tom / amindfv

 On Oct 23, 2011 9:54 PM, Erik de Castro Lopo mle...@mega-nerd.com wrote:

 R J wrote:

  hey Haskell this is nuts http://www.business10i.com
  hey Haskell this is nuts ://xxx.xxx.xxx

 Maybe its time to moderate all newcomers to this list, at least
 until they post one non-spam message to the list.

 If you need volunteers to do this moderation I'll stick my hand up.

 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

 ___
 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] ANN: diagrams 0.4

2011-10-23 Thread Rustom Mody
Thanks.  This is attractive.
I remember (vaguely) a 'live page' ie where one could enter (into the
browser) changes to the diagrams code and see the results immediately.
Is that page there? (Or am I mixing up with something else?)

How does diagrams compare with graphviz?  If this is an inappropriate
(type-wrong?) question thats ok :-)  Its just that when I last looked at
graphviz I found the documentation somewhat impenetrable -- like much else
in Hackage -- lots of types, no examples.

On Mon, Oct 24, 2011 at 12:17 AM, Brent Yorgey byor...@seas.upenn.eduwrote:

 I am pleased to announce the release of version 0.4 of diagrams, a
 full-featured framework and embedded domain-specific language for
 declarative drawing.

 The last announcement was of the 0.1 release; there have been quite a
 few changes and improvements since then, including:

 -   A new website including a gallery of examples:

  http://projects.haskell.org/diagrams/gallery.html

 -   A new comprehensive user manual with lots of illustrative
examples:

  http://projects.haskell.org/manual/diagrams-manual.html

 -   New primitive shapes: rounded rectangles, wedges, and a new
flexible API for generating polygons

 -   Cubic splines

 -   Basic text support

 -   Support for external image primitives

 -   Lots more convenient combinators, bug fixes, and improvements

 Cool, how can I try it out?
 ---

 For the truly impatient:

cabal install gtk2hs-buildtools
cabal install diagrams

 For the slightly less impatient, read the quick tutorial, which has
 detailed information about how to install the necessary packages and
 will introduce you to the fundamentals of the framework:

  http://projects.haskell.org/diagrams/tutorial/DiagramsTutorial.html

 For those who are even less impatient but want to really dig in and
 use the power features, read the user manual:

  http://projects.haskell.org/manual/diagrams-manual.html

 Cool, how can I contribute?
 ---

 There are lots of ways you can contribute! First, you may want to
 subscribe to the project mailing list
 (http://groups.google.com/group/diagrams-discuss), and/or come hang
 out in the #diagrams IRC channel on freenode.org.

 -   There are lots of easy bug fixes, improvements, and feature requests
just waiting for people wanting to get involved: see the bug
tracker for a list of open tickets:

  http://code.google.com/p/diagrams/issues/list

 -   The source repositories are mirrored using both darcs (on
patch-tag.com) and git (on github.com), and patches are accepted
in either place, thanks to Owen Stephen's great work on
darcs-bridge [1].

 -   Create a higher-level module built on top of the diagrams framework
(e.g. tree or graph layout, generating Turing machine
configuration diagrams, Penrose tilings ... your imagination is
the only limit!)  and submit it for inclusion in a special
diagrams-contrib package which will be created for such
higher-level user-contributed modules.

 -   Use diagrams to create some cool graphics and submit them for
inclusion in the gallery.

 -   Start your own project built on top of diagrams and let us know how
it goes!

 -   Last but certainly not least, just try it out for your pet graphics
generation needs and contribute your bug reports and feature
requests.


 Happy diagramming!


 Brought to you by the diagrams team:

 -   Brent Yorgey
 -   Ryan Yates

 with contributions from:

 -   Sam Griffin
 -   Claude Heiland-Allen
 -   John Lato
 -   Vilhelm Sjöberg
 -   Luite Stegeman
 -   Kanchalai Suveepattananont
 -   Scott Walck


 [1] http://wiki.darcs.net/DarcsBridgeUsage

 ___
 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] haskell-janitors (was Re: New rss maintainer)

2011-10-23 Thread Erik de Castro Lopo
Conrad Parker wrote:

 I like the janitors idea because it is practical, and I also like the
 ideal world where every package has an active maintainer.
 
 How about we set up the haskell-janitors github group as Vincent
 suggests, with some basic rules like:

Just to make its intent more obvious, I would suggest the name
haskell-pkg-janitors.

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] hello Haskell

2011-10-23 Thread Daniel Fischer
On Monday 24 October 2011, 03:54:09, Erik de Castro Lopo wrote:
 R J wrote:
  hey Haskell this is nuts http://www.business10i.com
  hey Haskell this is nuts ://xxx.xxx.xxx
 
 Maybe its time to moderate all newcomers to this list, at least
 until they post one non-spam message to the list.

Just for the record, not a newcomer, and has non-spam messages, e.g.

http://www.haskell.org/pipermail/haskell-cafe/2010-May/077871.html
http://www.haskell.org/pipermail/haskell-cafe/2010-May/078054.html

 
 If you need volunteers to do this moderation I'll stick my hand up.
 
 Erik


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


Re: [Haskell-cafe] hello Haskell

2011-10-23 Thread Erik de Castro Lopo
Daniel Fischer wrote:

 On Monday 24 October 2011, 03:54:09, Erik de Castro Lopo wrote:
  R J wrote:
   hey Haskell this is nuts http://www.business10i.com
   hey Haskell this is nuts ://xxx.xxx.xxx
  
  Maybe its time to moderate all newcomers to this list, at least
  until they post one non-spam message to the list.
 
 Just for the record, not a newcomer, and has non-spam messages, e.g.
 
 http://www.haskell.org/pipermail/haskell-cafe/2010-May/077871.html
 http://www.haskell.org/pipermail/haskell-cafe/2010-May/078054.html

That suggests a hijacked account. Such accounts could still be put
under moderation.

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] hello Haskell

2011-10-23 Thread Conrad Parker
On 24 October 2011 10:57, Daniel Fischer
daniel.is.fisc...@googlemail.com wrote:
 On Monday 24 October 2011, 03:54:09, Erik de Castro Lopo wrote:
 R J wrote:
  hey Haskell this is nuts http://www.business10i.com
  hey Haskell this is nuts ://xxx.xxx.xxx

 Maybe its time to moderate all newcomers to this list, at least
 until they post one non-spam message to the list.

 Just for the record, not a newcomer, and has non-spam messages, e.g.

 http://www.haskell.org/pipermail/haskell-cafe/2010-May/077871.html
 http://www.haskell.org/pipermail/haskell-cafe/2010-May/078054.html

There was a recent hotmail exploit, with people reporting their
account sent spam, see eg:

https://plus.google.com/117020778736538274606/posts/4yMP7iDshCf

I'd be in favor of graylisting or unsubscribing anyone who uses hotmail.

Conrad.



 If you need volunteers to do this moderation I'll stick my hand up.

 Erik


 ___
 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] hello Haskell

2011-10-23 Thread Daniel Fischer
On Monday 24 October 2011, 05:04:03, Erik de Castro Lopo wrote:
 That suggests a hijacked account.

Looks quite so, cf. Conrad Parker's message.

 Such accounts could still be put under moderation.

Yes, that's probably the best.


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


Re: [Haskell-cafe] haskell-janitors (was Re: New rss maintainer)

2011-10-23 Thread Daniel Fischer
On Monday 24 October 2011, 04:56:49, Erik de Castro Lopo wrote:
 Conrad Parker wrote:
  I like the janitors idea because it is practical, and I also like the
  ideal world where every package has an active maintainer.
  
  How about we set up the haskell-janitors github group as Vincent
 
  suggests, with some basic rules like:
 Just to make its intent more obvious, I would suggest the name
 haskell-pkg-janitors.

Emphatically seconded.

 
 Erik


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


Re: [Haskell-cafe] hello Haskell

2011-10-23 Thread Tom Murphy
Blocking/unsubscribing people based on their email provider seems... sort of
impolite or unwelcoming.
A greylist could work.
Given the relatively low volume of spam, my vote is for the original
suggestion of first-message-moderated, with the ability to put an address
back on moderation if their account is hacked.

Tom / amindfv
On Oct 23, 2011 11:09 PM, Conrad Parker con...@metadecks.org wrote:

 On 24 October 2011 10:57, Daniel Fischer
 daniel.is.fisc...@googlemail.com wrote:
  On Monday 24 October 2011, 03:54:09, Erik de Castro Lopo wrote:
  R J wrote:
   hey Haskell this is nuts http://www.business10i.com
   hey Haskell this is nuts ://xxx.xxx.xxx
 
  Maybe its time to moderate all newcomers to this list, at least
  until they post one non-spam message to the list.
 
  Just for the record, not a newcomer, and has non-spam messages, e.g.
 
  http://www.haskell.org/pipermail/haskell-cafe/2010-May/077871.html
  http://www.haskell.org/pipermail/haskell-cafe/2010-May/078054.html

 There was a recent hotmail exploit, with people reporting their
 account sent spam, see eg:

 https://plus.google.com/117020778736538274606/posts/4yMP7iDshCf

 I'd be in favor of graylisting or unsubscribing anyone who uses hotmail.

 Conrad.

 
 
  If you need volunteers to do this moderation I'll stick my hand up.
 
  Erik
 
 
  ___
  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 mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: diagrams 0.4

2011-10-23 Thread Ivan Lazar Miljenovic
On 24 October 2011 13:51, Rustom Mody rustompm...@gmail.com wrote:
 How does diagrams compare with graphviz?  If this is an inappropriate
 (type-wrong?) question thats ok :-)  Its just that when I last looked at
 graphviz I found the documentation somewhat impenetrable -- like much else
 in Hackage -- lots of types, no examples.

How is it now, better?  If not, what kind of more documentation would you like?

The difference between the two is: graphviz requires an external
command to create the visualisations and is suited towards converting
graph data into an image using various heuristics to try and make it
look nice; diagrams seems to be more towards drawing specific images
following specified rules.

So, you could implement something like graphviz using diagrams as a
backend, but you'd then need to have some transformation from a list
of points+edges to actual 2D coords, etc.

Hmmm... might be interesting to try and use dot/neato/etc. to do the
layout of a graph, and then use diagrams for the actual
visualisation...

-- 
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