Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Alexander Solla
On Mar 17, 2010, at 10:27 PM, Darrin Chandler wrote: Let's go back to your original code: data Point = Cartesian (Cartesian_coord, Cartesian_coord) | Spherical (Latitude, Longitude) type Center = Point type Radius = Float data Shape = Circle Center Radius

[Haskell-cafe] searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Paul Brauner
Hi, I was looking at hoogle documentation when I remembered that there is some nice, but quite unusable, feature of squeak (smalltalk) which allows you to search function in the library by giving a list of pairs of inputs/ouputs. When I'm saying that it is quite unusable, I mean that squeak has

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Stephen Tetley
On 18 March 2010 05:48, Brandon S. Allbery KF8NH allb...@ece.cmu.edu wrote: They can be mixed only with significant effort.  And you can't really prevent it once your users know the magic of existential quantification; *but* those lists won't typecheck when passed to your routines expecting a

[Haskell-cafe] [Announcement] Fedora 12 rpms for leksah 0.8.0.1 now available

2010-03-18 Thread Lakshmi Narasimhan
Leksah - 0.8.0.1 rpms for Fedora 12 now available goog_1268906153764http://leksah.org/download.html About Leksah: *Leksah* is the Haskell IDE of choice. It is written in Haskell, uses Gtk, and runs on Linux, Windows and Mac OS X. Leksah is a practical tool to support the Haskell development

Re: [Haskell-cafe] Parsec to parse tree structures?

2010-03-18 Thread Stephen Tetley
hi wren Where I've used it, random access does seem conceptual more satisfactory than trying to avoid it. Well designed binary formats are deterministic - so wherever you are inside the file you should know what you are parsing. One example of this determinism is that parsing local alternatives

Re: [Haskell-cafe] [Announcement] Fedora 12 rpms for leksah 0.8.0.1 now available

2010-03-18 Thread Ivan Lazar Miljenovic
Lakshmi Narasimhan lakshminaras2...@gmail.com writes: *Leksah* is the Haskell IDE of choice. Is it? Really? Whilst some people might find it great to have a Haskell-oriented IDE (even better to have it written in Haskell), that kind of a statement demands proof IMHO. I for one don't recall

Re: [Haskell-cafe] How to improve its performance ?

2010-03-18 Thread Ozgur Akgun
As Daniel pointed out earlier, this may be of a little bit of help: http://haskell.org/ghc/docs/latest/html/libraries/base-4.2.0.0/src/Data-List.html#subsequences On 18 March 2010 04:03, Alexander Solla a...@2piix.com wrote: On Mar 17, 2010, at 8:33 PM, zaxis wrote: `allPairs list =

[Haskell-cafe] Call for community volunteers

2010-03-18 Thread Malcolm Wallace
As you may know, community.haskell.org (also hosting code.h.o, trac.h.o, etc) exists as a resource to enable Haskellers to publish and collaborate on open source projects. The current admin team for this virtual host finds itself with a lack of time (and occasionally expertise) to maintain

[Haskell-cafe] Re: searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Janis Voigtländer
Paul Brauner schrieb: Hi, I was looking at hoogle documentation when I remembered that there is some nice, but quite unusable, feature of squeak (smalltalk) which allows you to search function in the library by giving a list of pairs of inputs/ouputs. When I'm saying that it is quite unusable,

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Tillmann Rendel
Darrin Chandler wrote: data Point = Cartesian (Cartesian_coord, Cartesian_coord) | Spherical (Latitude, Longitude) type Center = Point type Radius = Float data Shape = Circle Center Radius | Polygon [Point] This obviously stinks since a Polygon could

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Ozgur Akgun
I was just reading through the discussion, and Tillmann, your reply is one of the best written descriptions I've ever seen here. (or even in any other mail list!) Of course, I see many good replies here, but they almost always turn out to be irrelevant to the original question. Yours on the other

Re: [Haskell-cafe] searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Jonas Almström Duregård
Sounds great! Here are a few feature requests: The I/O pair ([-1,4,-6],[1,4,6]) could yield map abs as a suggestion :) The pairs ('a',False) and ('*',True) could yield not . isAlpha etc. I realize that this (at least the composition part) will probably increase complexity beyond what's

