Re: [Haskell-cafe] Re: fftw bindings

2007-04-20 Thread Fawzi Mohamed
Thanks to everybody for the answers, For the moment I think that I will try to slightly expand http://ofb.net/~wnoise/haskell/FFTW/ that was pointed out to me by Patrik Sellin with respect to Dan J. Bernstein's library http://cr.yp.to/djbfft.html I was not aware of it, but I would like to

[Haskell-cafe] fftw bindings

2007-04-19 Thread Fawzi Mohamed
Hi everybody, I was wondering if someone had fftw bindings for haskell, or if I should roll my own. I did a small search but found nothing. Fawzi ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org

Re: [Haskell-cafe] multithreading speedup

2007-04-14 Thread Fawzi Mohamed
Thanks again to the answers Stefan, Il giorno Apr 14, 2007, alle ore 1:41 AM, Stefan O'Rear ha scritto: On Sat, Apr 14, 2007 at 01:31:58AM +0200, Fawzi Mohamed wrote: Il giorno Apr 14, 2007, alle ore 12:33 AM, Stefan O'Rear ha scritto: On Sat, Apr 14, 2007 at 12:27:10AM +0200, Fawzi

Re: [Haskell-cafe] multithreading speedup

2007-04-14 Thread Fawzi Mohamed
Il giorno Apr 14, 2007, alle ore 2:45 PM, Sebastian Sylvan ha scritto: I think you should probably consider the extremely lightweight forkIO threads as your work items and the GHC runtime as your thread pool system (it will find out how many threads you want using the RTS options and

Re: [Haskell-cafe] Re: k-minima in Haskell

2007-04-13 Thread Fawzi Mohamed
For various reasons I had a similar problem that I solved iteratively simply with a sorted list of the actual best elements. The only particular things were 1. keep element count (to easily know if the element should be inserted in any case) 2. keep the list in reverse order to have the

[Haskell-cafe] multithreading speedup

2007-04-13 Thread Fawzi Mohamed
I was trying to speed up a program that I wrote and so I thought about using multiple threads. I have a quite easy parallel program and I did the following do subRes - MVar.newMVar [] putStrLn starting threads subV - flip mapM [0 .. (nThreads - 1)] $ ( \i - do

Re: [Haskell-cafe] multithreading speedup

2007-04-13 Thread Fawzi Mohamed
Il giorno Apr 14, 2007, alle ore 12:33 AM, Stefan O'Rear ha scritto: On Sat, Apr 14, 2007 at 12:27:10AM +0200, Fawzi Mohamed wrote: I was trying to speed up a program that I wrote and so I thought about using multiple threads. I have a quite easy parallel program and I did the following do

Re: [Haskell-cafe] QuickCheck's co-arbitrary

2007-04-04 Thread Fawzi Mohamed
Let's see, I am quite new to it, so this is a check to see if I understood the things correctly ;) Joel Reymont wrote: Folks, I understand that arbitrary defines the possible values. How do I generally come up with co-arbitrary, though? you need to change a generator depending on the value

Re: [Haskell-cafe] Re: QuickCheck: Arbitrary for a complex type

2007-04-04 Thread Fawzi Mohamed
Joel Reymont wrote: I got this simple example working so I think I have my question answered. Great, just one thing that could be important : when you have recursive structures (like your Statement through Compound) be sure to use sized (\mySize - ...) as generator for arbitrary so that you

Re: GADT + Newtype deriving = Erroneous errors

2007-03-29 Thread Fawzi Mohamed
Simon Peyton-Jones wrote: Generally speaking GHC will inline *across* modules just as much as it does *within* modules, with a single large exception. If GHC sees that a function 'f' is called just once, it inlines it regardless of how big 'f' is. But once 'f' is exported, GHC can never

cost of modules

2007-03-29 Thread Fawzi Mohamed
woops sorry for the previous post, the subject was wrong... this one is correct. Simon Peyton-Jones wrote: Generally speaking GHC will inline *across* modules just as much as it does *within* modules, with a single large exception. If GHC sees that a function 'f' is called just once, it

inter module optimizations

2007-03-28 Thread Fawzi Mohamed
I had posted some data on inter-module optimizations that I had calculated when splitting my program from one computational module to many different ones. Tim Chevalier suggested that my calculation could be interesting to the people here. So I made the effort of preparing the various

Re: inter module optimizations

2007-03-28 Thread Fawzi Mohamed
Donald Bruce Stewart wrote: [..] To really understand what is going on, I suggest looking at the -ddump-simpl output as you change the inlining settings. Then you'll see how GHC is moving code about. -- Don (who's spent the last 2 weeks playing the simplifer/inliner game) Thanks, but

[Haskell-cafe] cost of modules

2007-03-27 Thread Fawzi Mohamed
I decided to cleanup my program by splitting it in different modules. As I was curious about the cost of splitting it, or dually the efficiency of the intermodule optimization I timed it before and after the split. These are the results (ghc-6.6.20070129 on Linux AMD64): Original: 3 Modules

Re: [Haskell-cafe] cost of modules

2007-03-27 Thread Fawzi Mohamed
Thanks ! Il giorno Mar 28, 2007, alle ore 12:04 AM, Tim Chevalier ha scritto: On 3/27/07, Jeremy Shaw [EMAIL PROTECTED] wrote: At Tue, 27 Mar 2007 23:10:21 +0200, Fawzi Mohamed wrote: If someone has an idea on how else I can improve timings please tell me. I believe you are seeing

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-20 Thread Fawzi Mohamed
oops, I realized now that my answer did not go to the list. For the record here is it: Thanks to everybody for the answers and to Henning Thielemann for the useful links: http://haskell.org/haskellwiki/Qualified_names http://haskell.org/haskellwiki/Category:Style I agree with apfelmus

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-20 Thread Fawzi Mohamed
Bulat Ziganshin wrote: Hello Fawzi, Monday, March 19, 2007, 8:26:33 PM, you wrote: Maybe I did not express me clearly enough, I think that classes are useful (and the language that I was speaking of, aldor, has them), but it is not nice that the only way to have an overloaded function is

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-20 Thread Fawzi Mohamed
David House wrote: On 19/03/07, Fawzi Mohamed [EMAIL PROTECTED] wrote: Vectors don't act like numbers, a vector space is not a field, even if they have some common operations. As I said in my previous email, this is because Num is too big. We need to split it down, but there's no sane way

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-20 Thread Fawzi Mohamed
Bulat Ziganshin wrote: Hello Fawzi, Tuesday, March 20, 2007, 1:47:48 PM, you wrote: That was the reason that is spoke of aldor ( http://www.aldor.com ), as ehm http://www.aldor.org it has type inference, but yes indeed this makes type inference much more difficult and undefined in

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-20 Thread Fawzi Mohamed
Bulat Ziganshin wrote: Hello Fawzi, Tuesday, March 20, 2007, 5:37:45 PM, you wrote: ambiguous function call at line xxx. Possible instances are: f: Int - String - Double - a f: String - Int - [Int] - a please explicitly annotate the type to disambiguate Note that you

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-19 Thread Fawzi Mohamed
Thanks for the long answer David, David House wrote: On 17/03/07, Fawzi Mohamed [EMAIL PROTECTED] wrote: [...] Surely within a group of related types there'd be no overlapping names anyway? yes, but I found out that I would have an overlap with functions that I wanted to use and function I

Re: [Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-19 Thread Fawzi Mohamed
David House wrote: On 19/03/07, Fawzi Mohamed [EMAIL PROTECTED] wrote: This is is very ugly in my opinion, because for me a type class should represent something more than just a way to overload, is something is not a number then it should not have the class Num. Num is a collection of types

[Haskell-cafe] what I learnt from my first serious haskell programm

2007-03-17 Thread Fawzi Mohamed
Hi everybody, I came to haskell recently (one month) and I have now written my first serious program. I am still busy improving it, but here is a small report of what I learned and and my impressions of the language. I found no show stoppers, but a couple of things that I didn't like much. *

Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-27 Thread Fawzi Mohamed
I think that we should follow the advice of Kristen Chevalier, and redirect this discussion to haskell-cafe Fawzi On Feb 27, 2007, at 1:59 PM, Sven Panne wrote: On Tuesday 27 February 2007 13:44, Andrzej Jaworski wrote: I have learned logic from much deeper sources;-) My statement was: Guys

[Haskell-cafe] Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-27 Thread Fawzi Mohamed
On Feb 27, 2007, at 1:59 PM, Sven Panne wrote: On Tuesday 27 February 2007 13:44, Andrzej Jaworski wrote: I have learned logic from much deeper sources;-) My statement was: Guys started in Haskell and got to conclusion that for performance reasons it is better to move to C. The guys know

[Haskell-cafe] Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-27 Thread Fawzi Mohamed
On Feb 27, 2007, at 3:51 PM, Andrzej Jaworski wrote: [...] Nevertheless my point is still valid: when on compiler side the heap is stretched and on program side you need Ockham's Razor in action Haskell chokes. I hoped at least to stimulate interest in repeating GP experiment with latest

Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-26 Thread Fawzi Mohamed
I am new to haskell, but I find your assertions surprising, given that from my experience the really performance critical code is little, and the reset can be even interpreted. As far as I know C/C++ or similar are not really that advanced with respect to whole program optimization (not much

Re: [Haskell] [Fwd: Re: Computer Language Shootout]

2007-02-26 Thread Fawzi Mohamed
Thanks for the answers Bulat and Andrzej, so it seems that I was a little to naive, I think that I have understood what Andrzej wanted to say, but I still don't buy it all. With google I could find only something on Algebraic Dynamic Programming (links to the others?), there they went from

[Haskell-cafe] haskell and releasing resources

2007-02-06 Thread Fawzi Mohamed
I am just coming to haskell, and I wrote a simple command to get some input from a pdf file I just wanted the output of the command so I did something like import System.Process (runInteractiveCommand) import IO (hGetContents) -- | returns the text of the first page of the pdf at the given

Re: [Haskell-cafe] haskell and releasing resources

2007-02-06 Thread Fawzi Mohamed
[...] Wait for the process to terminate, using waitForProcess pid Thanks fro the prompt response Don, I should have said it, but I knew about waitForProcess pid but I did not want to use it. The reason is the following, if I do getTextOfPdf pdfPath = do (inp,out,err,pid) -

Re: [Haskell-cafe] haskell and releasing resources

2007-02-06 Thread Fawzi Mohamed
one cannot assume that the garbage collector will reclaim all the resources and one has to call a special function to ensure it. Fawzi On Feb 6, 2007, at 2:38 PM, Fawzi Mohamed wrote: I am just coming to haskell, and I wrote a simple command to get some input from a pdf file I just wanted

Re: [Haskell-cafe] haskell and releasing resources

2007-02-06 Thread Fawzi Mohamed
On Feb 6, 2007, at 8:39 PM, David Waern wrote: Wait for the process to terminate, using waitForProcess pid I've a sketch for a nice wrapper for the low level process code here, http://www.cse.unsw.edu.au/~dons/code/newpopen/ What's missing? I'd like to use it, but I don't like