Re: [Haskell-cafe] Int is broken [Was: Different answers on different machines]
On Sun, Jun 2, 2013 at 11:02 PM, Tommy Thorn tt1...@yahoo.com wrote: On Jun 2, 2013, at 12:52 , Henry Laxen nadine.and.he...@pobox.com wrote: Yes, that was it. The dell was a 32 bit system, and the desktop a 64. I changed everything from Int to Integer, and now both agree. Thanks for the pointer. Isn't that just terrible? I hate the fact that Haskell was defined to neither trap the overflow or just treat everything as Integer [like Scheme]. A sacrifice of program safety in the name of efficiency. If you want to use Integer for everything, just do that. -- mithrandi, i Ainil en-Balandor, a faer Ambar ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How far compilers are allowed to go with optimizations?
On Mon, Feb 11, 2013 at 6:47 PM, Johan Holmquist holmi...@gmail.com wrote: By agressive optimisation I mean an optimisation that drastically reduces run-time performance of (some part of) the program. So I guess automatic vectorisation could fall into this term. Even something like running the program on a different CPU or different OS version can drastically improve or harm the performance of a particular program, without any change in the compiler itself. If you care about performance, the only real recourse is to have benchmarks / performance tests that verify the things you care about, and run them regularly in your target environment so that any performance-critical changes are noticed right away. -- mithrandi, i Ainil en-Balandor, a faer Ambar ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] GHCi + FFI + global C variables
On Tue, Dec 11, 2012 at 12:57 PM, Francisco Vieira de Souza vieira.u...@gmail.com wrote: Hi Simon! Is it not necessary to show the type of igraph_bool_t igraphhaskell_initialized like int igraph_bool_t igraphhaskell_initialized = 0? igraphhaskell_initialized is the name of the variable, igraph_boot_t is the type of the variable. -- mithrandi, i Ainil en-Balandor, a faer Ambar ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] How can I avoid buffered reads?
On 29 Nov 2012 12:27 PM, Leon Smith leon.p.sm...@gmail.com wrote: Well, I took Bardur's suggestion and avoided all the complexities of GHC's IO stack and simply used System.Posix.IO and Foreign.This appears to work, but for better or worse, it is using blocking calls to the read system call and is not integrated with GHC's IO manager. This shouldn't be an issue for my purposes, but I suppose it's worth pointing out. Reading from an fd corresponding to an actual file is always blocking. select() will always indicate that the fd is ready for reading and writing, and I think epoll() will refuse to operate on the fd at all. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Cabal install fails due to recent HUnit
On Aug 27, 2012 8:40 PM, Erik Hesselink hessel...@gmail.com wrote: The other question is how useful test suites in a released package are. Aren't they much more useful (and used more often) in source repositories? Having tests available in a released package allows one to verify that the software is functional in its current configuration / state on your system; this seems extremely useful to me. ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Is (==) commutative?
Forgot to copy the list. Sorry for the duplicates :( On Jul 24, 2012 1:35 PM, Tristan Seligmann mithra...@mithrandi.net wrote: On Jul 24, 2012 12:32 PM, Twan van Laarhoven twa...@gmail.com wrote: On 2012-07-24 10:10, Christian Sternagel wrote: Dear all, with respect to formal verification of Haskell code I was wondering whether (==) of the Eq class is intended to be commutative (for many classes such requirements are informally stated in their description, since Eq does not have such a statement, I'm asking here). Or are there any known cases where commutativity of (==) is violated (due to strictness issues)? Strictness plays no role for Eq, since to test for equality both sides will have to be fully evaluated. I don't think this is necessarily true. For example: (==) :: (Eq a) = Maybe a - Maybe a - Bool Nothing == Nothing = True Nothing == Just _ = False Just _ == Nothing = False Just x == Just y = x == y This particular example is still commutative, however (at least I think it is). ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Are there any female Haskellers?
On Mon, Mar 29, 2010 at 4:48 PM, Steve Schafer st...@fenestra.com wrote: On Sun, 28 Mar 2010 20:38:49 -0700, you wrote: * The difference between genders is smaller than the difference between individuals If only people would understand and accept the near-universality of this: The difference between any group you want to discriminate against and any group you want to discriminate in favor of is smaller than the difference between individuals. Oh, come now, near-universality? There are millions of obvious counter-examples. (For example, the difference in running ability between people who are paralyzed from the neck down, and people who aren't, should be readily apparent.) I like the spirit of your idea, but let's be realistic here. -- mithrandi, i Ainil en-Balandor, a faer Ambar ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Linguistic hair-splitting
On Sat, Jan 30, 2010 at 9:33 AM, Conal Elliott co...@conal.net wrote: I don't like this bias toward singling out Monad among all of the type classes, thereby perpetuating the misleading mystique surrounding Monad. If you're going to call [3,5,8] a monadic value, then please give equal time to other type classes by also calling [3,5,8] a functorial value (functorific?), an applicative value, a monoidal value, a foldable value (foldalicious?), a traversable value, a numeric value (see the applicative-numbers package), etc. Similarly when referring to values of other types that happen to be monads as well as other type classes. The thing is, you're not always referring to a concrete value. If you're discussing a value of type [Integer], then sure, you can call it a list of Integer; but what if you're discussing a value of type (Monad m) = m Integer, or even (Monad m) = m a? -- mithrandi, i Ainil en-Balandor, a faer Ambar ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: base-4 + gtk2hs-0.10.0 licensing
* Peter Verswyvelen bugf...@gmail.com [2009-02-25 23:15:24 +0100]: On Wed, Feb 25, 2009 at 11:02 PM, Peter Hercek pher...@gmail.com wrote: * An LGPL library will force commercial users to release their source code only to the users of their program (which already bought it) and only for the purpose of recompiling with a newer version of the LGPL library. Does this also mean one can't make closed source but *free* software that uses LGPL libs? Since all users can then potentially request the source code? E.g. suppose Google would have used LGPL libraries to implement parts of their search engine... Google doesn't distribute code or binaries for google.com, though (although there is the appliance stuff..) -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Re: Paper draft: Denotational design with type class morphisms
* Achim Schneider bars...@web.de [2009-02-20 15:17:14 +0100]: Conal Elliott co...@conal.net wrote: DRAFT version ___ comments please Conal, please, PLEASE, never, EVER again use the word meaning if you actually mean denotation. It confuses the hell out of me, especially the (I guess unintended) connotation that you analyse the meaning of a particular instance's existence on a cosmic scale. Please. These things have neither purpose in life nor has their life any meaning, they just bleeding denote things. The use of meaning in meaning of life is figurative / metaphorical, not literal; the literal meaning...uh...denotation is pretty much the same as what denotation means...uh...denotes. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Help needed with apache config for hackage
* Duncan Coutts duncan.cou...@worc.ox.ac.uk [2009-02-13 12:19:29 +]: Can we do that just for one user agent? I don't think we want to use non-standard stuff in general. Apparently Content-Disposition is not in the official HTTP spec, but IE is known to follow it. Well, it's mentioned in RFC 2616[1], and I'd expect it to just have no effect in any user agent that doesn't implement it, so this doesn't seem like a huge concern. [1] http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Switching from Mercurial to Darcs
* Henning Thielemann lemm...@henning-thielemann.de [2009-02-05 23:34:53 +0100]: Peter Verswyvelen schrieb: 3) hg addrem this adds new files and removes deleted files from local repos. forgetting to add files is a common problem, and is really tricky since no record is made of these files, so if after a couple of versions if a developer finds out a file was missing, the history is useless since you can't reconstruct the old content of that local file anymore, and often it's impossible to give the local file to the other developers since it might be changed. I actually would like to have an option that automatically adds/deletes files on each commit, as it is easier to delete a file after it is checked in, than it is to reconstruct an old version from a local file you forgot to add. I'm also not glad with darcs behaviour about non-added files. You can try darcs whatsnew --look-for-adds You can also pass --look-for-adds (-l) to darcs record; if you want this to be the default behaviour, you could add record look-for-adds to ~/.darcs/defaults or similar. 4) hg commit -m message this commits my changes locally. I always do this before pulling since then I'm sure my changes are saved in the case a merge goes wrong. In old darcs its precisely the other way round. Since it is so slow on merging ready patches, you better merge uncrecorded changes. This sounds like bad advice; merging changes with locally unrecorded changes shouldn't be any less expensive than merging them with a just-recorded patch (the algorithm is exactly the same, after all, unless there's something I've missed), and you have no way to roll things back if you don't record a patch before merging. Of course, you may want to unrecord your temporary patch after you've pulled, to keep your patch history neater. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: list choices (was [Haskell-cafe] ANN: filestore 0.1)
* Jeremy Shaw jer...@n-heptane.com [2009-01-25 09:19:23 -0600]: I believe there are two solutions to your problem: 1. set the Reply-to header yourself to specify how you want people to reply to messages you post. If you only want them to do to the list, then set that. Some email clients can be configured to do this automatically when posting to specific mailing lists. 2. use (or configure) a mail client that can hide duplicate messages. 3. Set Mail-Followup-To: and hope people replying onlist have a mail client that respects that header. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Error in HTTP 4.004 + CouchDB?
* Alex Ott alex...@gmail.com [2009-01-22 20:32:26 +0100]: PUT http://127.0.0.1:5984/test1/Users_ott_tmp_1_tst HTTP/1.1 Content-Type: ... ... Host: 127.0.0.1:5984 ... Note that this is a valid HTTP request, according to my reading of RFC2616. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Comments from OCaml Hacker Brian Hurt
* John Goerzen jgoer...@complete.org [2009-01-15 10:15:36 -0600]: If you're learning Haskell, which communicates the idea more clearly: * Appendable or * Monoid I can immediately figure out what the first one means. I think that's deceptively misleading. Sure, list1 `mappend` list2 is concatenation, of which Appendable is suggestive; but what on earth does it mean to append a number to another number, or append a function to another function? By doing some research, you can find out the answer, but if you start off with a name that means nothing to you, I suspect you'll be less confused than if you start off with a name that seems like it makes sense, but actually doesn't. (Of course, the name of mappend itself doesn't exactly help...) I guess the bottom line question is: who is Haskell for? Category theorists, programmers, or both? I'd love it to be for both, but I've got to admit that Brian has a point that it is trending to the first in some areas. I don't really understand why Appendable is specifically a programmer-friendly name; it doesn't really have any existing meaning elsewhere in programming languages, for example. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Comments from OCaml Hacker Brian Hurt
* Andrew Coppin andrewcop...@btinternet.com [2009-01-16 22:20:35 +]: A problem I see a lot of [and other people have mentioned this] is that a lot of documentation presents highly abstracted things, and gives *no hint* of why on earth these might possibly be useful for something. I think this is definitely something that should be addressed by better documentation of some kind. Unfortunately, this is quite possibly the hardest kind of knowledge to put down into words: before you learn the concepts, you don't know them, so you can't write about them, but after you learn them, they seem so obvious that you don't know how to describe them. (At least, this is typically the problem I have; I can answer questions about something easily, maybe even walk someone through understanding it, but I can't draft a document that will describe things adequately to a newbie). This problem is worse in Haskell than other languages, simply because abstractions are used more frequently and pervasively in Haskell. In many other languages, these abstractions are perfectly applicable, but actually encoding them in the language is simply too unwieldy. Thus, while the abstraction may be present as a fuzzy concept at the back of the programmer's mind, or even as a design pattern, the code people actually work with tends to be at a more concrete level, despite the more limited possibilities of code reuse at this level. This ties in with the complaint that Haskell variable / parameter names aren't descriptive enough. You frequently hear things like why call it 'xs' instead of 'applicableItems'?; often, the answer to this is simply that the value in question is something so general that you cannot describe it more specifically than a list of something or other. Haskell code is being written at a higher level of abstraction than the newcomer is used to, and thus the highly abstract names are mistaken for vague or imprecise names. Now, it's all very well to explain the reasons behind this to the newcomer, but they're still left in a position where they can't find the tools they need to solve a particular problem. They're used to looking for the concrete tools they need to do some task or another, which aren't there; instead, there are all these abstract tools which can perform the concrete task at hand, but what is really needed is help finding the abstract tool for the concrete task at hand, or even abstracting the concrete task at hand, thus making the choice of abstract tool(s) an obvious one. Sure, you can pop into #haskell and hopefully find someone to walk you through the processes until you begin to understand the abstractions yourself, but I think we (I almost hesitate to include myself, given my own relatively miniscule Haskell knowledge) can do better than this in terms of helping people unfamiliar with these concepts. Also, more importantly, I'm referring specifically to teaching *programmers* the concepts; I have no problem with *naming* things based on category theory or abstract algebra or quantum mechanics, but I should not be required to learn half a dozen fields of mathematics or physics in order to *use* things. Writing about how Monads in Haskell relate to Monads in category theory is of interest to category theorists, but isn't something programmers should be reading. Hopefully nothing I've said here comes as a surprise to anyone, and I'd be surprised if there were many serious objections to any of it, but perhaps it does need to be highlighted more prominently as an important area to improve if Haskell is to grow as a programming language. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Time for a new logo?
* Andrew Coppin andrewcop...@btinternet.com [2008-12-16 20:23:50 +]: I think the accusation is more that Haskell tries to be cryptic and arcane *on purpose*, just to confuse people. Sure, there are many concepts in Haskell which just aren't found anywhere else. But monads? Catamorphisms? Coroutines? Couldn't we think up some less intimidating terminology? The problem is that less intimidating terminology generally seems to mean inaccurate or misleading terminology. They aren't concepts that aren't found anywhere else, they're concepts that *are* found elsewhere (category theory, among other places), that's why they have those names. (Also, coroutines? Seriously? That's hardly an obscure term in programming circles.) {-# LANGUAGE ExistentialQuantification #-} Hmm, now if this was Perl or something, that would be HiddenTypeVariables or something. Much less fearsom-sounding. Also much less informative, and less accurate. The fact that Haskell embraces its mathematical basis instead of trying to completely obfuscate it away is not a bad thing, in my opinion. But then, I guess that's what you get for a lanuage designed by a committee of university professors. ;-) At any rate, if we're to have a logo, let's not have one which actively *promotes* the notion that Haskell is complex and difficult and that only theoretical physicists need apply... I think you're reading way too much into a logo. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
Re: [Haskell-cafe] Time for a new logo?
* Thomas Davie tom.da...@gmail.com [2008-12-17 09:10:55 +0100]: Oh please no, please don't let the logo be something that says Haskell, it's all about monads. I don't see anyone complaining about the python logo being something that says Python, it's all about snakes (Python is named after Monty Python). I really don't think that including a visual pun on the (=) operator translates to Haskell, it's all about monads; you're only likely to recognise the pun after you already know about monads anyway. -- mithrandi, i Ainil en-Balandor, a faer Ambar signature.asc Description: Digital signature ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe