Re: [Haskell-cafe] [ANNOUNCE] First Public Release of the Snap Framework

2010-05-22 Thread Chris Eidhof
Awesome! Congratulations on the first release, I look forward to working with it. Also, the web design is great, possibly the best designed Haskell library website I've seen so far. -chris On 22 mei 2010, at 07:25, Gregory Collins wrote: Hello all, To coincide with Hac Phi 2010

[Haskell-cafe] Re: Proof question -- (==) over Bool

2010-05-22 Thread Maciej Piechotka
On Sat, 2010-05-22 at 00:15 +, R J wrote: I'm trying to prove that (==) is reflexive, symmetric, and transitive over the Bools, given this definition: (==) :: Bool - Bool - Bool x == y = (x y) || (not x not y) My question is: are the

[Haskell-cafe] Re: Proof question -- (==) over Bool

2010-05-22 Thread Jon Fairbairn
R J rj248...@hotmail.com writes: I'm trying to prove that (==) is reflexive, symmetric, and transitive over the Bools, given this definition: (==):: Bool - Bool - Bool x == y = (x y) || (not x not y) Since Bool is a type, and all Haskell types include ⊥, you need to add conditions in

[Haskell-cafe] cabal problem on OS X

2010-05-22 Thread Bill Atkins
When I run cabal update on my Mac (Snow Leopard, Intel), I get: % cabal update Downloading the latest package list from hackage.haskell.org cabal: Codec.Compression.Zlib: incompatible zlib version Anyone else seeing this? Reinstalling the Haskell Platform hasn't helped. Thanks!

Re: [Haskell-cafe] cabal problem on OS X

2010-05-22 Thread Ivan Lazar Miljenovic
Bill Atkins watk...@alum.rpi.edu writes: When I run cabal update on my Mac (Snow Leopard, Intel), I get: % cabal update Downloading the latest package list from hackage.haskell.org cabal: Codec.Compression.Zlib: incompatible zlib version I'm going to randomly guess that the version of the C

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Ozgur Akgun
Richard, I found this very annoying when I first realised GHC doesn't do any CSE, given that the result of pure functions only depend on their parameters. Even though CSE usually sounds good, when you ask, they go and find obscure examples in which it causes great trouble :) I think, there

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Michael Lesniak
Hello, Even though CSE usually sounds good, when you ask, they go and find obscure examples in which it causes great trouble :) Do you (or others) have any particular mean but understandable example? Cheers, Michael ___ Haskell-Cafe mailing list

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Ivan Lazar Miljenovic
Michael Lesniak mlesn...@uni-kassel.de writes: Even though CSE usually sounds good, when you ask, they go and find obscure examples in which it causes great trouble :) Do you (or others) have any particular mean but understandable example?

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Michael Lesniak
Hello, http://www.haskell.org/haskellwiki/GHC:FAQ#Does_GHC_do_common_subexpression_elimination.3F All hail Google! :p You're right :D. Thanks! - Michael -- Dipl.-Inf. Michael C. Lesniak University of Kassel Programming Languages / Methodologies Research Group Department of Computer Science

[Haskell-cafe] Re: Existentials and SYB [Was: GADTs and Scrap your Boilerplate]

2010-05-22 Thread Oscar Finnsson
enDataI :: (Int - DataBox) enDataI = DataBox enDataB :: (Bool - DataBox) enDataB = DataBox instance Data DataBox where   gfoldl k z (DataBox d) = z DataBox `k` d   gunfold k z c = (if True then k (z enDataI) else k (z enDataB)) Interesting solution but I'm not smart enough to see how

Re: [Haskell-cafe] cabal problem on OS X

