Re: [Haskell-cafe] Origins of '$'

2008-12-09 Thread Arnar Birgisson
On Mon, Dec 8, 2008 at 23:10, Dan Piponi [EMAIL PROTECTED] wrote: More generally, all of Tarski's high school algebra axioms carry over to types. You can see the axioms here: http://math.bu.edu/people/kayeats/papers/saga_paper4.ps That proves type theory is child's play :-) Ah, the power of a

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

2008-11-12 Thread Arnar Birgisson
Hi Reinier, On Wed, Nov 12, 2008 at 14:22, Reinier Lamers [EMAIL PROTECTED] wrote: Also, in my experience Haskell is not so good at data structures where you can't do structural recursion easily, like graphs. In such cases you want a language with easy pointers and destructive updates. You

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

2008-11-11 Thread Arnar Birgisson
Hi all, On Tue, Nov 11, 2008 at 11:38, Dave Tapley [EMAIL PROTECTED] wrote: Usually I'll avoid then question and explain that it is a 'complete' language and we do have more than enough libraries to make it useful and productive. But I'd be keen to know if people have any anecdotes, ideally

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

2008-11-11 Thread Arnar Birgisson
On Tue, Nov 11, 2008 at 14:37, Krasimir Angelov [EMAIL PROTECTED] wrote: You can hire one Haskell programmer instead of 1,2,3... programmers in your favorite imperative language. That's assuming I can find a Haskell programmer in the first place. Also, he/she has to be good to replace 10 other

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

2008-11-11 Thread Arnar Birgisson
On Tue, Nov 11, 2008 at 14:46, Henning Thielemann [EMAIL PROTECTED] wrote: SWIG helps wrapping C++ libraries by providing C wrappers to C++ functions. However, as far as I know, templates cannot be wrapped as they are, but only instances of templates. Thus there is no wrapper to STL. Maybe my

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

2008-11-11 Thread Arnar Birgisson
Hi again, On Tue, Nov 11, 2008 at 11:38, Dave Tapley [EMAIL PROTECTED] wrote: So I should clarify I'm not a troll and do see the Haskell light. But one thing I can never answer when preaching to others is what does Haskell not do well? C does extremely well when you want to write low level

Re: [Haskell-cafe] Terminal-like Application Design

2008-10-16 Thread Arnar Birgisson
Hi Jeff, On Fri, Oct 17, 2008 at 01:29, Jeff Wheeler [EMAIL PROTECTED] wrote: I'm a slight Haskell newbie, but I'm trying to write a terminal-like application that accepts simple commands with optional arguments, and can then execute them. Most of these commands will need IO, as later I will

Re: [Haskell-cafe] Still stacking monad transformers

2008-10-13 Thread Arnar Birgisson
Hi Andrew, On Mon, Oct 13, 2008 at 19:58, Andrew Coppin [EMAIL PROTECTED] wrote: Right. OK. So... isn't there a class somewhere called MonadChoice or similar, which defines (|)? Just to pitch in a helpful tip, Hoogle is excellent for these kind of questions (which come up very often):

Re: [Haskell-cafe] synchronous channels in STM

2008-10-09 Thread Arnar Birgisson
On Thu, Oct 9, 2008 at 12:29, roger peppe [EMAIL PROTECTED] wrote: It's useful, thanks, but not really what I was originally looking for. Synchronous channels are generally easier to reason about (less states to deal with). Right, that's very true. Interaction between transactions is naturally

Re: [Haskell-cafe] synchronous channels in STM

2008-10-09 Thread Arnar Birgisson
On Thu, Oct 9, 2008 at 10:50, roger peppe [EMAIL PROTECTED] wrote: On Thu, Oct 9, 2008 at 9:15 AM, Ryan Ingram [EMAIL PROTECTED] wrote: I don't think what you want is possible if both sides are in STM. Other authors have posted solutions where one side or the other of the transaction is in

Re: [Haskell-cafe] synchronous channels in STM

2008-10-09 Thread Arnar Birgisson
Hi there, 2008/10/9 David Leimbach [EMAIL PROTECTED]: see writeTChan and readTChan. I assume readTChan is synchronous :-). writeTChan may be asynchronous for all I can tell (haven't looked deeply). writeTChan is asynchronous, i.e. channels in this case are unbounded buffers. But I did

Re: [Haskell-cafe] synchronous channels in STM

2008-10-09 Thread Arnar Birgisson
On Thu, Oct 9, 2008 at 18:10, Arnar Birgisson [EMAIL PROTECTED] wrote: But I did write a concurrent prime sieve with it: I did the same, with the one-place-buffers (the MVars implemented over STM). Be warned that there is no stop condition, this just keeps printing primes forever. Please

Re: [Haskell-cafe] a really juvenile question .. hehehehe ;^)

2008-10-06 Thread Arnar Birgisson
On Mon, Oct 6, 2008 at 14:58, Cale Gibbard [EMAIL PROTECTED] wrote: 2008/10/6 Don Stewart [EMAIL PROTECTED]: dagit: data and newtype vary in one more subtle way, and that's how/when they evaluate to bottom. Most of the time they behave identically, but in the right cases they act

