Re: [Haskell-cafe] Int is broken [Was: Different answers on different machines]

2013-06-02 Thread Tristan Seligmann
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?

2013-02-12 Thread Tristan Seligmann
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

2012-12-11 Thread Tristan Seligmann
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?

2012-12-06 Thread Tristan Seligmann
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

2012-08-27 Thread Tristan Seligmann
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?

2012-07-24 Thread Tristan Seligmann
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?

2010-03-31 Thread Tristan Seligmann
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

2010-01-31 Thread Tristan Seligmann
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

2009-02-25 Thread Tristan Seligmann
* 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

2009-02-20 Thread Tristan Seligmann
* 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

2009-02-15 Thread Tristan Seligmann
* 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

2009-02-07 Thread Tristan Seligmann
* 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)

2009-01-25 Thread Tristan Seligmann
* 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?

2009-01-23 Thread Tristan Seligmann
* 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

2009-01-20 Thread Tristan Seligmann
* 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

2009-01-20 Thread Tristan Seligmann
* 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?

2008-12-17 Thread Tristan Seligmann
* 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?

2008-12-17 Thread Tristan Seligmann
* 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