2010-05-22 Thread Chris Eidhof
I have a different problem (also after doing a cabal update): I get a bus error. I just created this ticket for it: http://hackage.haskell.org/trac/hackage/ticket/691 -chris On 22 mei 2010, at 13:20, Bill Atkins wrote: When I run cabal update on my Mac (Snow Leopard, Intel), I get: %

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Daniel Fischer
On Saturday 22 May 2010 15:00:25, Thomas Schilling wrote: Actually, in this case it would be safe to do CSS. Because a) the function is strict in both arguments so GHC creates a worker which only uses unboxed types b) this cannot cause any space leaks (it contains no pointers) The

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Daniel Fischer
On Saturday 22 May 2010 16:48:27, Daniel Fischer wrote: The boxing is due to the use of (^). If you write x*x instead of x^2, it can use the primop *## and needn't box it. As a side effect, the original time leak probably wouldn't have occured with x*x instead of x^2 because one would've made

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Brandon S. Allbery KF8NH
On May 22, 2010, at 08:30 , Ozgur Akgun wrote: Even though CSE usually sounds good, when you ask, they go and find obscure examples in which it causes great trouble :) They're not actually that obscure. Most of them can be summarized thusly: anything that would cause a fold to cause a

Re: [Haskell-cafe] Re: Proof question -- (==) over Bool

2010-05-22 Thread Alexander Solla
On May 22, 2010, at 1:32 AM, Jon Fairbairn wrote: Since Bool is a type, and all Haskell types include ⊥, you need to add conditions in your proofs to exclude it. Not really. Bottom isn't a value, so much as an expression for computations that don't refer to real values. It's close enough

Re: [Haskell-cafe] Performance Issue

2010-05-22 Thread Thomas Schilling
On 22 May 2010 16:06, Daniel Fischer daniel.is.fisc...@web.de wrote: On Saturday 22 May 2010 16:48:27, Daniel Fischer wrote: The boxing is due to the use of (^). If you write x*x instead of x^2, it can use the primop *## and needn't box it. As a side effect, the original time leak probably

Re: [Haskell-cafe] Re: Proof question -- (==) over Bool

2010-05-22 Thread Jonas Almström Duregård
Note that all (True ==) is logically equivalent to all id and to the and function from the prelude. A more general approach based on type classes, the function taut takes a boolean function and determines (by exhaustive search) if it is a tautology: class BooleanFunction a where taut :: a -

Re: [Haskell-cafe] [ANNOUNCE] First Public Release of the Snap Framework

2010-05-22 Thread Michael Snoyman
Congratulations on the release. I was interested in seeing how this would work as a WAI handler, and came across some questions: * I noticed that the Method datatype is restricted to a set of specific methods. Seeing as the list of methods can be expanded[1], why was this chosen? * The

Re: [Haskell-cafe] [ANNOUNCE] First Public Release of the Snap Framework

2010-05-22 Thread Gregory Collins
Michael Snoyman mich...@snoyman.com writes: Congratulations on the release. I was interested in seeing how this would work as a WAI handler, and came across some questions: * I noticed that the Method datatype is restricted to a set of specific methods. Seeing as the list of methods can be

Re: [Haskell-cafe] [ANNOUNCE] First Public Release of the Snap Framework

2010-05-22 Thread Michael Snoyman
On Sat, May 22, 2010 at 11:15 PM, Gregory Collins g...@gregorycollins.netwrote: Michael Snoyman mich...@snoyman.com writes: Congratulations on the release. I was interested in seeing how this would work as a WAI handler, and came across some questions: * I noticed that the Method

Re: [Haskell-cafe] [ANNOUNCE] First Public Release of the Snap Framework

2010-05-22 Thread Gregory Collins
Michael Snoyman mich...@snoyman.com writes: Would you accept:    ciToLower :: CIByteString - ByteString instead? I prefer opaque datatypes in general. We didn't see a need for that use-case, the idea was that the string representation would be the same but we

Re: [Haskell-cafe] ANN: has-0.4 Entity based records

2010-05-22 Thread HASHIMOTO, Yusaku
There are many libraries to write function takes an record has Foo and Bar and returns something. But writing type of the function is still difficult. I can't write such types using HList or records without reading documents. I think, using has, There's few effort to write such types. In

