[Haskell-cafe] Re: Laws and partial values

2009-01-24 Thread Henning Thielemann
On Sat, 24 Jan 2009, Thomas Davie wrote: On 24 Jan 2009, at 21:31, Dan Doel wrote: For integers, is _|_ equal to 0? 1? 2? ... Hypothetically (as it's already been pointed out that this is not the case in Haskell), _|_ in the integers would not be known, until it became more defined. I'm

Re: [Haskell-cafe] Re: Laws and partial values

2009-01-24 Thread Henning Thielemann
On Sat, 24 Jan 2009, Thomas Davie wrote: I'm not sure why you're saying that this semantics does not capture non-termination – the only change is that computations resulting in the unit type *can't* non terminate, because we can always optimize them down to (). Of course, if you want to be

[Haskell-cafe] mapM_ - Monoid.Monad.map

2009-01-23 Thread Henning Thielemann
I always considered the monad functions with names ending on '_' a concession to the IO monad. Would you need them for any other monad than IO? For self-written monads you would certainly use a monoid instead of monadic action, all returning (), but IO is a monad. (You could however wrap

Re: [Haskell-cafe] Pure Haskell implementation of Float type?

2009-01-22 Thread Henning Thielemann
Lennart Augustsson schrieb: There's the numbers package which contains BigFloat. You can pick your own precision, but it's not IEEE. It's actually base 10 floats which makes it more fun (actually, the iEEE standard will cover base 10 floats in the future). Actually, all of the arbitrary

Re: [Haskell-cafe] Elevator pitch for functional programming

2009-01-20 Thread Henning Thielemann
Jim Burton schrieb: Well, I might but they definitely do not :-) We are talking about some maths-averse people and you would not have got to the final syllable of 'fibonacci' before all hope was lost. But I am sure there are plenty of examples that rely on laziness which will communicate. I

Re: [Haskell-cafe] Comments from OCaml Hacker Brian Hurt

2009-01-20 Thread Henning Thielemann
On Thu, 15 Jan 2009, John Goerzen wrote: One thing that does annoy me about Haskell- naming. Say you've noticed a common pattern, a lot of data structures are similar to the difference list I described above, in that they have an empty state and the ability to append things onto the end.

Re: [Haskell-cafe] Comments from OCaml Hacker Brian Hurt

2009-01-20 Thread Henning Thielemann
John Goerzen schrieb: Though if all we're talking about is naming, I would still maintain that newbie-friendly naming is a win. We can always say HEY MATHEMETICIANS: APPENDABLE MEANS MONOID in the haddock docs ;-) We already have a problem with this: Haskell 98 uses intuitive names for the

Re: [Haskell-cafe] Re: Comments from OCaml Hacker Brian Hurt

2009-01-20 Thread Henning Thielemann
Apfelmus, Heinrich schrieb: Obviously, those who know what a monoid is have already invested years of time practicing mathematics while those that even attack the name monoid clearly lack this practice. It's like peano virtuosoes compared to beginning keyboard pressers. Aren't all Haskellers

Re: Improved documentation for Bool (Was: [Haskell-cafe] Comments from OCaml Hacker Brian Hurt)

2009-01-20 Thread Henning Thielemann
rocon...@theorem.ca schrieb: On Sun, 18 Jan 2009, Ross Paterson wrote: Anyone can check out the darcs repos for the libraries, and post suggested improvements to the documentation to librar...@haskell.org (though you have to subscribe). It doesn't even have to be a patch. Sure, it could

Re: [Haskell-cafe] ANNOUNCE: Coadjute 0.0.1, generic build tool

2009-01-18 Thread Henning Thielemann
Matti Niemenmaa schrieb: Announcing the release of Coadjute, version 0.0.1! Web site: http://iki.fi/matti.niemenmaa/coadjute/ Hackage: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Coadjute Coadjute is a generic build tool, intended as an easier to use and more portable

[Haskell-cafe] Re: ANNOUNCE: Coadjute 0.0.1, generic build tool

2009-01-18 Thread Henning Thielemann
Matti Niemenmaa schrieb: Anyway, hake looks interesting but it's not a replacement for Coadjute; and neither is Coadjute for hake. To be completely honest I'm not sure what use case hake is meant to solve: how does it improve over plain make? It seems to be programmable, and thus may better

Re: [Haskell-cafe] ANN: HTTPbis / HTTP-4000.x package available

2009-01-16 Thread Henning Thielemann
On Thu, 15 Jan 2009, Sigbjorn Finne wrote: I guess it's time to publish more widely the availability of a modernization of the venerable and trusted HTTP package, which I've been working on offon for a while. I was always afraid that a fork may happen during I work on HTTP in order to get

Re: [Haskell-cafe] Open unqualified imports

2009-01-16 Thread Henning Thielemann
On Fri, 16 Jan 2009, eyal.lo...@gmail.com wrote: I believe that the last type, open-unqualified is a really bad idea, and should be discouraged or even disallowed. It should definitely not be the default, like it is today. You are not alone:

Re: [Haskell-cafe] Open unqualified imports

2009-01-16 Thread Henning Thielemann
On Fri, 16 Jan 2009, eyal.lo...@gmail.com wrote: import qualified Control.Monad as M M.for M.map and so on. http://haskell.org/haskellwiki/Qualified_names ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org

Re: [Haskell-cafe] ANN: HTTPbis / HTTP-4000.x package available

2009-01-16 Thread Henning Thielemann
On Fri, 16 Jan 2009, Sigbjorn Finne wrote: gain access to www.haskell.org and update http://www.haskell.org/http, so for now you may pick up a new version the lib via http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTTP GIT repo for HTTP-4000 / HTTPbis is here

Re: [Haskell-cafe] F# active patterns versus GHC's view

2009-01-16 Thread Henning Thielemann
On Fri, 16 Jan 2009, John Van Enk wrote: 2009/1/16 Peter Verswyvelen bugf...@gmail.com [...] After a while you decide that you need to change the Bla data type, maybe give Dog more fields, maybe completely redesign it, maybe not exposing it, but you want to keep existing code backwards

Re: [Haskell-cafe] ANN: HTTPbis / HTTP-4000.x package available

2009-01-16 Thread Henning Thielemann
On Thu, 15 Jan 2009, Sigbjorn Finne wrote: I guess it's time to publish more widely the availability of a modernization of the venerable and trusted HTTP package, which I've been working on offon for a while. Bunch of changes, but the headline new feature of this new version is the

Re: [Haskell-cafe] ANN: HTTPbis / HTTP-4000.x package available

2009-01-16 Thread Henning Thielemann
Sigbjorn Finne schrieb: Hi Levi, I'm guessing that you are reading something different into that than what's intended - it's client-side in the sense that it can only issue web requests and handle their responses. i.e., it doesn't handle incoming HTTP requests and issue suitable

Re: [Haskell-cafe] ANN: HTTPbis / HTTP-4000.x package available

2009-01-16 Thread Henning Thielemann
Don Stewart schrieb: lemming: On Thu, 15 Jan 2009, Sigbjorn Finne wrote: I guess it's time to publish more widely the availability of a modernization of the venerable and trusted HTTP package, which I've been working on offon for a while. I was always afraid that a fork may happen during

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-15 Thread Henning Thielemann
On Sun, 11 Jan 2009, Neil Mitchell wrote: I am pleased to announce HLint version 1.2. HLint is a lint-like tool for Haskell that detects and suggests improvements for your code. HLint is compatible with most GHC extensions, and supports a wide variety of suggestions, and can be extended with

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-15 Thread Henning Thielemann
On Thu, 15 Jan 2009, Neil Mitchell wrote: Hi Henning, To install: cabal update cabal install hlint Fails for me, because of the base-4 dependency. - I'm still using GHC-6.8.2. Can HLint suggest view-pattern-free expressions, such that the program also runs on GHC-6.8 ? :-) HLint is

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-15 Thread Henning Thielemann
On Thu, 15 Jan 2009, Neil Mitchell wrote: Hi My question was, whether HLint can help translating HLint to code without view patterns. Ah, I misunderstood. Yes, it could (in theory), but it can't automatically apply the hints it generates. Upgrading to GHC 6.10 is probably easier :-) Also

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-15 Thread Henning Thielemann
On Thu, 15 Jan 2009, Neil Mitchell wrote: I normally develop in Hugs, for a change I wanted to try GHCi. It's also a project that has loads of pattern matching at a fairly complex level, so the benefits offered by view-patterns and pattern-guards were just too hard to pass up. Are you sure

Re: [Haskell-cafe] Maintaining laziness

2009-01-14 Thread Henning Thielemann
On Tue, 13 Jan 2009, Jan Christiansen wrote: I would be very interested in functions that can be improved with respect to non-strictness as test cases for my work. See the List functions in http://hackage.haskell.org/cgi-bin/hackage-scripts/package/utility-ht Version 0.0.1 was before

[Haskell-cafe] version conflict on Hackage

2009-01-12 Thread Henning Thielemann
I repeatedly encounter the following versioning problem on Hackage: There is a package A with version 1.0. I upload a package B which imports A. Thus B is bound to A-1.0 Now a new version of A is uploaded, say 1.0.1. then I upload package C which depends both on A and B. However C is bound to

Re: [Haskell-cafe] Maintaining laziness

2009-01-12 Thread Henning Thielemann
On Mon, 12 Jan 2009, Jan Christiansen wrote: Hi, Although it seems to be overkill for a single module - How about a cabalized version on Hackage and a darcs repository? It would simplify using and updating it. I am not sure whether this would be a good idea. The original version makes a

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-12 Thread Henning Thielemann
On Mon, 12 Jan 2009, Duncan Coutts wrote: On Mon, 2009-01-12 at 01:02 +0100, Lennart Augustsson wrote: Does GHC specialize map? If it doesn't, then hand crafted version could be faster. No because the current definition are recursive and ghc cannot inline recursive functions. map :: (a -

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-12 Thread Henning Thielemann
On Mon, 12 Jan 2009, Neil Mitchell wrote: Hi No because the current definition are recursive and ghc cannot inline recursive functions. map :: (a - b) - [a] - [b] map f = go where go [] = [] go (x:xs) = f x : go xs Then the map can be inlined at the call site and the 'f' inlined

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-12 Thread Henning Thielemann
On Mon, 12 Jan 2009, Robin Green wrote: I tend to use Control.Monad.Fix.fix (which actually has nothing to do with monads, despite the package name) That's why it is also available from Data.Function now: http://www.haskell.org/ghc/docs/latest/html/libraries/base/Data-Function.html

[Haskell-cafe] Re: [Haskell] HaskellWiki Upgrade Aborted

2009-01-12 Thread Henning Thielemann
On Sun, 11 Jan 2009, Duncan Coutts wrote: We really need to upgrade the whole thing. Not an easy job given the range of stuff being run on there by lots of different people. Btw. is there a simple way to download all the Wiki content? ___

Re: [Haskell-cafe] unfoldr [ANN: HLint 1.2]

2009-01-12 Thread Henning Thielemann
On Mon, 12 Jan 2009, Andrew Coppin wrote: Off the top of my head, try this: convert b 0 = [] convert b n = n `mod` b : convert b (n `div` b) (Takes a number and yields the radix-B representation of it. Backwards.) convert b = unfoldr (\n - if n 0 then Just (n `mod` b, n `div` b) else

Re: [Haskell-cafe] Monads aren't evil? I think they are.

2009-01-12 Thread Henning Thielemann
Apfelmus, Heinrich schrieb: Ertugrul Soeylemez wrote: Let me tell you that usually 90% of my code is monadic and there is really nothing wrong with that. I use especially State monads and StateT transformers very often, because they are convenient and are just a clean combinator frontend to

Re: [Haskell-cafe] Re: Monads aren't evil? I think they are.

2009-01-12 Thread Henning Thielemann
Ertugrul Soeylemez schrieb: Apfelmus, Heinrich apfel...@quantentunnel.de wrote: The insistence on avoiding monads by experienced Haskellers, in particular on avoiding the IO monad, is motivated by the quest for elegance. The IO and other monads make it easy to fall back to imperative

Re: [Haskell-cafe] ANN: HLint 1.2

2009-01-11 Thread Henning Thielemann
On Sun, 11 Jan 2009, Neil Mitchell wrote: HLint will automatically detect if you should have used a map, a foldr or a foldl and suggest how to change your code. In the GHC, darcs and Hoogle code bases there are no obvious map-like functions, which is a good sign :-) I found so many 'map'

Re: [Haskell-cafe] ANN: Haskell BLAS bindings version 0.7

2009-01-10 Thread Henning Thielemann
Patrick Perry schrieb: The reason I want to expose modules but hide the documentation is because there are a lot of unsafeX functions I want to provide access to, but which 99% of users don't care about. The array library does the same thing. Alternatively, the DEPRECATED pragma may prevent

[Haskell-cafe] Syntactic Sugar (Was: Monads aren't evil)

2009-01-10 Thread Henning Thielemann
Peter Verswyvelen schrieb: Related to this issue, I have a question here. I might be wrong, but it seems to me that some Haskellers don't like writing monads (with do notation) or arrows (with proc sugar) because of the fact they have to abandon the typical applicative syntax, which is so

[Haskell-cafe] Infix expressions (Was: Monads aren't evil)

2009-01-10 Thread Henning Thielemann
Peter Verswyvelen schrieb: Now, for binary operators, Thomas Davie made a nice pair of combinators on Hackage (InfixApplicative) that would allow this to become: h3 x = f x ^(+)^ g x http://www.haskell.org/haskellwiki/Infix_expressions ___

[Haskell-cafe] advanced class constraints in Haskell 98?

2009-01-08 Thread Henning Thielemann
GHC accepts a class declaration like class Monad (m Maybe) = C m where ... without having any language extension switched on. But it isn't Haskell 98, is it? Hugs 2005 also accepts this. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org

Re: [Haskell-cafe] advanced class constraints in Haskell 98?

2009-01-08 Thread Henning Thielemann
On Fri, 9 Jan 2009, Miguel Mitrofanov wrote: On 8 Jan 2009, at 23:59, Henning Thielemann wrote: GHC accepts a class declaration like class Monad (m Maybe) = C m where ... without having any language extension switched on. But it isn't Haskell 98, is it? It is. From Report

Re: [Haskell-cafe] advanced class constraints in Haskell 98?

2009-01-08 Thread Henning Thielemann
On Thu, 8 Jan 2009, Henning Thielemann wrote: On Fri, 9 Jan 2009, Miguel Mitrofanov wrote: On 8 Jan 2009, at 23:59, Henning Thielemann wrote: GHC accepts a class declaration like class Monad (m Maybe) = C m where ... without having any language extension switched on. But it isn't

Re: [Haskell-cafe] Re: Hypothetical Haskell job in New York

2009-01-08 Thread Henning Thielemann
On Thu, 8 Jan 2009, Manlio Perillo wrote: Personally, I only know http://hpaste.org/, based on Server: HAppS/0.8.4 I'm using a modified HWS for the parallel webs, e.g. the Real Monad Transformer: http://www.haskell.org.monadtransformer.parallelnetz.de/haskellwiki/Category:Monad However,

Re: [Haskell-cafe] Re: Haskell not ready for Foo [was: Re: Hypothetical Haskell job in New York]

2009-01-08 Thread Henning Thielemann
On Thu, 8 Jan 2009, Bardur Arantsson wrote: Thanks. For some reason I hadn't thought to use (fromIntegral x)::PortNumber I guess I got stuck on the idea of constructing a PortNum directly and didn't think beyond that. (Maybe PortNum should really be an abstract type to force indirect

Re: [Haskell-cafe] Staged evaluation, names?

2009-01-08 Thread Henning Thielemann
wren ng thornton schrieb: Every now and then I find myself in the position where I'd like to define some hairy value as a CAF instead of a literal, but I'd like for it to be fully evaluated at compile-time rather than postponed until runtime. It'd be possible to bludgeon the CPP into doing

Re: [Haskell-cafe] advanced class constraints in Haskell 98?

2009-01-08 Thread Henning Thielemann
On Fri, 9 Jan 2009, Miguel Mitrofanov wrote: On 9 Jan 2009, at 02:47, Ross Paterson wrote: On Thu, Jan 08, 2009 at 10:27:59PM +0100, Henning Thielemann wrote: A nice. I jumped into 4.3 and found scontext - simpleclass | (simpleclass_1, ..., simpleclass_n) simpleclass - qtycls tyvar

Re: [Haskell-cafe] Taking Exception to Exceptions

2009-01-08 Thread Henning Thielemann
Immanuel Litzroth schrieb: Anyway, there is one more problem I have related to exceptions that is about forcing strictness. It relates to option parsing. I have an option -t that says which track from a file of tracks to print. So I go data Flags = TrackNumber !Int deriving(Read, Show, Eq)

Re: [Haskell-cafe] advanced class constraints in Haskell 98?

2009-01-08 Thread Henning Thielemann
On Fri, 9 Jan 2009, Ross Paterson wrote: On Fri, Jan 09, 2009 at 01:11:12AM +0100, Henning Thielemann wrote: Maybe the report is not complete? I mean, the current behaviour of Hugs and GHC (as I observed it) is more consistent, and maybe that's what the designers had in mind. I'm puzzled

Re: [Haskell-cafe] Maintaining laziness

2009-01-07 Thread Henning Thielemann
On Wed, 7 Jan 2009, Jan Christiansen wrote: The non least strict definition of (*) is taken from the module Data.Number.Natural which was published by Lennart Augustsson in the numbers package at hackage. I mention this here because I think it clearly shows that it is even hard for

Re: [Haskell-cafe] Maintaining laziness

2009-01-07 Thread Henning Thielemann
On Wed, 7 Jan 2009, Jan Christiansen wrote: This is great. I am working on the very same topic for quite a while now. My aim is to develop a tool that tells you whether a function is least strict. My work is based on an idea by Olaf Chitil: http://www.cs.kent.ac.uk/people/staff/oc/

Re: [Haskell-cafe] Maintaining laziness

2009-01-07 Thread Henning Thielemann
On Wed, 7 Jan 2009, Henning Thielemann wrote: On Wed, 7 Jan 2009, Jan Christiansen wrote: This is great. I am working on the very same topic for quite a while now. My aim is to develop a tool that tells you whether a function is least strict. My work is based on an idea by Olaf Chitil

Re: [Haskell-cafe] Template Haskell question

2009-01-06 Thread Henning Thielemann
Jeff Heard schrieb: Alright... I *think* I'm nearly there, but I can't figure out how to derive a class instance using record accessors and updaters... Has this something to do with http://hackage.haskell.org/cgi-bin/hackage-scripts/package/data-accessor-template ?

Re: [Haskell-cafe] Portability of MonadError

2009-01-05 Thread Henning Thielemann
On Mon, 5 Jan 2009, Luke Palmer wrote: Oh bother!  My new year's resolution: think before I speak. While I do think this is the right answer, it is not the right answer in the status quo.  This is because ErrorT e m is only a monad when e is an Error, which Either (and most types) are not.  

Re: [Haskell-cafe] unsafeInterleaveIO respecting order of actions

2009-01-04 Thread Henning Thielemann
On Sat, 3 Jan 2009, Henning Thielemann wrote: I think I now have general Applicative functionality ... I hope the following is a proper Monad implementation. In contrast to Applicative a Writer for sequencing actions does no longer work, instead I need a State monad. newtype LazyIO

Re: [Haskell-cafe] unsafeInterleaveIO respecting order of actions

2009-01-03 Thread Henning Thielemann
On Thu, 1 Jan 2009, Brandon S. Allbery KF8NH wrote: On 2009 Jan 1, at 16:44, Henning Thielemann wrote: If it is generally possible to use unsafeInterleaveIO such that it executes actions in the right order, wouldn't this allow the definition of a general lazy IO monad? I thought

Re: [Haskell-cafe] databases in Haskell type-safety

2009-01-03 Thread Henning Thielemann
Gour schrieb: Hi! I'd like to use sqlite3 as application storage in my haskell project... Browsing the available database options in Haskell it seems that: a) HSQL is dead (hackage reports build-failure with 6.8 6.10) No, it is maintained by frede...@ofb.net . I have also contributed

Re: [Haskell-cafe] unsafeInterleaveIO respecting order of actions

2009-01-03 Thread Henning Thielemann
On Sat, 3 Jan 2009, Henning Thielemann wrote: On Thu, 1 Jan 2009, Brandon S. Allbery KF8NH wrote: On 2009 Jan 1, at 16:44, Henning Thielemann wrote: If it is generally possible to use unsafeInterleaveIO such that it executes actions in the right order, wouldn't this allow the definition

Re: [Haskell-cafe] Use of abbreviations in Haskell

2009-01-02 Thread Henning Thielemann
Miguel Mitrofanov schrieb: module Element where import QName import ... data Element = Element {name :: QName, attribs :: [Attr], content :: [Content], line :: Maybe Line} module Attr where import QName import ... data Attr = Attr {key :: QName, val :: String} module QName where

Re: [Haskell-cafe] How do we decide on the new logo?

2009-01-02 Thread Henning Thielemann
Fritz Ruehr schrieb: Without starting a war on the theory of voting systems, perhaps we should use a system which allows for a certain amount of secondary (etc.) preference to be expressed? Give everyone 10 points and let every voter assign these points to his favorite logos, where it is

Re: [Haskell-cafe] Re: How do we decide on the new logo?

2009-01-02 Thread Henning Thielemann
Achim Schneider schrieb: Step 2: Determine the winner by polling preferences, same-level preference (ambivalence) allowed (eg. place 1 for logos C and D, place 2 for A and place 3 for B) We recently had to vote for the new design of our university's website. This was done by asking every

[Haskell-cafe] unsafeInterleaveIO respecting order of actions

2009-01-01 Thread Henning Thielemann
I think I have a very similar problem to the currently discussed WriterT [w] IO is not lazy in reading [w]. I want to defer IO actions, until they are needed, but they shall be executed in order. If I call unsafeInterleaveIO, they can be executed in any order. I understand that hGetContents does

Re: [Haskell-cafe] [ANN] Haskell web server + wiki: salvia-0.0.4 + orchid-0.0.6

2009-01-01 Thread Henning Thielemann
Judah Jacobson schrieb: On Thu, Jan 1, 2009 at 10:39 AM, Sebastiaan Visser sfvis...@cs.uu.nl wrote: On Jan 1, 2009, at 7:15 PM, Gwern Branwen wrote: On Thu, Jan 1, 2009 at 9:04 AM, Sebastiaan Visser wrote: Happy new year, you all! I'm pleased to announce three new packages on Hackage: ...

Re: [Haskell-cafe] [ANN] Haskell web server + wiki: salvia-0.0.4 + orchid-0.0.6

2009-01-01 Thread Henning Thielemann
Sebastiaan Visser schrieb: Happy new year, you all! I'm pleased to announce three new packages on Hackage: * salvia-0.0.4: A lightweight modular web server framework. Is it based on Simon Marlow's HWS, like mohws on Hackage? Does it support HTTPS?

Re: [Haskell-cafe] Re: unsafeInterleaveIO respecting order of actions

2009-01-01 Thread Henning Thielemann
On Fri, 2 Jan 2009, Achim Schneider wrote: Henning Thielemann schlepp...@henning-thielemann.de wrote: If it is generally possible to use unsafeInterleaveIO such that it executes actions in the right order, wouldn't this allow the definition of a general lazy IO monad? The question is what

Re: [Haskell-cafe] Don't make 'show*' functions

2008-12-30 Thread Henning Thielemann
wren ng thornton schrieb: Thomas DuBuisson wrote: Jeff Heard proclaimed: There are multiple distinct reasons people use Show, and this gets confusing. This is exactly what I was getting at. I see four uses being discussed: Indeed, though I think the situation is even worse. It seems to

Re: [Haskell-cafe] Function composition

2008-12-30 Thread Henning Thielemann
On Mon, 29 Dec 2008, Martijn van Steenbergen wrote: Conal Elliott wrote: If you think of f (here f=not) as an semantic editor (transformer) of values, then 'result', 'first', and 'second' are semantic editor combinators, which can be composed together arbitrarily. See

Re: [Haskell-cafe] Re: instance Enum [Char] where ...

2008-12-30 Thread Henning Thielemann
Justin Goguen schrieb: My purpose is to have operations such as [aa..bc] be possible, with its result being [aa, ab, ac ..snip.. ba, bb, bc] ... what do you want to get, if the lengths of the start and the end string do not match? Maybe what you are after is the Ix class: Prelude

Re: [Haskell-cafe] Gitit - Encoding

2008-12-30 Thread Henning Thielemann
On Tue, 30 Dec 2008, Arnaud Bailly wrote: Hello, I have started using Gitit and I am very happy with it and eager to start hacking. I am running into a practical problem: characters encoding. When I edit pages using accented characters (I am french), the accents get mangled when the page come

Re: [Haskell-cafe] Function composition

2008-12-29 Thread Henning Thielemann
Luke Palmer schrieb: 2008/12/26 Oscar Picasso oscarpica...@gmail.com mailto:oscarpica...@gmail.com Hi, I can write: *Main let yes = not . not *Main :t yes yes :: Bool - Bool But not: *Main let isNotEqual = not . (==) The definition of (.): f . g =

[Haskell-cafe] Maintaining laziness

2008-12-29 Thread Henning Thielemann
In case someone cares - after some battles with functions that are less lazy than expected, I have written a tutorial on how to get functions lazy and how to test, whether they are actually lazy: http://www.haskell.org/haskellwiki/Maintaining_laziness I found it especially enlightening,

Re: [Haskell-cafe] Maintaining laziness

2008-12-29 Thread Henning Thielemann
Jake McArthur schrieb: Henning Thielemann wrote: I found it especially enlightening, that one can avoid a 'force' function in a lazy parser by making the possibility of a parser failure explicit in its type. I.e. a parser that cannot fail, need no 'force'. (I learnt that in polyparse

Re: [Haskell-cafe] Maintaining laziness

2008-12-29 Thread Henning Thielemann
Miguel Mitrofanov schrieb: Seems useful. BTW, why on earth should inits undefined be undefined instead of []:undefined? I mean, come on, we all know that inits anything starts with []! I don't know the reason, but I have added this example to that article.

Re: [Haskell-cafe] Infinite grid

2008-12-29 Thread Henning Thielemann
Martijn van Steenbergen schrieb: Hello, I would like to construct an infinite two-dimensional grid of nodes, where a node looks like this: data Node = Node { north :: Node , east :: Node , south :: Node , west :: Node } in such a way that for every node n in the grid it

Re: [Haskell-cafe] Don't make 'show*' functions

2008-12-26 Thread Henning Thielemann
On Fri, 26 Dec 2008, Thomas DuBuisson wrote: Hello cafe, This is just a small thought, but its been bugging me.  We have these things called type classes for a reason (I like to think).  When making a new data type 'Data', it is not productive to avoid type classes such as 'Show' and export

Re: [Haskell-cafe] Don't make 'show*' functions

2008-12-26 Thread Henning Thielemann
On Fri, 26 Dec 2008, Jeff Heard wrote: I don't think that making Show a type class was a mistake. I think that we have long since overloaded the meaning of Show and made it ambiguous. There are multiple distinct reasons people use Show, and this gets confusing. It would be good if we as a

[Haskell-cafe] Hackage packages for indexing by Google

2008-12-25 Thread Henning Thielemann
When testing the ShowMeta parallel web: http://hackage.haskell.org.showmeta.parallelnetz.de/packages/archive/pkg-list.html I found, that all HackageDB pages forbid crawling and indexing. Actually, the content of this page is dynamic - but it changes only incrementally. It would be very

Re: [Haskell-cafe] understanding enumerator/iteratee

2008-12-23 Thread Henning Thielemann
Jason Dusek schrieb: I'm taking a stab at composable streams, starting with cursors. I managed to make a derived cursor today -- as I work through this stuff, I hope to understand Iteratee/Enumerator better. How about a wiki page on the roles of enumerators and iteratees, best

Re: [Haskell-cafe] understanding enumerator/iteratee

2008-12-23 Thread Henning Thielemann
Jason Dusek schrieb: Henning Thielemann schlepp...@henning-thielemann.de wrote: Jason Dusek schrieb: I'm taking a stab at composable streams, starting with cursors. I managed to make a derived cursor today -- as I work through this stuff, I hope to understand Iteratee/Enumerator better. How

Re: [Haskell-cafe] Comparing on multiple criteria

2008-12-23 Thread Henning Thielemann
David Menendez schrieb: On Sun, Dec 21, 2008 at 11:20 AM, Jan-Willem Maessen jmaes...@alum.mit.edu wrote: On Dec 21, 2008, at 8:52 AM, Martijn van Steenbergen wrote: Hello all, Data.Ord has a handy function called comparing, and its documentation shows an example of its use. But what if

Re: [Haskell-cafe] Defining a containing function on polymorphic list

2008-12-23 Thread Henning Thielemann
Andrew Wagner schrieb: The problem here is even slightly deeper than you might realize. For example, what if you have a list of functions. How do you compare two functions to each other to see if they're equal? There is no good way really to do it! So, not only is == not completely

Re: [Haskell-cafe] monad constraint + record update

2008-12-23 Thread Henning Thielemann
Brent Yorgey schrieb: On Mon, Dec 22, 2008 at 06:19:07PM +0100, Peter Padawitz wrote: I'd like to define a monad Set for types in the class Eq. But how can the arguments of Set be constrained when Set is defined as an instance of Monad? instance Eq a = Monad Set where ... obviously cannot

Re: Fwd: [Haskell-cafe] Haskell as a religion

2008-12-18 Thread Henning Thielemann
Alberto G. Corona schrieb: But many features need other features. For example, the option to use referential transparency will be common in future languages for multicore programming purposes. This creates the problem of separating side-effect-free code from side-effect code. In C/C++

Re: [Haskell-cafe] Time for a new logo? - Haskell logo as a stamp!

2008-12-16 Thread Henning Thielemann
On Mon, 15 Dec 2008, Henning Thielemann wrote: On Mon, 15 Dec 2008, Don Stewart wrote: And anyone who does a version, place put it on the wiki. It'll be lost if you only post to the list. I propose we gather submissions and vote on the best for a new logo in 2009. Whatever logo someone

Re: [Haskell-cafe] Time for a new logo?

2008-12-15 Thread Henning Thielemann
On Sun, 14 Dec 2008, Don Stewart wrote: I noticed a new haskell logo idea on a tshirt today, http://image.spreadshirt.net/image-server/image/configuration/13215127/producttypecolor/2/type/png Simple, clean and *pure*. Instead of the we got lots going on of the current logo. Call me

Re: [Haskell-cafe] Time for a new logo? - Haskell logo as a stamp!

2008-12-15 Thread Henning Thielemann
On Mon, 15 Dec 2008, Don Stewart wrote: And anyone who does a version, place put it on the wiki. It'll be lost if you only post to the list. I propose we gather submissions and vote on the best for a new logo in 2009. Whatever logo someone prefers: I have written a program using HPDF which

[Haskell-cafe] efficient combination of foldl' and foldr - foldl'r

2008-12-05 Thread Henning Thielemann
I want to do a foldl' and a foldr in parallel on a list. I assumed it would be no good idea to run foldl' and foldr separately, because then the input list must be stored completely between the calls of foldl' and foldr. I wanted to be clever and implemented a routine which does foldl' and

Re: [Haskell-cafe] How to define Show [MyType] ?

2008-12-05 Thread Henning Thielemann
Jules Bean schrieb: Dmitri O.Kondratiev wrote: I am trying to define instance Show[MyType] so show (x:xs :: MyType) would return a single string where substrings corresponding to list elements will be separated by \n. This would allow pretty printing of MyType list in several lines instead

Re: [Haskell-cafe] efficient combination of foldl' and foldr - foldl'r

2008-12-05 Thread Henning Thielemann
On Fri, 5 Dec 2008, Ryan Ingram wrote: You're testing the interpreted code, so it's not surprising that the naive version performs better; the interpretive overhead only applies to your bit of glue code. I wanted to avoid the optimizer to do clever things itself. Alternatively, at least

Re: [Haskell-cafe] Cabal

2008-12-01 Thread Henning Thielemann
On Sun, 30 Nov 2008, Duncan Coutts wrote: On Sun, 2008-11-30 at 21:14 +0100, Henning Thielemann wrote: On Sun, 30 Nov 2008, Don Stewart wrote: lemming: Maybe you like to add a pointer in cabal-install.cabal/Homepage field to this page. Good idea. Duncan? After I finished that article

Re: [Haskell-cafe] Combining licences

2008-12-01 Thread Henning Thielemann
On Mon, 1 Dec 2008, Emil Axelsson wrote: Or perhaps it's better to put the cell library in its own package? I'm a bit reluctant to do this, because it means that Wired will be essentially useless on its own. It's more the question, whether a Haskell wrapper to the cell library is useful on

Re: [Haskell-cafe] Cabal

2008-11-30 Thread Henning Thielemann
On Sun, 30 Nov 2008, Don Stewart wrote: *if* .. *might* .. *assuming* .. *potentially* .. *maybe* .. *if*.. You could have built it by now! Source: http://hackage.haskell.org/packages/archive/cabal-install/0.6.0/cabal-install-0.6.0.tar.gz Dependencies that aren't in core:

Re: [Haskell-cafe] Cabal

2008-11-30 Thread Henning Thielemann
On Sun, 30 Nov 2008, Don Stewart wrote: lemming: Maybe you like to add a pointer in cabal-install.cabal/Homepage field to this page. Good idea. Duncan? After I finished that article, I also found: http://hackage.haskell.org/trac/hackage/wiki/CabalInstall

Re: [Haskell-cafe] Extensible Exceptions

2008-11-29 Thread Henning Thielemann
On Sun, 23 Nov 2008, Duncan Coutts wrote: On Sun, 2008-11-23 at 01:40 +0100, Henning Thielemann wrote: On Sat, 22 Nov 2008, Thomas Schilling wrote: It's a pattern match error, implemented by throwing an asynchronous exception. The idea being, that we only have one mechanism (well

[Haskell-cafe] Re: Go Haskell! - array libraries

2008-11-28 Thread Henning Thielemann
On Fri, 28 Nov 2008, Simon Marlow wrote: Manuel M T Chakravarty wrote: Claus Reinke: What do those folks working on parallel Haskell arrays think about the sequential Haskell array baseline performance? You won't like the answer. We are not happy with the existing array infrastructure

Re: [Haskell-cafe] Re: Go Haskell!

2008-11-28 Thread Henning Thielemann
On Fri, 28 Nov 2008, Johan Tibell wrote: On Fri, Nov 28, 2008 at 10:04 AM, Simon Marlow [EMAIL PROTECTED] wrote: So we have two vector libraries, vector and uvector, which have a lot in common - they are both single-dimension array types that support unboxed instances and have list-like

Re: [Haskell-cafe] Extensible Exceptions

2008-11-22 Thread Henning Thielemann
On Sat, 22 Nov 2008, Thomas Schilling wrote: Be careful, though. This only works if there's a single constructor for your exception type. If there are multiple, you should write it like this: thing_to_try `catch` \(e :: MyErrorType) - case e of MyError1 _ - ..; MyError2 _ - ... If you

Re: [Haskell-cafe] Extensible Exceptions

2008-11-22 Thread Henning Thielemann
On Sat, 22 Nov 2008, Thomas Schilling wrote: It's a pattern match error, implemented by throwing an asynchronous exception. The idea being, that we only have one mechanism (well, an synchronous exceptions, thrown via throwIO). Yes, I know that there's a difference between error and

Re: [Haskell-cafe] varargs zip

2008-11-21 Thread Henning Thielemann
On Fri, 21 Nov 2008, Jason Dusek wrote: It came up on IRC last night that there is no generic zip in Haskell. I decided to write one as an example, but it only half works. I think that the ZipList type for Applicative functors is a solution.

Re: [Haskell-cafe] Pattern matching on numbers?

2008-11-18 Thread Henning Thielemann
On Tue, 18 Nov 2008, Ryan Ingram wrote: How does this work? fac n = case n of 0 - 1 _ - n * fac (n-1) ghci :t fac fac :: (Num t) = t - t The first line of fac pattern matches on 0. So how does this work over any value of the Num typeclass? I know that the 1 on the rhs of fac are

[Haskell-cafe] Re: OpenGL - OGL

2008-11-17 Thread Henning Thielemann
On Sun, 16 Nov 2008, Neal Alexander wrote: Brent Yorgey wrote: --- ANN: OpenGL with extra type safety. Neal Alexander Hopefully the code will be uploaded to Hackage as a separate package soon.

Re: [Haskell-cafe] What *not* to use Haskell for

2008-11-14 Thread Henning Thielemann
Dan Piponi schrieb: Real time audio applications are top of my list of crazy projects I would work on if I had a month spare. I think it might work out nicely. My approach wouldn't be to talk directly to audio hardware from Haskell but instead use a framework like Lava to generate low level

[Haskell] The Real Monad Transformer or is Haskell.org hijacked?

2008-11-12 Thread Henning Thielemann
On Tue, 3 Apr 2007, Henning Thielemann wrote: It was argued that people avoid Haskell because of terms from Category theory like 'Monad'. This problem can now be solved by a wrapper which presents all the WWW without monads! Start e.g. at http://saxophone.jpberlin.de/MonadTransformer?source

<    5   6   7   8   9   10   11   12   13   14   >