Re: [Haskell-cafe] searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Tillmann Rendel
Paul Brauner wrote: feature [...] to search function in the library by giving a list of pairs of inputs/ouputs. [...] But, piggibacking such a feature on top of hoogle would surely be more efficient: 1. infer types for arguments and outout 2. look for matching functions using google 3.

Re: [Haskell-cafe] Re: searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Paul Brauner
On Thu, Mar 18, 2010 at 01:49:20PM +0100, Janis Voigtländer wrote: Paul Brauner schrieb: Hi, I was looking at hoogle documentation when I remembered that there is some nice, but quite unusable, feature of squeak (smalltalk) which allows you to search function in the library by giving a list

[Haskell-cafe] explicit big lambdas

2010-03-18 Thread Paul Brauner
Hi again, is there a way in some haskell extension to explicit (system F's) big lambdas and (term Type) applications in order to help type inference? If not: is there a way to provide ghc directly with core code before the type checking phase? Paul

Re: [Haskell-cafe] How to improve its performance ?

2010-03-18 Thread Daniel Fischer
Am Donnerstag 18 März 2010 05:03:28 schrieb Alexander Solla: On Mar 17, 2010, at 8:33 PM, zaxis wrote: `allPairs list = [(x,y) | x - list, y - list] ` is not what `combination` does ! let allPairs list = [(x,y) | x - list, y - list] allPairs [1,2,3]

[Haskell-cafe] Happstack/Apache configuration problem

2010-03-18 Thread Maciej Podgurski
Hi, I'm not sure if this is the right place to ask because the problem may lay in my Apache or system configuration. I use the Apache proxy module to forward a HTTP request from port 80 to a Happstack application listening on port 8000 via `ProxyPass / http://localhost:8000/' on Windows XP.

Re: [Haskell-cafe] haskell platform questions

2010-03-18 Thread John Velman
I'm also on Mac Leopard. I tried installing ghc 6.12 with Haskell Platform 2009.2.9.2-i386.dmg (ghc 6.10.4) for some reason, and ran into a bunch of problems (problems to me, anyway). I ended up uninstalling 6.12 and reinstalling haskell platform. Uninstall is easy, there is an uninstaller

[Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Stefan Klinger
Hello! Nice, Parsec 3 comes with a monad transformer [1]. So I thought I could use IO as inner monad, and perform IO operations during parsing. But I failed. Monad transformers still bend my mind. My problem: I don't see a function to actually lift the IO operation into the ParsecT. It should be

Re: [Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Gregory Collins
Stefan Klinger all-li...@stefan-klinger.de writes: Hello! Nice, Parsec 3 comes with a monad transformer [1]. So I thought I could use IO as inner monad, and perform IO operations during parsing. But I failed. Monad transformers still bend my mind. My problem: I don't see a function to

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Darrin Chandler
Thanks to those who responded. Solutions that didn't work for my specific case still taught me more about expressing things in the Haskell type system. And... this particular response is extremely well written and useful. You've made the issues involved very clear and understandable. I really

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Job Vranish
A phantom type might do what you want: -- notice the type parameter on point that isn't used in the type data Point a = Cartesian (Cartesian_coord, Cartesian_coord) | Spherical (Latitude, Longitude) -- make some dummy types data SphericalP data CartesianP --make some

Re: [Haskell-cafe] explicit big lambdas

2010-03-18 Thread Max Bolingbroke
Hi Paul, You should be able to introduce \Lambda at the source level by writing a type signature with an explicit forall. Similarly you can then instantiate these \Lambdas by using a type signature which is an instance of the foralled type at the use site: ~~~ -- id will get a \Lambda in Core id

Re: [Haskell-cafe] How to improve its performance ?

2010-03-18 Thread Daniel Fischer
Am Donnerstag 18 März 2010 04:29:53 schrieb zaxis: The time is wasted to run combination even if use `combination (x:xs) = concat [(x:ys), ys] | ys - combination xs] ' instead. in ghci combination [1..20] will wait for a long time ... Hm, really? Prelude :set +s

Re: [Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Luke Palmer
On Thu, Mar 18, 2010 at 10:37 AM, Stefan Klinger all-li...@stefan-klinger.de wrote: Hello! Nice, Parsec 3 comes with a monad transformer [1]. So I thought I could use IO as inner monad, and perform IO operations during parsing. But I failed. Monad transformers still bend my mind. My problem:

Re: [Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Stefan Klinger
On 18 March 2010, Gregory Collins wrote with possible deletions: ParsecT has a MonadIO instance: class Monad m = MonadIO m where liftIO :: IO a - m a Thank you! I didn't see this. Great! Kind regards, Stefan -- Stefan Klinger o/klettern

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread John Meacham
On Wed, Mar 17, 2010 at 09:20:49PM -0700, Darrin Chandler wrote: data Point= Cartesian (Cartesian_coord, Cartesian_coord) | Spherical (Latitude, Longitude) Just a quick unrelated note, though you are probably aware of this, doing data Foo = Foo (X,Y) means something subtly

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Luke Palmer
On Thu, Mar 18, 2010 at 12:17 PM, John Meacham j...@repetae.net wrote: On Wed, Mar 17, 2010 at 09:20:49PM -0700, Darrin Chandler wrote: data Point    = Cartesian (Cartesian_coord, Cartesian_coord)               | Spherical (Latitude, Longitude) Just a quick unrelated note, though you are

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread John Meacham
On Wed, Mar 17, 2010 at 09:20:49PM -0700, Darrin Chandler wrote: Trying to get up to speed in Haskell, I'm playing with doing some abstraction in data types. Specifically, I have this: type Cartesian_coord = Float type Latitude = Float type Longitude = Float data Point= Cartesian

[Haskell-cafe] little help please

2010-03-18 Thread Roderick Ford
this will be EASY for you to fix, I am sure... what the heck am I doing wrong: import System.Environment(getArgs)import System.Process(readProcessWithExitCode)import System.Exit(exitWith) main = do args - getArgs (ecode,out,err) - readProcessWithExitCode c:\\Perl64\\bin\\perl.exe

Re: [Haskell-cafe] little help please

2010-03-18 Thread Nicolas Wu
This compiles: import System.Environment(getArgs) import System.Process(readProcessWithExitCode) import System.Exit(exitWith,ExitCode(ExitSuccess)) main = do args - getArgs (ecode,out,err) - readProcessWithExitCode c:\\Perl64\\bin\\perl.exe (C:\\Program Files\\MySQL\\scripts\\mysql_config.pl

[Haskell-cafe] Performance question

2010-03-18 Thread Arnoldo Muller
Hello! I am trying to implement a binary search function that returns the index of an exact or the (index + 1) where the item should be inserted in an array if the item to be searched is not found (I am not trying to insert data in the array) . Right now, the bottleneck of my program is in

RE: [Haskell-cafe] little help please

2010-03-18 Thread Roderick Ford
Yes, THANKS!! But my other problem was, that once I get it to compile, I get nothing output: C:\Program Files\MySQL\binghc --make -o mysql_config.exe main.hs[1 of 1] Compiling Main ( main.hs, main.o )Linking mysql_config.exe ... C:\Program Files\MySQL\binmysql_config --libs

Re: [Haskell-cafe] Performance question

2010-03-18 Thread Daniel Fischer
Am Donnerstag 18 März 2010 19:59:33 schrieb Arnoldo Muller: Hello! I am trying to implement a binary search function that returns the index of an exact or the (index + 1) where the item should be inserted in an array if the item to be searched is not found (I am not trying to insert data in

[Haskell-cafe] hdbc-mysql on windows

2010-03-18 Thread Roderick Ford
Hello, In order to build (cabal install HDBC-mysql) the HDBC-mysql package, I am having to make the following changes: (1) I had to change the mysql (5.1.45 community distrib msi) to use a wrapper exe on the mysql_config.pl and put this in c:\program files\mysql\bin since although the

Re: [Haskell-cafe] Performance question

2010-03-18 Thread Daniel Fischer
Am Donnerstag 18 März 2010 20:49:30 schrieb Daniel Fischer: Am Donnerstag 18 März 2010 19:59:33 schrieb Arnoldo Muller: Hello! I am trying to implement a binary search function that returns the index of an exact or the (index + 1) where the item should be inserted in an array if the

Re: [Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Job Vranish
Hoogle is a great tool for finding haskell functions: http://www.haskell.org/hoogle/ You can punch in the type of a function you want and it will give you a list of functions that might do what you need. Generalizing the types a bit usually helps. Searching for either m a - n m a or IO a -

Re: [Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Andrew Coppin
Job Vranish wrote: Hoogle is a great tool for finding haskell functions: http://www.haskell.org/hoogle/ You can punch in the type of a function you want and it will give you a list of functions that might do what you need. Generalizing the types a bit usually helps. Searching for either m a

Re: [Haskell-cafe] Performance question

2010-03-18 Thread Andrew Coppin
Daniel Fischer wrote: If it's called often, and the arrays are 0-based and Int-indexed, import Data.Array.Base (unsafeAt) and replacing ! with `unsafeAt` should give a speed-up, though probably not terribly much. If you don't need the polymorphism and your array elements are unboxable, using

[Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Simon Marlow
On 17/03/10 21:30, Daniel Fischer wrote: Am Mittwoch 17 März 2010 19:49:57 schrieb Artyom Kazak: Hello! I tried to implement the parallel Monte-Carlo method of computing Pi number, using two cores: move But it uses only on core: snip We see that our one spark is pruned. Why? Well, the

Re: [Haskell-cafe] Performance question

2010-03-18 Thread Daniel Fischer
Am Donnerstag 18 März 2010 21:57:34 schrieb Daniel Fischer: Contrary to my expectations, however, using unboxed arrays is slower than straight arrays (in my tests). However, a few {-# SPECIALISE #-} pragmas set the record straight. Specialising speeds up both, boxed and unboxed arrays,

Re: [Haskell-cafe] Parsec monad transformer with IO?

2010-03-18 Thread Stephen Tetley
On 18 March 2010 21:34, Andrew Coppin andrewcop...@btinternet.com wrote: Is there a tool anywhere which can figure out how to construct a function with a specific type signature? Hoogle works if the thing you seek is a single function, but not so much if you need to throw several functions

Re: [Haskell-cafe] Performance question

2010-03-18 Thread Roman Leshchinskiy
On 19/03/2010, at 08:48, Daniel Fischer wrote: Am Donnerstag 18 März 2010 21:57:34 schrieb Daniel Fischer: Contrary to my expectations, however, using unboxed arrays is slower than straight arrays (in my tests). However, a few {-# SPECIALISE #-} pragmas set the record straight. This is

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

2010-03-18 Thread Keith Sheppard
Hi, I think that Turbinado is no longer active since the author is leaving Haskell (unless someone will adopt it) http://www.alsonkemp.com/haskell/reflections-on-leaving-haskell/ -Keith On Wed, Mar 17, 2010 at 5:25 PM, Hugo Gomes mr.hugo.go...@gmail.com wrote: There is also turbinado. Im not

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

2010-03-18 Thread Don Stewart
z_axis: 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

Re: [Haskell-cafe] Performance question

2010-03-18 Thread Andrey Sisoyev
Right now, the bottleneck of my program is in binarySearch', the function must be called a few billion times. Do you have any ideas on how to improve the performance of this function? Bast solution for speeding up is to write it in assembler! Ragards, Andrey -- View this message in context:

Re: [Haskell-cafe] Alternative dependencies in Cabal file

2010-03-18 Thread Henning Thielemann
Matthias Reisner schrieb: Thanks, I missed that the flags are set dynamically if a dependency cannot be satisfied. Only cabal-install does this, plain Cabal only takes flags that were set by the user. ___ Haskell-Cafe mailing list

Re: [Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Erik de Castro Lopo
Daniel Fischer wrote: 3.06GHz Pentium 4, 2 cores. Do you have more info on that? Try: grep 'model name' /proc/cpuinfo The original Pentium 4 (eg Intel(R) Pentium(R) 4 CPU 3.00GHz) had hyperthreading which was actually pretty pathetic for parallelism. The Core 2 Duos (eg Intel(R)

Re: [Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Daniel Fischer
Am Freitag 19 März 2010 00:56:15 schrieb Erik de Castro Lopo: Daniel Fischer wrote: 3.06GHz Pentium 4, 2 cores. Do you have more info on that? Try: grep 'model name' /proc/cpuinfo Well, $ cat /proc/cpuinfo processor : 0

Re: [Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Xiao-Yong Jin
On Fri, 19 Mar 2010 01:22:58 +0100, Daniel Fischer wrote: core id : 0 cpu cores : 1 It is one of those pathetic single core pentium4 with so called hyper-threading enabled. You should have checked the intel product spreadsheet before investing such an old cpu. -- Jc/*

Re: [Haskell-cafe] How to improve its performance ?

2010-03-18 Thread zaxis
%cat Test.hs module Test(mcombs) where import Data.List mcombs = foldr (flip (=) . f) [[]] where f x xs = [x:xs,xs] %ghc -c -O2 Test.hs %ghci :l Test Ok, modules loaded: Test. :set +s length $ mcombs [1..20] 1048576 (0.06 secs, 56099528 bytes) length $ mcombs [1..50] ^CInterrupted.

Re: [Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Daniel Fischer
Am Freitag 19 März 2010 02:25:47 schrieb Xiao-Yong Jin: On Fri, 19 Mar 2010 01:22:58 +0100, Daniel Fischer wrote: core id : 0 cpu cores : 1 It is one of those pathetic single core pentium4 with so called hyper-threading enabled. 'kay, but why does it say processor : 0

Re: [Haskell-cafe] How to improve its performance ?

2010-03-18 Thread Daniel Fischer
Am Freitag 19 März 2010 02:56:36 schrieb zaxis: %cat Test.hs module Test(mcombs) where import Data.List mcombs = foldr (flip (=) . f) [[]] where f x xs = [x:xs,xs] %ghc -c -O2 Test.hs %ghci :l Test Ok, modules loaded: Test. :set +s length $ mcombs [1..20] 1048576 (0.06 secs,

Re: [Haskell-cafe] Parsec to parse tree structures?

2010-03-18 Thread wren ng thornton
Stephen Tetley wrote: hi wren Where I've used it, random access does seem conceptual more satisfactory than trying to avoid it. I was thinking more about performance issues (avoiding disk seeks) which would also alleviate the problem of needing random access when it's not available. For

Re: [Haskell-cafe] Parsec to parse tree structures?

2010-03-18 Thread Jason Dagit
On Sun, Mar 14, 2010 at 9:03 AM, david fries d...@gmx.ch wrote: Hello Café Some time ago I wrote a parser for a project of one our customers. The format was proprietary and binary. The data was structured as a tree with tables pointing to sub tables farther in the file. (Well actually there

Re: [Haskell-cafe] explicit big lambdas

2010-03-18 Thread Nicolas Frisby
Alternatively: let f :: some type involving a f = ... f' :: a - some type involving a f' _ = f in f' (undefined :: Int) normal f arguments On Thu, Mar 18, 2010 at 12:10 PM, Max Bolingbroke batterseapo...@hotmail.com wrote: Hi Paul, You should be able to introduce \Lambda at the

Re: [Haskell-cafe] searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Richard O'Keefe
On Mar 18, 2010, at 9:13 PM, Paul Brauner wrote: Hi, I was looking at hoogle documentation when I remembered that there is some nice, but quite unusable, feature of squeak (smalltalk) which allows you to search function in the library by giving a list of pairs of inputs/ouputs. The

Re: [Haskell-cafe] searching a function by providing examples of input/ouput pairs

2010-03-18 Thread Reid Barton
On Thu, Mar 18, 2010 at 09:13:40AM +0100, Paul Brauner wrote: Hi, I was looking at hoogle documentation when I remembered that there is some nice, but quite unusable, feature of squeak (smalltalk) which allows you to search function in the library by giving a list of pairs of inputs/ouputs.

Re: [Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Erik de Castro Lopo
Daniel Fischer wrote: Am Freitag 19 März 2010 02:25:47 schrieb Xiao-Yong Jin: It is one of those pathetic single core pentium4 with so called hyper-threading enabled. 'kay, but why does it say processor : 0 ... processor : 1 Hyperthreading is explained here:

[Haskell-cafe] Why does `flip` cause function type so different ?

2010-03-18 Thread zaxis
let f x xs = [x:xs,xs] :t f f :: a - [a] - [[a]] :t (=) .f (=) .f :: a - ([[a]] - [a] - b) - [a] - b :t (flip (=) .f) (flip (=) .f) :: a - [[a]] - [[a]] Why is the type of `(=) .f` and `flip (=) .f` so different ? Sincerely! - fac n = let { f = foldr (*) 1 [1..n] } in f -- View

Re: [Haskell-cafe] Re: Parallel Pi

2010-03-18 Thread Daniel Fischer
Am Freitag 19 März 2010 04:24:21 schrieb Erik de Castro Lopo: Daniel Fischer wrote: Am Freitag 19 März 2010 02:25:47 schrieb Xiao-Yong Jin: It is one of those pathetic single core pentium4 with so called hyper-threading enabled. 'kay, but why does it say processor : 0 ...

Re: [Haskell-cafe] Why does `flip` cause function type so different ?

2010-03-18 Thread Ivan Miljenovic
Hint: look at the type of flip... Also, there's a haskell-beginners mailing list. You may wish to post there rather than asking us every question you get whilst learning Haskell. On 19 March 2010 14:34, zaxis z_a...@163.com wrote: let f x xs = [x:xs,xs] :t  f f :: a - [a] - [[a]] :t  (=) .f

[Haskell-cafe] Re: Why does `flip` cause function type so different ?

2010-03-18 Thread Maciej Piechotka
On Thu, 2010-03-18 at 20:34 -0700, zaxis wrote: let f x xs = [x:xs,xs] :t f f :: a - [a] - [[a]] :t (=) .f (=) .f :: a - ([[a]] - [a] - b) - [a] - b Hmm. You seems to have defined Monad ((-) a). (=) . f == \x - (=) (f x) == \x - (f x =) 1. x :: ∀ a. a from type of f 2. f :: ∀ a. a -

[Haskell-cafe] ANNOUNCE: direct-fastcgi 1.0

2010-03-18 Thread Dan Knapp
Yay! This was a week of hard work. I hope that somebody finds it valuable. This package is a native implementation of the FastCGI protocol, allowing Haskell to work with any webserver that supports it. It makes no attempt to imitate the interface of the cgi-3000 and fastcgi-3000 packages,

Re: [Haskell-cafe] Why does `flip` cause function type so different ?

2010-03-18 Thread Daniel Fischer
Am Freitag 19 März 2010 04:34:53 schrieb zaxis: let f x xs = [x:xs,xs] :t f f :: a - [a] - [[a]] :t (=) .f (=) .f :: a - ([[a]] - [a] - b) - [a] - b :t (flip (=) .f) (flip (=) .f) :: a - [[a]] - [[a]] Why is the type of `(=) .f` and `flip (=) .f` so different ? Because the

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

2010-03-18 Thread 国平张
Sorry to bother again. I just cannot figure out how it could compile. I got compile errors. Can someone point out what is right code to use a do notion to make a Parser works. Thanks in advance. newtype

Re: [Haskell-cafe] Abstraction in data types

2010-03-18 Thread Brandon S. Allbery KF8NH
Only one small nit here: On Mar 18, 2010, at 09:58 , Tillmann Rendel wrote: And we express Point as a GADT using Spherical and Cartesian as follows. data Point i = Cartesian :: Cartesian_coord - Cartesian_coord - Point Cartesian | Spherical :: Latitude - Longitude - Point Spherical

Re: [Haskell-cafe] little help please

2010-03-18 Thread Brandon S. Allbery KF8NH
On Mar 18, 2010, at 15:14 , Roderick Ford wrote: ... so, it looks like I am handling the IO wrong, or else I go directly to the exitWith instead of returning the IO from return. So, I suppose this is normal behavior, but how do you do BOTH. I guess I should actually be printing the output

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

2010-03-18 Thread Michael Snoyman
This looks very interesting, I look forward to checking it out. Implementing FastCGI has always seemed too daunting a task to undertake; I salute you. Are you familiar with the wai package? If so, do you believe your package is amenable to either itself adapting the wai, or having a wrapper built