Hi Jonathan,
I wrote:
So in what way are Set morphisms restricted from being
Hask morphisms?
Jonathan Cast wrote:
The normal view taken by Haskellers is that the denotations of
Haskell types are CPPOs.
CPPO?
So:
(1) Must be monotone
(2) Must be continuous
Could you please define what
I was thinking more along type classesand then I was going to throw
some spanners in the works
From: Ryan Ingram [mailto:[EMAIL PROTECTED]
Sent: 02 January 2008 17:41
To: Nicholls, Mark
Cc: haskell-cafe@haskell.org
Subject: Re: [Haskell-cafe] Is there
...is a paper about automatic specialisation of functions by unboxing
arguments, one could say. I'm only on page 6, but already survived the
first formalisms, which is bound to mean that the rest of the paper is
likewise accessible, as hinted on at ltu.
http://www.cs.nott.ac.uk/~gmh/wrapper.pdf
[snip]
-- C#: interface IX1 { String foo1(int); }
class IX1 obj where
foo1 :: Int - obj - String
Yep...I think that's what I'd dothough I would have done...
foo1 :: obj - Int - String
Does that matter?
-- C#: interface IX2A { String foo2(A); }
class IX2 obj a where
foo2 :: a - obj
Can you give me a summary of why it's meaningless.both would seem to
describe/construct values/objectsthey may not be equivalent, but I
would expect some considerable overlap.
-Original Message-
From: Bulat Ziganshin [mailto:[EMAIL PROTECTED]
Sent: 02 January 2008 20:29
To:
Hello Mark,
Thursday, January 3, 2008, 1:22:26 PM, you wrote:
because they have different models. i recommend you to start from
learning this model, otherwise you will don't understand how Haskell
really works and erroneously apply your OOP knowledge to Haskell data
structures.
shortly said,
On Thu, 6 Dec 2007, Henning Thielemann wrote:
On Thu, 6 Dec 2007, Thomas Hartman wrote:
On a related note... is there some easy way to be sure that a program I am
compiling uses only haskell 98? (Because any pure haskell 98 should always
compile on yhc... right?)
You can for instance
Achim Schneider [EMAIL PROTECTED] wrote:
[...]
I'm trying to grok that
[] = id
++ = .
in the context of Hughes lists.
I guess it would stop to slip away if I knew what : corresponds to.
--
(c) this sig last receiving data processing entity. Inspect headers for
past copyright information.
David Roundy wrote:
Anyhow, could you retry this test with the above change in methodology, and
let me know if (a) the pull is still slow the first time and (b) if it's
much faster the second time (after the reverse unpull/pull)?
I think I've done it in both directions now, and it got faster,
I loosely do understandbut very looselybut I'm not, as yet,
convinced it is completely relevant.
The implementation may differ, but that does not mean that there is no
overlapI am not expecting one model to be a superset of the other,
but I am expecting some sort of overlap between
This is an early release of Haskell bindings for the popular LLVM
compiler infrastructure project.
If you don't know what LLVM is, it's a wonderful toybox of compiler
components, from a complete toolchain supporting multiple architectures
through a set of well-defined APIs and IR formats that are
On Jan 3, 2008 6:08 AM, Achim Schneider [EMAIL PROTECTED] wrote:
Achim Schneider [EMAIL PROTECTED] wrote:
[...]
I'm trying to grok that
[] = id
++ = .
in the context of Hughes lists.
I guess it would stop to slip away if I knew what : corresponds to.
Well, (:) has type a - [a] -
Hi Mark,
foo1 :: Int - obj - String
Yep...I think that's what I'd dothough I would have done...
foo1 :: obj - Int - String
Does that matter?
Well, it's a good habit in Haskell to move the most important parameter to
the end of the argument list. See e.g.
Brent Yorgey [EMAIL PROTECTED] wrote:
Well, (:) has type a - [a] - [a], so a function corresponding to
(:) for Hughes lists should have type
foo :: a - H a - H a
[...]
I think the key sentence from the paper is this: by
representing a list xs as the function (xs ++) that appends this
Achim Schneider [EMAIL PROTECTED] wrote:
Brent Yorgey [EMAIL PROTECTED] wrote:
Well, (:) has type a - [a] - [a], so a function corresponding to
(:) for Hughes lists should have type
foo :: a - H a - H a
[...]
I think the key sentence from the paper is this: by
representing
Achim Schneider wrote:
Achim Schneider [EMAIL PROTECTED] wrote:
[...]
I'm trying to grok that
[] = id
++ = .
in the context of Hughes lists.
they are also known as difference lists, and also used at type String
in the Prelude as ShowS, to help avoid quadratic behavior when making
Ahh ok I see what is meant by the parameter order
-Original Message-
From: Peter Verswyvelen [mailto:[EMAIL PROTECTED] On Behalf Of
Peter Verswyvelen
Sent: 03 January 2008 12:02
To: Nicholls, Mark
Cc: haskell-cafe@haskell.org
Subject: RE: [Haskell-cafe] Is there anyone out there who
Achim Schneider wrote:
...is a paper about automatic specialisation of functions by unboxing
arguments, one could say. I'm only on page 6, but already survived the
first formalisms, which is bound to mean that the rest of the paper is
likewise accessible, as hinted on at ltu.
Achim Schneider [EMAIL PROTECTED] wrote:
(define (cons x y)
(lambda (m) (m x y)))
(define (car z)
(z (lambda (p q) p)))
(define (cdr z)
(z (lambda (p q) q)))
, which, just for completeness, can be of course also be done in
Haskell:
cons :: a - b - (a - b - c) - c
cons x y m
Looks good! I liked relational algebra much much more than SQL, so I'll
certainly have to look into that.
Thanks,
Peter
Justin Bailey wrote:
I can speak to haskelldb a little, see below:
On Jan 2, 2008 3:50 AM, Peter Verswyvelen [EMAIL PROTECTED] wrote:
·regarding Haskell and
Hi Benja,
I wrote:
By the type expression Integer - Integer
we mean all Haskell functions mapping Integers to Integers.
There are only countably many of those.
...
But that was not the context in this thread. The category
Hask that we often mention in discussions about Haskell
the
Hi,
It would be nice if you could package this and release it on hackage.
http://hackage.haskell.org/packages/hackage.html
I packaged it, perhaps you can have a look at it, if it is, what you thought...
When I get a username, I'll put it on hackage :)
--
H.
Jonathan Cast wrote:
The normal view taken by Haskellers is that the denotations of
Haskell types are CPPOs.
I wrote:
CPPO?
(1) Must be monotone
(2) Must be continuous
Could you please define what you mean by those terms
in this context?
Jens Blanck wrote:
The extra P would stand for
Peter Verswyvelen wrote:
Looks good! I liked relational algebra much much more than SQL, so I'll
certainly have to look into that.
I agree. I have not tried haskelldb yet, but I would
like to.
My impression from some previous posts is that
because of the high-level approach, it is difficult
On Thu, 3 Jan 2008, Achim Schneider wrote:
Henning Thielemann [EMAIL PROTECTED] wrote:
Sometimes I believed that I understand this reason, but then again I
do not understand. I see that left-associative (++) like in
((a0 ++ a1) ++ a2) ++ a3
would cause quadratic time. But (++) is
Hello Mark,
Thursday, January 3, 2008, 2:13:08 PM, you wrote:
of course *some* overlap exists but in order to understand it you
should know exact shape of both methods
when i tried to develop complex library without understanding t.c.
implementation, i constantly goes into the troubles - things
Am Donnerstag, 3. Januar 2008 14:48 schrieb Henning Thielemann:
On Thu, 3 Jan 2008, Isaac Dupree wrote:
Achim Schneider wrote:
Achim Schneider [EMAIL PROTECTED] wrote:
[...]
I'm trying to grok that
[] = id
++ = .
in the context of Hughes lists.
they are also known
Henning Thielemann [EMAIL PROTECTED] wrote:
I figure it's (constant vs. linear) vs. (linear vs. quadratic), for
more involved examples.
I can't see it. If I consider (x++y) but I do not evaluate any
element of (x++y) or only the first element, then this will need
constant time. If I
Henning Thielemann wrote:
Sometimes I believed that I understand this reason, but then again I do
not understand. I see that left-associative (++) like in
((a0 ++ a1) ++ a2) ++ a3
would cause quadratic time. But (++) is right-associative and 'concat' is
'foldr'. They should not scan the
On Thu, 3 Jan 2008, Daniel Fischer wrote:
Am Donnerstag, 3. Januar 2008 14:48 schrieb Henning Thielemann:
Sometimes I believed that I understand this reason, but then again I do
not understand. I see that left-associative (++) like in
((a0 ++ a1) ++ a2) ++ a3
would cause quadratic
I do not necessarily disagree
But if I can identify the overlapthen I have leant the overlap...on
the cheap.
-Original Message-
From: Bulat Ziganshin [mailto:[EMAIL PROTECTED]
Sent: 03 January 2008 14:39
To: Nicholls, Mark
Cc: Bulat Ziganshin; haskell-cafe@haskell.org
Subject:
Yitz wrote:
My impression from some previous posts is that
because of the high-level approach, it is difficult
to control the precise SQL that is generated. In practice,
you almost always have to do some tweaking that is
at least DB-dependent, and often application dependent.
Can't the same
On 3 Jan 2008, at 4:49 AM, Isaac Dupree wrote:
Achim Schneider wrote:
Achim Schneider [EMAIL PROTECTED] wrote:
[...]
I'm trying to grok that
[] = id
++ = .
in the context of Hughes lists.
they are also known as difference lists, and also used at type
String in the Prelude as ShowS, to
On 3 Jan 2008, at 7:40 AM, Nicholls, Mark wrote:
I do not necessarily disagree
But if I can identify the overlapthen I have leant the
overlap...on
the cheap.
Not really. You still don't have the context which allows you to fit
the Haskell features into a complete system.
On 3 Jan 2008, at 3:40 AM, Jens Blanck wrote:
The normal view taken by Haskellers is that the denotations of
Haskell types are CPPOs.
CPPO?
So:
(1) Must be monotone
(2) Must be continuous
Could you please define what you mean by those terms
in this context?
(Needn't be strict, even
On Thu, Jan 03, 2008 at 11:11:40AM +, Simon Marlow wrote:
David Roundy wrote:
Anyhow, could you retry this test with the above change in methodology, and
let me know if (a) the pull is still slow the first time and (b) if it's
much faster the second time (after the reverse unpull/pull)?
Henning Thielemann wrote:
I can't see it. If I consider (x++y) but I do not evaluate any element of
(x++y) or only the first element, then this will need constant time. If I
evaluate the first n elements I need n computation time units. How is (.)
on difference lists faster than (++) here?
apfelmus [EMAIL PROTECTED] wrote:
O((x ++ y) ++ z) ~ O(length x + length y) + O(length x)
+ O(x) + O(y) + O(z)
I would say that it's ~ O(length x) + O(length $ x ++ y) + O(2 * list
mangling)
--
(c) this sig last receiving data processing entity. Inspect headers for
Hello,
I'm confused about which HsColour version I should be using with
Haddock/Cabal (on Windows).
According to this page..
http://www.cs.york.ac.uk/fp/darcs/hscolour/
..the latest version is 1.9. But the latest version in Hackage is 1.6,
the latest version in the ftp downloads dir is 1.8,
Hi all,
Is any work being done on Haskell refactoring support, like HaRe or others?
Is anyone actively using refactoring? When using C#, I used Resharper a lot,
and ever since, I'm really hooked to refactoring, so I miss it a lot when
doing Haskelling. (I never seem to get a function name
Simon Marlow wrote:
...
I have seen strange artifacts like this before that turned out to be
caused by one of two things:
- bad cache interactions, e.g. we just happen to have laid out the code in
such a way that frequently accessed code sequences push each other out
of the cache, or
For small queries, it does not matter much which approach you choose.
But for large, complex queries, such 3-table join (especial Star
Transformation) and/or large data set (millions of rows involved in
large data warehouses), the performance will differ by order of
magnitude, depending on how
Hi Peter,
Is any work being done on Haskell refactoring support, like HaRe or others?
HaRe is still very active and is due for a new release very soon.
There are probably in excess of 40 refactorings for HaRe in total now, and
I intend to add more! Sadly, I am currently the only maintainer left
Don Stewart wrote:
(Hackage can't host code that uses GHC 6.8.2's language extension names
yet.)
{-# LANGUAGE XYZ #-} pragmas? If so, I'm pretty sure they're
supported, since xmonad uses them, and is on hackage.
Language pragmas in general are fine, but I believe I'm using a few that
are
Hi
PS: IMHO I don't think text should be the source format of our files… I
think we should use a standarized decorated AST as the source, from which we
can derive a textual (but also graphical) view and editor… Any comments on
that? J
Yes - I think you're wrong. I've seen non-textual editors
bos:
Don Stewart wrote:
(Hackage can't host code that uses GHC 6.8.2's language extension names
yet.)
{-# LANGUAGE XYZ #-} pragmas? If so, I'm pretty sure they're
supported, since xmonad uses them, and is on hackage.
Language pragmas in general are fine, but I believe I'm using a
bos:
This is an early release of Haskell bindings for the popular LLVM
compiler infrastructure project.
If you don't know what LLVM is, it's a wonderful toybox of compiler
components, from a complete toolchain supporting multiple architectures
through a set of well-defined APIs and IR
Hello Mark,
Thursday, January 3, 2008, 6:40:13 PM, you wrote:
it would be hard to understand overlap without knowing both systems.
you will believe that you understand it, but things will go strange
ways :)
I do not necessarily disagree
But if I can identify the overlapthen I have
HaRe works with both Emacs and VIM; you can also use it from a command
prompt meaning that it can be integrated into any tool that you require.
Indeed, there was even some investigation of porting it to Sub Etha Edit
with great success!
Cool! I'll check it out. However, I'm using some GHC
Cool! I'll check it out. However, I'm using some GHC extensions, so that
is
indeed a show stopper :)
Which extensions are you using that are not Haskell 98? I would be very
interested to know what users would generally require from a refactorer.
You mean a syntax-directed editor, right?
Hello Neil,
Thursday, January 3, 2008, 9:57:10 PM, you wrote:
Yes - I think you're wrong. I've seen non-textual editors for
programming languages, and they are severely unpleasant for all but
the most new beginners and restricted tasks.
what sort of code you are tried to develop? visual
Yes - I think you're wrong. I've seen non-textual editors for
programming languages, and they are severely unpleasant for all but
the most new beginners and restricted tasks.
For programmers and mathematicians, you are absolutely right. For beginners
and people who have highly developed visual
I agree with Neil, AST editors are generally ugly and hard to use. There
is also the problem of laying out Haskell code. Everyone uses their own
layout style and pretty printing ASTs is generally a bad thing to do in
this context.
I actually meant something more like
Hello Peter,
Thursday, January 3, 2008, 9:13:27 PM, you wrote:
well, i use refactoring without help of any tool. according to my
own experience, it's much easier in Haskell than in other languages i
know - basically, you just cut-n-paste your code around. i don't use
type signatures at all -
Hi Bulat,
i don't use
type signatures at all - this creates some problems when i wrote large
portion of code and try to make it compile, but nothing more
I believe type signatures are the very essence of Haskell documentation!
I'd much rather see a program with type signatures for functions
Hi,
I was installing various haskell packages from hackage.
When I was installing HaXml, I think it was complaining about
Text.PrettyPrint.HughesPJ not installed or something. (can't remember the
specific message and I can't reproduce now...)
So I installed pretty-1.0.0.0 package as well.
Ever
lemming:
On the one hand I like to use lists in my code because element types can
be freely chosen and maximum laziness allows feedback and other tricks. On
the other hand there are ByteString.Lazy and one could build chunky
sequences from other fast array implementations. They have
Currently, I'm trying to learn arrows and Yampa (mainly to see how well it
compares to my own dataflow/reactive stuff that was written in C#, C++ and
assembler)
Arrows won't work with HaRe at the moment, therefore Yampa won't either;
which is a shame.
First of all, let's see if I get the
Furthermore, IMHO, type signatures alone are not enough, a good parameter
name says at least as much as the type.
Yes! A very good point! :)
E.g. what does a function Int - Int - Bool do? I have no idea. A good
function name helps, e.g. isDivisible:: Int - Int - Bool. But then I still
I believe type signatures are the very essence of Haskell documentation!
I'd much rather see a program with type signatures for functions and
little (or no) comments over programs with no type signatures and
ambigious comments (if any comments at all!).
Okay, but when using a syntax directed
Peter Verswyvelen [EMAIL PROTECTED] writes:
Well, it's a good habit in Haskell to move the most important parameter to
the end of the argument list. See e.g.
http://www.haskell.org/haskellwiki/Parameter_order.
I must say I like these recommendations. As for the Data.Map examples,
the
Furthermore, when I need to perform refactoring, a rename is
just *one* change to the entire system, no matter how many other files
use
the name; no more merging for stupid renames.
I'm a little confused as to what you mean here. A renaming renames all
(and only those) uses of an identifier
I wrote:
... to control the precise SQL that is generated. In practice,
you almost always have to do some tweaking that is
at least DB-dependent, and often application dependent.
Peter Verswyvelen wrote:
Can't the same be said regarding SQL itself? It sometimes needs tweaking.
That's the
Lihn, Steve wrote:
For small queries, it does not matter much which approach you choose.
But for large, complex queries, such 3-table join (especial Star
Transformation) and/or large data set (millions of rows involved in
large data warehouses), the performance will differ by order of
On Jan 3, 2008 4:26 PM, Magnus Therning [EMAIL PROTECTED] wrote:
GHC 6.8 has just made it into Debian in a usable form. (w00t!)
Due to the library split my old cabal files don't work any longer.
updating them isn't the problem, the problem is keeping them compatible
with both versions of
Hello,
https://buildsecurityin.us-cert.gov/daisy/bsi/articles/knowledge/coding/295.html
I stumbled across this page. It seems that Haskell and other strongly typed
functional languages like Ml/OCaml will fare much, much better, e.g. buffer
overrun. Thoughts . comments.
Vasili
On Nov 18, 2007 10:22 PM, Ryan Ingram [EMAIL PROTECTED] wrote:
[snip]
data Prompt (p :: * - *) :: (* - *) where
PromptDone :: result - Prompt p result
-- a is the type needed to continue the computation
Prompt :: p a - (a - Prompt p result) - Prompt p result
[snip]
runPromptM
apfelmus wrote:
I don't know a formalism for easy reasoning about time in a lazy
language. Anyone any pointers? Note that the problem is already present
for difference lists in strict languages.
http://homepages.inf.ed.ac.uk/wadler/topics/strictness-analysis.html
especially strictness
I am using the Data.Binary module and having some issues reading big endian
files (actually, just reading the file). I can read the header but not the
rest of the data which contains a set of row information. Also, go ahead and
make fun my style of coding.
Anyway, This is the my code and the
Hello C.M.Brown,
Thursday, January 3, 2008, 10:46:54 PM, you wrote:
i don't use
type signatures at all - this creates some problems when i wrote large
portion of code and try to make it compile, but nothing more
I believe type signatures are the very essence of Haskell documentation!
I'd
I've no experience with Data.Binary, but I noticed you declared
instance Binary YourType where...
and the compiler says
instance Binary (Get YourType)
is missing. That might be worth looking into.
Cheers,
Daniel
Am Freitag, 4. Januar 2008 00:13 schrieb bbrown:
I am using the Data.Binary
On Thu, 03 Jan 2008 19:48:05 +0100, C.M.Brown [EMAIL PROTECTED] wrote:
HaRe is still very active and is due for a new release very soon.
There are probably in excess of 40 refactorings for HaRe in total now,
and
I intend to add more! Sadly, I am currently the only maintainer left
on the
G'day all.
Quoting Peter Verswyvelen [EMAIL PROTECTED]:
I actually meant something more like
http://en.wikipedia.org/wiki/Intentional_programming
I'm pretty sure that Intentional programming is Hungarian for I want
to sell you another IDE.
Cheers,
Andrew Bromage
Hi,
A possible first goal would be, to add extensions that are definitely in
Haskell prime, see:
http://hackage.haskell.org/trac/haskell-prime/wiki/Status'#definitely-inProposalStatus
Oh great! Thanks for the link, I think the main issue is moving over to a
platform that is heavily
On Fri, 4 Jan 2008, Bulat Ziganshin wrote:
Hello Peter,
Thursday, January 3, 2008, 11:03:58 PM, you wrote:
Okay, but when using a syntax directed editor, type signatures can be
automatically provided because the types are known.
the same is possible for Haskell - it's possible to add to
On Thu, 03 Jan 2008 03:43:49 -0800, Bryan O'Sullivan wrote:
(Hackage can't host code that uses GHC 6.8.2's language extension names
yet.)
It should be able to now.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
On Jan 3, 2008, at 18:13 , bbrown wrote:
DbReader.hs:119:22:
No instance for (Binary (Get URLInfo))
arising from a use of `decode' at DbReader.hs:119:22-45
Without looking more closely, this suggests to me that you have
mismatched or incorrectly encapsulated monads (for example,
On Jan 3, 2008, at 16:32 , Peter Verswyvelen wrote:
I see. But ouch, exactly the same could be said for Haskell no? :)
Optimization by quasirandom insertion of bangs / seq? Already there :)
--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] [EMAIL PROTECTED]
system administrator
In message [EMAIL PROTECTED] Ross Paterson
[EMAIL PROTECTED] writes:
On Thu, 03 Jan 2008 03:43:49 -0800, Bryan O'Sullivan wrote:
(Hackage can't host code that uses GHC 6.8.2's language extension names
yet.)
It should be able to now.
Thanks very much Ross.
BTW, I think we should put some
Ross Paterson wrote:
It should be able to now.
Thank you!
b
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Like the previous no experience with Data.Binary, but my (rusty) monad
experience is enough to see the source of the problem:
bbrown wrote:
The issue stems from here, it says I didn't define an instance, but I did:
instance Binary URLSet where
put _ = do BinaryPut.putWord8 0
get = do
On Jan 3, 2008 3:43 AM, Bryan O'Sullivan [EMAIL PROTECTED] wrote:
This is an early release of Haskell bindings for the popular LLVM
compiler infrastructure project.
If you don't know what LLVM is, it's a wonderful toybox of compiler
components, from a complete toolchain supporting multiple
82 matches
Mail list logo