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
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
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
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
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
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
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
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):
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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,
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
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
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
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
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
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.
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
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
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
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
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
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
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
37 matches
Mail list logo