Re: [Haskell-cafe] a really juvenile question .. hehehehe ;^)

2008-10-06 Thread Arnar Birgisson
Hi, On Mon, Oct 6, 2008 at 16:10, Ryan Ingram [EMAIL PROTECTED] wrote: On Mon, Oct 6, 2008 at 2:19 PM, Arnar Birgisson [EMAIL PROTECTED] wrote: And this requirement is there why? Is it specifically put in so that one is able to create this overhead-less implementation? Given: data

Re: [Haskell-cafe] a really juvenile question .. hehehehe ;^)

2008-10-06 Thread Arnar Birgisson
On Mon, Oct 6, 2008 at 18:48, Ryan Ingram [EMAIL PROTECTED] wrote: Also, you can get the same behavior out of ta if you write it like this: ta ~(A x) = True The translation looks something like this: f ~(A x) = e = f a = e where x = case a of (A v) - v -- a,v fresh variables not

Re: [Haskell-cafe] Shooting your self in the foot with Haskell

2008-10-02 Thread Arnar Birgisson
On Thu, Oct 2, 2008 at 00:39, Bill [EMAIL PROTECTED] wrote: On Wed, 2008-10-01 at 16:46 -0400, John Van Enk wrote: . . . I fully realize how un-clever this is. Some one please give me something more worth of the original list. :) You shoot the gun but nothing happens (Haskell is pure,

Re: [Haskell-cafe] Shooting your self in the foot with Haskell

2008-10-02 Thread Arnar Birgisson
On Thu, Oct 2, 2008 at 17:11, Albert Y. C. Lai [EMAIL PROTECTED] wrote: Don't forget about memory consumption! If you don't look, the bullet causes heap overflow. If you look, the bullet causes stack overflow. So it is a Heisenberg-bullet? Arnar

Re: [Haskell-cafe] Re: (A little humour)

2008-09-26 Thread Arnar Birgisson
On Fri, Sep 26, 2008 at 22:03, Achim Schneider [EMAIL PROTECTED] wrote: Instead, it was decided to by default limit identifiers to a single character The Wisdom of it! Preparing C++ programmers for Haskell's limitation! Oh no, you are forgetting the primes, x', y' :P I liked the motivation

Re: [Haskell-cafe] Python's big challenges, Haskell's big advantages?

2008-09-17 Thread Arnar Birgisson
Hi Manlio and others, On Wed, Sep 17, 2008 at 14:58, Manlio Perillo [EMAIL PROTECTED] wrote: http://www.heise-online.co.uk/open/Shuttleworth-Python-needs-to-focus-on-future--/news/111534 cloud computing, transactional memory and future multicore processors Multicore support is already

Re: [Haskell-cafe] Python's big challenges, Haskell's big advantages?

2008-09-17 Thread Arnar Birgisson
Hi Bruce, On Wed, Sep 17, 2008 at 15:03, Bruce Eckel [EMAIL PROTECTED] wrote: Multicore support is already supported in Python, if you use multiprocessing, instead of multithreading. This is one of the reasons for my other question on this list, about whether you can solve all problems using

Re: [Haskell-cafe] Python's big challenges, Haskell's big advantages?

2008-09-17 Thread Arnar Birgisson
Hi again, On Wed, Sep 17, 2008 at 15:13, Bruce Eckel [EMAIL PROTECTED] wrote: Well, I'm a huge Python fan myself, but multiprocessing is not really a solution as much as it is a workaround. Python as a language has no problem with multithreading and multicore support and has all primitives to

Re: [Haskell-cafe] Re: Python's big challenges, Haskell's big advantages?

2008-09-17 Thread Arnar Birgisson
Hi Aaron, On Wed, Sep 17, 2008 at 23:20, Aaron Denney [EMAIL PROTECTED] wrote: I entered the discussion as which model is a workaround for the other -- someone said processes were a workaround for the lack of good threading in e.g. standard CPython. I replied that most languages thread

Re: [Haskell-cafe] STM and FFI

2008-09-09 Thread Arnar Birgisson
On Tue, Sep 9, 2008 at 11:36, Jules Bean [EMAIL PROTECTED] wrote: ...not only must it be safe to be called with invalid inputs, but it most not have any long-term effects, whether the input is valid or invalid, since I do not believe that there is any way for the function to 'undo' its effect

Re: [Haskell-cafe] STM and FFI

2008-09-09 Thread Arnar Birgisson
On Tue, Sep 9, 2008 at 11:58, Jules Bean [EMAIL PROTECTED] wrote: Maybe this is an idea for an extension to the STM system, adding something like unsafeIOToSTM, except that in addition to the main IO action, it also takes two more IO actions that are invoked on rollback and commit,

Re: [Haskell-cafe] STM and FFI

2008-09-09 Thread Arnar Birgisson
On Tue, Sep 9, 2008 at 13:58, Sterling Clover [EMAIL PROTECTED] wrote: I've been playing with this, and on top of STM as it exists, managed to neatly interleave it with sqite3 and postgres. To do so with postgres, however, required setting the locking mode to be a bit more restrictive than it

Re: [Haskell-cafe] Can you do everything without shared-memory concurrency?

2008-09-08 Thread Arnar Birgisson
Hi Bruce, On Mon, Sep 8, 2008 at 21:33, Bruce Eckel [EMAIL PROTECTED] wrote: I know that both Haskell and Erlang only allow separated memory spaces with message passing between processes, and they seem to be able to solve a large range of problems -- but are there problems that they cannot

Re: [Haskell-cafe] What's the best way to give up?

2008-09-06 Thread Arnar Birgisson
Hi there, On Sat, Sep 6, 2008 at 13:30, David F. Place [EMAIL PROTECTED] wrote: If there is a solution, it finds it in a few seconds. If there is no solution, it goes away for days proving that. So, I'd like to give up on it if it doesn't return in a few seconds. I can think of several

Re: [Haskell-cafe] doctest for haskell -- a good project?

2008-03-23 Thread Arnar Birgisson
On Sun, Mar 23, 2008 at 5:09 PM, Marc Weber [EMAIL PROTECTED] wrote: Adding documentation ficilities to ghci is nice, however my experience is that documentation is not complete everywhere. That's why I'm looking at source code directly (thus having doc strings if given else I can have

Re: [Haskell-cafe] doctest for haskell -- a good project?

2008-03-22 Thread Arnar Birgisson
Hey Don, On Sat, Mar 22, 2008 at 8:39 AM, Don Stewart [EMAIL PROTECTED] wrote: I'm not sure how doctest works, or how it would work in a Haskell setting, could you elaborate? In a nutshell, Python doctest has the programmer put an example interactive session in a functions docstring. A

Re: [Haskell-cafe] Analysing Haskell with Graph Theory

2008-03-07 Thread Arnar Birgisson
On Fri, Mar 7, 2008 at 1:45 AM, Ivan Miljenovic [EMAIL PROTECTED] wrote: Can anyone think of any other kind of functions that would be useful in this kind of source code analysis? Will you be considering parallel programs? Also, perhaps some information flow analysis would be interesting.

Re: [Haskell-cafe] Analysing Haskell with Graph Theory

2008-03-07 Thread Arnar Birgisson
On Fri, Mar 7, 2008 at 12:42 PM, Ivan Miljenovic [EMAIL PROTECTED] wrote: On 07/03/2008, Arnar Birgisson [EMAIL PROTECTED] wrote: Will you be considering parallel programs? Also, perhaps some information flow analysis would be interesting. What do you mean by parallel programs

Re: [Haskell-cafe] Re: A question about monad laws

2008-02-11 Thread Arnar Birgisson
Hi all, On Feb 11, 2008 3:14 PM, apfelmus [EMAIL PROTECTED] wrote: I will be mean by asking the following counter question: x + (y + z) = (x + y) + z is a mathematical identity. If it is a mathematical identity, a programmer need not care about this law to implement addition + . Can

Re: [Haskell-cafe] anybody can tell me the pronuncation of haskell?

2008-01-29 Thread Arnar Birgisson
On Jan 29, 2008 1:45 PM, Yitzchak Gale [EMAIL PROTECTED] wrote: Paul Hudak wrote: Well, Haskell was Curry's first name, so perhaps we should use Moses, which was Schönfinkel's first name, and has some nice biblical metaphors :-) Haskell is fine for that. In Biblical Hebrew, it means

Re: [Haskell-cafe] let vs. where

2007-11-16 Thread Arnar Birgisson
On Nov 16, 2007 12:26 AM, Lennart Augustsson [EMAIL PROTECTED] wrote: On Nov 14, 2007 1:05 AM, Robin Green [EMAIL PROTECTED] wrote: On Tue, 13 Nov 2007 13:51:13 -0800 Dan Piponi [EMAIL PROTECTED] wrote: Up until yesterday I had presumed that guards only applied to functions. But I

Re: [Haskell-cafe] let vs. where

2007-11-15 Thread Arnar Birgisson
On Nov 16, 2007 12:35 AM, Arnar Birgisson [EMAIL PROTECTED] wrote: [1] I'm terribly sorry, that was meant to be: [1] http://www.onlamp.com/pub/a/onlamp/2007/07/12/introduction-to-haskell-pure-functions.html sorry, Arnar ___ Haskell-Cafe mailing list

Re: [Haskell-cafe] Semantics of uniqueness types for IO (Was: Why can't Haskell be faster?)

2007-11-01 Thread Arnar Birgisson
Hi there, I'm new here, so sorry if I'm stating the obvious. On Nov 1, 2007 2:46 PM, apfelmus [EMAIL PROTECTED] wrote: Stefan Holdermans wrote: Exposing uniqueness types is, in that sense, just an alternative to monadic encapsulation of side effects. While *World - (a, *World) seems to

Re: [Haskell-cafe] Disjunctive Normal Form

2007-11-01 Thread Arnar Birgisson
Hey folks, On Nov 1, 2007 6:41 PM, Luke Palmer [EMAIL PROTECTED] wrote: A good way to approach this is data-structure-driven programming. You want a data structure which represents, and can _only_ represent, propositions in DNF. So: data Term = Pos Var | Neg Var type Conj = [Term] type