RE: [Haskell-cafe] making the GHC Api not write to stderr

2010-05-22 Thread Phyx
I did some more digging around and it would seem that the error was being printed from the load call (depanal does some parsing ofcourse to find the imports). I managed to silence that using loadWithLogger (const $ return ()) LoadAllTargets (maybe all these loggers should be consolidated).

[Haskell-cafe] How to construct a lazy list of eagerly-evaluated items?

2010-05-22 Thread Vladimir Ch.
I'm using Project Euler to learn Haskell. In particular, I'm writing a program for Problem 18: http://projecteuler.net/index.php?section=problemsid=18. As a solution, I'm constructing a list, containing maximum sums of values on a path from top of the triangle to a given item. In this list, item

RE: [Haskell-cafe] making the GHC Api not write to stderr

2010-05-22 Thread Phyx
Right, that modulename was being printed due to a trace statement in my code, so I’m now using withLocalCallbacks (\_ - GhcApiCallbacks (\_ _ - return ())) $ To override everything along with setting log_action to (\_ _ _ _ - return ()). Now nothing else gets printed J Thanks for all the

Re: [Haskell-cafe] How to construct a lazy list of eagerly-evaluated items?

2010-05-22 Thread Daniel Fischer
On Sunday 23 May 2010 01:10:54, Vladimir Ch. wrote: I'm using Project Euler to learn Haskell. In particular, I'm writing a program for Problem 18: snip The program works, but consumes obscene amount of memory. Not if it's compiled. Even interpreted I wouldn't call it obscene, though it is

Re: [Haskell-cafe] Proposal to solve Haskell's MPTC dilemma

2010-05-22 Thread Carlos Camarao
On 21 May 2010 01:58, Carlos Camarao carlos.cama...@gmail.com wrote: But this type-correct program would become not typeable if instances such as the ones referred to before (by Daniel Fischer) ... It seems that single param type classes enjoy a nice property: ... * Adding an instance to

Re: [Haskell-cafe] How to construct a lazy list of eagerly-evaluated items?

2010-05-22 Thread Vladimir Ch.
Not really. Your problem is that you calculate maxPaths vals over and over again in   where mpath i val = val + maximum [(maxPaths vals) !! pi| pi - prev i] ; the value isn't shared (it is, if compiled with optimisations). If you share the list by giving it a name, your programme becomes much

[Haskell-cafe] Mechanics of type-level proxies through branding?

2010-05-22 Thread Dave Neuer
Hi. I'm a Haskell newbie, and I've been reading Oleg's work about lightweight dependent types in Haskell, and I've been trying to figure out if I understand how branding works (warning bells already, I know). At http://okmij.org/ftp/Computation/lightweight-dependent-typing.html#Branding, he

Re: [Haskell-cafe] [ANNOUNCE] First Public Release of the Snap Framework

2010-05-22 Thread Michael Snoyman
On Sun, May 23, 2010 at 1:36 AM, Gregory Collins g...@gregorycollins.netwrote: Michael Snoyman mich...@snoyman.com writes: If the POST body has content-type application/x-www-form-urlencoded we parse it for you and put the fields in the parameter mapping. If this isn't your

[Haskell-cafe] Functional Parsers in GHCI

2010-05-22 Thread Amiruddin Nagri
Hi All, I am a newbie to Haskell, and have been using Programming in Haskell along with Eric Meijer videos covering the book syllabus. I am currently on Chapter 8 Functional Parsers, and trying to implement few of the examples given in the book. Following is the example : item = \inp - case inp

Re: [Haskell-cafe] Mechanics of type-level proxies through branding?

2010-05-22 Thread Derek Elkins
On Sat, May 22, 2010 at 8:36 PM, Dave Neuer dave.ne...@pobox.com wrote: Hi. I'm a Haskell newbie, and I've been reading Oleg's work about lightweight dependent types in Haskell, and I've been trying to figure out if I understand how branding works (warning bells already, I know). At