On Wed, Aug 02, 2006 at 11:14:30AM -0700,
Jared Updike [EMAIL PROTECTED] wrote
a message of 32 lines which said:
(Sorry, couldn't find a place to comment on Joel's blog).
http://discuss.joelonsoftware.com/?joel
And I agree with Reilly Hayes: as I said in my first message, Joel
tried to
On Wed, Aug 02, 2006 at 01:02:20PM -0700,
Reilly Hayes [EMAIL PROTECTED] wrote
a message of 133 lines which said:
My guess is that most of the people who participate on this list are
in some sort of research center, where the value of academic
research is a given.
As someone who does not
Hi all,As promised, an interim update on the wxHaskellsituation,alongwitharequest to Haskell-Cafe (someone there should know...) Firstly, thanks to all who have volunteered to help. Subject to final confirmations, I hope that we will have a core of around 5-6 people who are willing to 'own'
Hello Jeremy,
Thursday, August 3, 2006, 12:30:40 PM, you wrote:
Several people have said that they would prefer a darcs repository
me too
Is there a formal mechanism to request hosting at darcs.haskell.org
? If so, whom do I ask? As a matter of interest, does it make sense
to provide this
Hi all,
I have a problem which is probably not a problem at all for Haskell experts,
but I am struggling with it nevertheless.
I want to model the following situation. I have ASTs for a language in two
variatns: A simple form and a labelled form, e.g.
data SimpleExp = Num Int | Add SimpleExp
Hello,
I have had similar difficulties. My first approach (for my AST) was to use
indirect composite. You seem to have the beginnings of that. However it would
require a custom newtype for each AST form:
data Exp e = Num Int | Add e e
newtype SimpleExp = Exp SimpleExp
newtype LabeledExp =
Hi,
I'm no expert, but was wondering, why not make labelled AST a tree,
which nodes are tupples holding a node of unlabeled tree and a label ?
Regards,
--
Intelligence is like a river: the deeper it is, the less noise it makes
___
Haskell-Cafe mailing
Edision does not yet have all the asymtotic description of its functions.
I got the Edision 1.2 source and looked into the code whether the
container implementations meet the expected asymtotic bounds.
In the module Data.Coll.StandardSet which packages Data.Set,
some functions which can be O(log
On Thu, Aug 03, 2006 at 12:51:01PM +0200, Klaus Ostermann wrote:
To: haskell-cafe@haskell.org
From: Klaus Ostermann [EMAIL PROTECTED]
Date: Thu, 3 Aug 2006 12:51:01 +0200
Subject: [Haskell-cafe] Variants of a recursive data structure
Hi all,
I have a problem which is probably not a
Hi Christophe,
you are right of course. It works with a custom newtype.
I still wonder whether it is possible to do the same by reusing the Mu
type constructor. It captures exactly the recursion structure you use for
the LabeledExp type, hence it would be nice to reuse it here.
Thanks for the
Hi folks
Sorry, meant to send this around, not just to Klaus
Conor
---BeginMessage---
Hi Klaus
Deep breath!
Klaus Ostermann wrote:
Hi all,
I have a problem which is probably not a problem at all for Haskell experts,
but I am struggling with it nevertheless.
I want to model the following
On 03/08/06, Piotr Kalinowski [EMAIL PROTECTED] wrote:
I'm no expert, but was wondering, why not make labelled AST a tree,
which nodes are tupples holding a node of unlabeled tree and a label ?
Ups, I'm stupid. I guess I should think more before typing anything next time...
Regards,
--
On Aug 3, 2006, at 7:14 AM, Ahn, Ki Yung wrote:
Edision does not yet have all the asymtotic description of its
functions.
Indeed. This is a big job which requires a lot of time, attention to
detail, and a pretty good working understanding of lazy amortized
analysis. Unfortunately I'm
Hello Klaus,
Thursday, August 3, 2006, 2:51:01 PM, you wrote:
data SimpleExp = Num Int | Add SimpleExp SimpleExp
data LabelledExp = LNum Int String | LAdd LabelledExp LabelledExp String
The icing on the cake would be if it would also be possible to have a
function
unlabel :: LabeledExp -
I've got an idea for a web server model I would like to try and since
I'm quite new to Haskell it would be great if someone could enumerate
a couple of useful libraries to me.
Here's what I need (I've put what I've found so far inside parenthesis):
* Parsing of incoming HTTP request and
If you want the non-labelledness to be guaranteed by the type system,
you could combine a GADT with some type level hackery. Note the flags
to GHC - they're not that scary really. :-)
In the following I've used the notion of type level booleans (TBool)
to flag whether or not an expression could
Oops, sorry, I think I'm getting too addicted to flags. ;-)
The module I wrote actually doesn't need neither overlapping nor
undecidable instances, so just -fglasgow-exts will do just fine.
/Niklas
On 8/3/06, Niklas Broberg [EMAIL PROTECTED] wrote:
If you want the non-labelledness to be
Oops again, not only am I addicted to flags, I also don't think before
I write. Sorry for spamming like this. :-(
The definition of the Or class I gave is incorrect. Of course it needs
a functional dependency to work correctly, like this:
class (TBool a, TBool b, TBool c) = Or a b c | a b - c
Hi Niklas,
thanks for your suggestion. Can you explain how your solution is better than
the very simple one, i.e.,
data Exp e = Num Int | Add e e
data Labeled = L String e
newtype SimpleExp = Exp SimpleExp
newtype LabeledExp = Labelled (Exp LabeledExp)
Klaus
-Original Message-
From:
On 8/3/06, Johan Tibell [EMAIL PROTECTED] wrote:
I've got an idea for a web server model I would like to try and since
I'm quite new to Haskell it would be great if someone could enumerate
a couple of useful libraries to me.
Here's what I need (I've put what I've found so far inside
Klaus,
You've gotten many fine answers to your question. I have yet another
one which is believe is closest to what you had in mind. The key to
the solution is to add an extra type parameter to Labelled like so:
data Labelled f a = L String (f a)
Now you can use it to form new recursive type
I've written a two-part series for Linux Journal called Translating C to
English Using Haskell. Here are links to the two parts:
http://www.linuxjournal.com/article/9096
http://www.linuxjournal.com/article/9242
The catchline is:
Write a program in Haskell that translates C type declarations
Hello,
I want to filter a list with a predicate that returns a IO value,
something that filterM is supposed to do. The problem is, filterM
overflows the stack for really big lists and I couldn't come up with a
simple replacement for filterM that would work for lists of any size
(the truth
Gabriel Sztorc wrote:
Hello,
I want to filter a list with a predicate that returns a IO value,
something that filterM is supposed to do. The problem is, filterM
overflows the stack for really big lists and I couldn't come up with a
simple replacement for filterM that would work for lists of
On 8/3/06, Klaus Ostermann [EMAIL PROTECTED] wrote:
thanks for your suggestion. Can you explain how your solution is better than
the very simple one, i.e.,
data Exp e = Num Int | Add e e
data Labeled = L String e
newtype SimpleExp = Exp SimpleExp
newtype LabeledExp = Labelled (Exp LabeledExp)
...
In the longer term, we could look at:
...
* Subclassing of widgets in Haskell ( i.e. allow C++ virtual methods to
be redefined in Haskell) - moderately hard
Has that been done successfully elsewhere? What would the Haskell
API look like - record of method functions? (If the question
Howdy. I've been working with this stuff pretty intimately in the last
few days; here's what I came up with. It's similar to Josef's except
let's us have many labels.
Type-level currying requires newtypes because any appearance of a
type synonym must be fulled applied. newtypes relax that
Gabriel Sztorc wrote:
I want to filter a list with a predicate that returns a IO value,
something that filterM is supposed to do. The problem is, filterM
overflows the stack for really big lists
Are you sure it's filterM's fault? Can you post the code in question?
Stack overflows are
This message is literate Haskell source.
import System.IO.Unsafe (unsafeInterleaveIO)
First off, let's look at the code for filterM:
filterM :: (Monad m) = (a - m Bool) - [a] - m [a]
filterM _ [] = return []
filterM p (x:xs) = do
flg - p x
ys - filterM p xs
return
Hi -
I've started work on an initial factoring of sequence ops into classes, and
already I've run into some major design issues which stand like a mountain
in the way of progress. The classes are below:
-- all code below standard BSD3 licence :-)
module Duma.Data.Class.Foldable
(
Brian Hulley wrote:
Hi -
I've started work on an initial factoring of sequence ops into
[snip]
class Foldable c a | c - a where
foldR :: (a - b - b) - b - c - b
[snip]
There is a general problem that when the element type needs to be
specified along with the type of the overall
On Thu, Aug 03, 2006 at 05:25:07PM +0200, Klaus Ostermann wrote:
Hi Niklas,
thanks for your suggestion. Can you explain how your solution is better
than
the very simple one, i.e.,
data Exp e = Num Int | Add e e
data Labeled = L String e
newtype SimpleExp = Exp SimpleExp
newtype
32 matches
Mail list logo