On Mon, 1 Sep 2003, Joost Visser wrote:
Hi Hal and others,
We would like to hear your thoughts on the viability of a conference or
workshop dedicated to applications of Haskell for non-Haskell purposes.
On Saturday 30 August 2003 01:39, Hal Daume III wrote:
I'm attempting to get a
On Sat, 30 Aug 2003, Alastair Reid wrote:
If you use Haskell for a purpose *other than* one of those listed below,
I'd love to hear. I don't need a long report, anything from a simple I
do to a paragraph would be fine, and if you want to remain anonymous
that's fine, too.
[snip]
-
On Fri, 8 Aug 2003, Antony Courtney wrote:
I often need to format a list of strings using some character as a
*seperator* rather than a terminator for the items. Is there some
simple combinator or idiom from the Prelude or standard libraries that
could be used for this purpose?
I think
On Mon, 24 Feb 2003, Malcolm Wallace wrote:
Joe English [EMAIL PROTECTED] writes:
Me either; in fact even 1/4 of the time debugging
sounds quite high.
When I first started using Haskell, most of my time
went to fighting with the typechecker, but once the
code checked it almost
On Thu, 16 Jan 2003, Iavor S. Diatchki wrote:
hi,
just for fun i wrote the function in a different way. it should perform
pretty much the same way as your function. i don't think the problem is
(++) here, it is just the way this function is. if f is going to use
all of its argument, it
On Thu, 16 Jan 2003, Pal-Kristian Engstad wrote:
It struck me though, if you have a function that calculates something on a
list 'lst', and then you calculate something on 'lst ++ [a]', then surely one
should be able to cache the results from the previous calculation.
I'm not a Haskell
On Fri, 6 Dec 2002, Ingo Wechsung wrote:
Beg your pardon, Marcin
But they are compatible because there is one most universally accepted
interpretation of a tab (move to the next multiple of 8 columns). Any
other interpretation hampers portability and should be avoided.
No. It didn't
Wether spaces or tabs are better in source files is a matter of taste and
a language should not force me to use one or another.
Well note that it doesn't only confuse compilers: if you post code for
other people to read (whose display software has their personal own
interpretation of what a
On 17 Sep 2002, Jan Kybic wrote:
collection. I want to try to force l to be generated on-the-fly
every time it is needed, to see if it improves performance.
What is a good way to do it? Would something like
...
The easiest way is to make it a function
l _ = [ i*i*i | i
On Fri, 30 Aug 2002, Koen Claessen wrote:
* Every once in a while, we get messages like your e-mail
is under consideration for sending to the list. This
suggests that the mailing list is moderated, and that
there is some person deciding on what can and what cannot
be sent to the
On Wed, 31 Jul 2002, Andrew J Bromage wrote:
Let me clarify what I meant by that and see if you still disagree.
Realistically, _most_ new software installations today (I deliberately
ignore legacy systems etc) are not overloaded, in that there are more
computrons available than are
On 23 Jul 2002, Alastair Reid wrote:
You shouldn't _need_ to be in the IO monad to get random numbers
(although if you choose to that can be a good choice). Clearly
there's the need to initialise the generator, but if you want
`random' random numbers (as opposed to a known sequence of
On Tue, 23 Jul 2002, Nick Name wrote:
It's relatively simple.
The random number generator is a pure function, so it cannot be
nondeterministic. So, you have a way to build this function with a seed,
since the author wanted you to be able to do so, I could say for
completeness, or reuse
On Fri, 31 May 2002, Manuel M. T. Chakravarty wrote:
I think, the probelm is .NET, not Haskell. .NET just
doesn't deliver on its promise (= marketing hype) of
language neutrality. The problem is that .NET is language
neutral only as long as all languages are sufficiently close
to C#. Not
On Thu, 30 May 2002, Ashley Yakeley wrote:
it). Certainly I find {;} more readable, and I suspect anyone else with a
C/C++/Java background (or even a Scheme/Lisp background) does too./RANT
Just a data point: I learned Basic, Pascal, Standard ML, C, Haskell, C++,
Perl, Python in that order
On Thu, 30 May 2002, Don Syme wrote:
going to provide. Given the general complexity of GHC, the longish
compile times and the reliance of the GHC library implementation on C
and C libraries in so many places I decided to implement a simpler
language from scratch. I like the idea that a
On Wed, 15 May 2002, Hal Daume III wrote:
I tend to agree. I keep meaning for experimental purposes to define a
list type called AList or something which is syntactically identical to
lists (i.e., you can use the familiar (:) and [] operators/sugar), but
gets preprocessed out as actually
On Thu, 2 May 2002, Serge D. Mechveliani wrote:
I wrote about e :: Double for the Library.
It can be obtained as exp 1,
but I wonder whether it is good for the library to add the `e'
denotation.
Just a comment: my programming style (and others I've seen) use single
letters
[Moved to haskell-cafe]
On Tue, 19 Mar 2002, David Sankel wrote:
*everytime* about race conditions. (of course using
this existFile before
creating a temporary file is wrong, but existFile
has *many* other
applications)
Could someone post an example of the creation of a
temporary
On Mon, 25 Feb 2002, Dean Herington wrote:
If you're using GHC, take a look at module Readline in the util package
(http://www.haskell.org/ghc/docs/latest/set/readline.html). I don't know
which other Haskell systems support this module.
The annoying thing is the way that terminals generally
On Sat, 16 Feb 2002, Hal Daume III wrote:
The reason I ask is that I'm generating a FSM description file and it
doesn't matter which order I list the transitions in. I'm curious whether
I could get the program to run any faster if I don't care about order.
I'm a bit confused here: assuming
On Wed, 13 Feb 2002, David Feuer wrote:
It would be a *signifigant* boon to those
of us trying to get haskell into organizations
by using it as maintainable perl/sh, and
Haskell is not a maintainable perl/sh. It is not a good
language for simple shell scripts, and is not good for
On 7 Feb 2002, Ian Zimmerman wrote:
itz All this taken together, I mean, _really_, is the lexical
itz structure of Haskell a botch, or what?
Jon No. Innovative. All the problems described in this thread reflect
Jon unwarranted assumptions inherited in emacs. It's plainly possible
Jon to
On Wed, 6 Feb 2002, David Feuer wrote:
a more adventurous note, I think it would be very
interesting to be able to ask the compiler to make certain
values persistent across program executions. This could
solve the same problem, but may also help deal with long
computations that may be
On Thu, 10 Jan 2002, Mark P Jones wrote:
| If I have defined a function like this..
| f args = blah args
| it could be re-written..
| f = blah
[snip]
- The second will compute a value of blah at most
once, then cache the result for future use. That
could make a program run
On Fri, 7 Dec 2001, Adrian Hey wrote:
The first is..
Does the compiler keep a unique copy of expressions which consist of just
a single zero arity constructor (eg. [],True,Nothing..) as a CAF which is
referenced each time the constructor appears in an expression, or does it
duplicate the
On Tue, 13 Nov 2001, Jesper Louis Andersen wrote:
This problem has had my attention for a while now. I hope someone would
like to help me out on the problem.
I have a simple average function defined as:
mean:: (Fractional a) = [a] - a
mean l = (sum l)/ fromIntegral
On 10 Oct 2001, Ketil Malde wrote:
Mark Carroll [EMAIL PROTECTED] writes:
On Tue, 9 Oct 2001, Ashley Yakeley wrote:
At 2001-10-09 11:55, Mark Carroll wrote:
What is the rationale for when Haskell demands a = and when it
demands a -?
Okay, I can't give you anything formal, but
On Wed, 10 Oct 2001, D. Tweed wrote:
degenerate equality you get from defining the lhs in terms of the rhs. The
- is used whenever you've got something on the right that `leads to' to
^left
something on the left, eg
On Wed, 10 Oct 2001, Mark Carroll wrote:
On 10 Oct 2001, Ketil Malde wrote:
(snip)
function definitions. Perhaps one could have had a syntax like
z a =
| a == 1 - 1
| a == 2 - 3
instead, as it'd make it more consisten with the case, but I suppose
Next Semester, I am supposed to teach a short course in Haskell.
Can anyone recommend interesting programming projects which can
be completed in about a month? Thank you very much.
This doesn't come from direct experience and you don't specify what the
students will already know, whether
As a general question (and forgive my ignorance): are the various ffi's
implemented using something like `dlopen' or are they done by actually
putting suitable stubs into the Haskell generated C-code which then gets
compiled by the C compiler as part of the overall haskell compilation?
On 14 Sep
Important confession since Fergus is in the discussion: I've not actually
read any of the C or C++ standards; I've got an impression of what they
say from various textbooks and the gcc mailing lists.
On Fri, 27 Jul 2001, Fergus Henderson wrote:
But there are so *many* such stupidities.
If
On Thu, 26 Jul 2001, Frank Atanassow wrote:
also safety, and theorems for free. Then there are other properties
which
are obvious (to a programmer) in a Haskell program which get buried in
the
equivalent C(++) program, e.g., that every member of a data structure is
traversed in a fold (no
I'd like to respectfully disagree with some of this :-)
On Wed, 25 Jul 2001, Frank Atanassow wrote:
These things are nice, but the more I learn about functional languages, the
more I feel that they are only icing on the cake. The most important thing
about functional languages is that we
On 22 May 2001, Carl R. Witty wrote:
D. Tweed [EMAIL PROTECTED] writes:
In my experience the C++ idiom `you only pay for what you use' (==
templates are essentially type-checked macros) and the fact most compilers
are evolved from C compilers makes working with templates a real pain
(This response comes from the context of someone who like FP but has a day
job writing in C++.)
On Fri, 18 May 2001, Jerzy Karczmarczuk wrote:
We know that a good part of top-down polymorphism (don't ask me what
do I mean by that...) in C++ is emulated using templates.
Umm... what do you
George Russell wrote:
(3) Simon Peyton Jones' comments about dictionary passing are a red herring,
since they assume a particular form of compiler. Various (MLj, MLton)
ML compilers already inline out all polymorphism. Some C++ compilers/linkers
do it in a rather crude way as
On Tue, 23 Jan 2001, Mark Tullsen wrote:
Johannes Waldmann wrote:
...
I'd rather write clear code, than worry about efficiency too early.
Who said this, "premature optimization is the root of all evil".
I've always attributed this to Donald Knuth:
Premature optimization is the
On Mon, 27 Nov 2000, Frank Atanassow wrote:
Java. Do you think that Haskell would be better without `unsafePerformIO'?
Without remarking on C#, I just wanted to point out that unsafePerformIO is
not part of the Haskell language...
Umm, I hope that everyone in the implementors camps feels
On Fri, 18 Aug 2000, Doug Ransom wrote:
I do believe FP is current 90 degrees out of phase with OO. I think the
isue with tuples, lists, conses, etc. it the big problem. I currently see
no way for someone to write a clever matrix library in Haskell and have it
seamlessly integrate into the
On Tue, 27 Jun 2000, Lennart Augustsson wrote:
Using `Left' and
`Right' for such cases is fundamentally confusing since it is not
clear what the meaning of `Left' and `Right' is.
Well, I don't totally agree. Anyone using Right for Wrong deserves to
have his/her head examined. :)
I
I knew of the namespace collision effect.
But one has to choose between the bad and worse.
And in any case, there remain too many ways to error.
We also may paste
True :: Bool instead of False
(the type design does not help),
On 1 Jun 2000, Ketil Malde wrote:
I could accept "mode flags" if the algorithm is extremely similar,
e.g. passing a comparator function to a sort is a kind of mode flag
(think ordered/reversed) which I think is perfectly acceptable.
Having flags indicating algorithm to use (sort Merge
On Wed, 31 May 2000, S.D.Mechveliani wrote:
And we can hardly invent the mode type better than Char,
because any specially introduced mode types bring the long names.
quotRem 'n' x (-3) looks better than the pair quotRem divMod,
and
quotRem QuotRemSuchAndSuch x (-3)
On Wed, 29 Mar 2000, Matthias Mann wrote:
Has anybody some experience on what's the best way to write programs that may
interact in multiple languages?
My first thought was to extract all texts from the source and put them into a
big list or array. The program then accesses the list
On Fri, 24 Mar 2000, Marc van Dongen wrote:
Hmm. I must have missed something. My hugs (1.4) allows it.
I was assuming that Haskell did allow it.
As it turns out my latest ghc doesn't. That's cool.
If you haven't loaded any modules then hugs is in `module scope' of
prelude and it's possible.
This is just a curious thought:
happened to read
http://www.arstechnica.com/reviews/1q00/dynamo/dynamo-1.html which makes
the very interesting point that optimizingcompilers have a difficult job
given that they don't know the relative importances of various paths of
execution through the program
On Thu, 23 Mar 2000, D. Tweed wrote:
such things? (The closest thing I'm aware of is David Lester's stuff on
throw away compilation (sorry no pointer)) It just seems that functional
As Julian Seward kindly mentioned to me, I meant David Wakeling.
___cheers
"Ch. A. Herrmann" wrote:
I believe that if as much research were spent on Haskell compilation as
on C compilation, Haskell would outperform C.
Unless I've got a dramatically distorted view of the amount of research
that goes on for imperative vs functional languages, and C vs haskell it
On Tue, 14 Mar 2000, George Russell wrote:
Frank Atanassow wrote:
What do you all think?
Well I suppose that includes me, but I'm a bit confused. I've looked at some of
the .lhs files containing the source of GHC, but the so-called literate nature
of the code doesn't seem to me to make it
On Tue, 14 Mar 2000, George Russell wrote:
"D. Tweed" wrote:
Documentation is a vague term: certainly it'd be undesirable for a
specification to the libraries to just a literate copy of the code
itself. But if you're thinking in terms of an open source project where
peopl
On Tue, 14 Mar 2000, George Russell wrote:
"D. Tweed" wrote:
* Comments that actually contain meta-program information, eg pragmas
The Haskell standard system for putting information for the compiler in
things which look like comments is obnoxious, but fortunately not _very_
On Tue, 14 Mar 2000, George Russell wrote:
In any case, in the original example
Who the author is, and what the version is, would be better handled by
CVS or some similar system. The "Name" is redundant; if it doesn't match
the filename, we have total chaos anyway. The License is a drag; I
On Wed, 2 Feb 2000, Koen Claessen wrote:
gen1
/\
gen1gen2 -- once
/ || \
gen1 gen2 gen2 gen3 -- twice
In fact, they will produce the *same* generator "gen2" on
both sides, which will create an undesired dependency
between the two
[Hopefully not off-topic wrt Haskell]
On Thu, 27 Jan 2000 [EMAIL PROTECTED] wrote:
Look at the popularity of PERL
for example. That is one thing I will never understand.
I'm sure I will get flamed to a crisp for this, but...
I think PERL can be quite nice when you want a quick hack that
On Tue, 25 Jan 2000, Chris Okasaki wrote:
I'm with the option (B): negatives are just outside
the domain of takedrop, and should give you an error
message.
For the people that share this sentiment, can you please
explain why ints that are too big should not similarly
give an error?
On Tue, 25 Jan 2000, D. Tweed wrote:
Oops, fixing two thinko's
f _ [] = []
f a xs =res:f a' zs
(ys,zs)=splitAt 40 xs
(a',res)=doStuff a ys
(My haskell coding is getting worse than my C++, which I didn't believe
possible...)
___cheers
On Sun, 28 Nov 1999, S.D.Mechveliani wrote:
Is there any problem?
Introduce the program variables x,y... and bound them to the symbolic
indeterminates.
For example, in DoCon program, it is arranged about like this:
let { s = cToPol ["x","y"] 1; [x,y] = varPs s }
in
On Sun, 28 Nov 1999, S.D.Mechveliani wrote:
DoCon provides the standard functions
cToPol "coefficient to polynomial",
varPs "variables as polynomials".
In other algebra systems, they are easy to program too - as soon as
On Fri, 26 Nov 1999, Jerzy Karczmarczuk wrote:
Do you know what makes Maple so attractive for newbies, for teachers,
etc? One of the reasons is simply scandalous, awful, unbelievably
silly : the lack of distinction between a symbolic indeterminate,
and the program variable. You write ...
On Thu, 25 Nov 1999, Eduardo Costa wrote:
course. Since I am not able to program in languages like C or
Oberon, I would like to have a practical lazy functional compiler
(or a practical prolog compiler). I hope to convince people to implement
such a compiler.
I think the compiler that you
On Tue, 28 Sep 1999, Fergus Henderson wrote:
Personally I'd
always write the above, not so much for performance reasons as the fact
that if the objects in the vector have a shallow copy constructor
(generated automatically silently) but a destructor that deallocates
resources you've
On Mon, 27 Sep 1999, S.D.Mechveliani wrote:
Now it shows the ratio * 6 *.
[snip]
But this mess with platforms and versions, is not, probably, so
important, because people can compile and run this program in their
own environments - and correct the performance result.
What do you
On Wed, 22 Sep 1999, Antti-Juhani Kaijanaho wrote:
On Wed, Sep 22, 1999 at 02:53:03PM +0100, Claus Reinke wrote:
Functional programming, i.e., programming with functions, is possible in
languages that do not support all features that have become common in
many functional languages.
[eg.
On 21 Sep 1999, Marcin 'Qrczak' Kowalczyk wrote:
Sat, 18 Sep 1999 00:06:37 +0200 (MET DST), Juergen Pfitzenmaier
[EMAIL PROTECTED] pisze:
I dont't care very much how fast a program runs. I care about how
long it takes me to write it. If you take a programming task of
reasonable
On Wed, 8 Sep 1999, S. Alexander Jacobson wrote:
Are we talking about documentation for the H98 libraries?
Are these libraries relevant? Don't MPTC, Existential Types, Restricted
Type Synonyms, Arrows, and an FFI substantial change the architecture,
interface, and implementation of the
On 25 Aug 1999, Marko Schuetz wrote:
What I would like to know is: wouldn't it make sense to have the
transformation
f x = e where e does not mention x
--
f x = f'
f' = e
in hugs? Did I miss anything?
What if e if huge (maybe an infinte list of primes) and f x is used only
very
Warning: comments based on mailing list/internet obesrvations which may
be more representative of what people say than what they do.
On Thu, 19 Aug 1999, Mark P Jones wrote:
Hi Alex,
| Out of curiosity, how big is the user community? How many downloads of
| the software? How many are on
On Fri, 20 Aug 1999, Bob Howard wrote:
data Tree a = Leaf a | Branch (Tree a) (Tree a)
Branch :: Tree a - Tree a - Tree a
Leaf :: a - Tree a
Im just learning haskell and I cant seem to figure out what is wrong with the above
code.
Im using Hugs98 as in interperator (sp) and I keep
On Fri, 13 Aug 1999, Rene Grognard wrote:
My question is therefore: is Haskell at all suitable for complex numerical
applications ?
_In my opinion_, Haskell is suitable for numerical programming if you
don't need performance close to C (because your problems are small say and
you're
On Wed, 11 Aug 1999, Rob MacAulay wrote:
Thanks for the info. However, I think these are only useful if one
has the original TeX source. If one only has the translated
postscript, the fontas are embedded (so Acrobat Reader tells me..)
as type 3 fonts.
I found a link to something called
On Wed, 28 Jul 1999, Hans Aberg wrote:
At 14:02 +0100 1999/07/28, D. Tweed wrote:
As for a math description of references, one could take the view that one
always constructs objects a, with references r. Then what is indicated in
the language is often the object pairs (a, r) modulo
On Tue, 27 Jul 1999, Simon Marlow wrote:
req a b = unsafePerformIO $ do
a' - makeStableName a
b' - makeStableName b
return (a' == b')
That's exactly what to use in a situation like this. Pointer equality loses
referential transparency in general (as Simon P.J. pointed out),
[drifting off-topic]
On Fri, 11 Jun 1999, Malcolm Wallace wrote:
David Tweed writes:
I think it'd probably better software engineering to split the two tasks.
Other than a rather nasty syntax, make does what it sets out to do quite
well: using specified dependencies and time-stamps on
On Fri, 11 Jun 1999, Malcolm Wallace wrote:
Well, compiler-independent is possible (e.g. hmake extracts
dependencies from any Haskell sources, regardless of compiler.)
However, language-independent is much more difficult. How could one
tool deal with all of C, C++, Haskell, and LaTeX?
On Thu, 10 Jun 1999, Craig Dickson wrote:
programming, especially lazy functional programming. If it seems desireable
to re-implement a standard Unix utility in Haskell, I suggest 'make'. One
could even design and implement a 'make' that would know all about Haskell
modules, and parse them
On Wed, 5 May 1999, Kevin Atkinson wrote:
Normally given the class.
class Listable c b where
toList :: c - [b]
to list will never be able to be resolved unless the signature is given
when toList is called because there is no way to derive the type of b
from the function call.
I'm as excited about the possibility of a limited form of compile time
evaluation via rewrite rules but I'm a getting a bit worried that no-one
has made any examples where there's an laziness to consider: I really
wouldn't want semantic differences depending on the degree of optimization
I
On Tue, 27 Apr 1999, Hans Aberg wrote:
Then Haskell uses this to implement sets and maps by using C++ STL style
balanced trees. As Haskell already has generic variables, just as in the
case of lists, it needs only be implemented once.
As just a general comment, from my usage of the STL it
On Fri, 16 Apr 1999 [EMAIL PROTECTED] wrote:
(Btw, does anybody know why ghc4.02 complains about comments starting
with a character different from space (like in ``--:: type'')? This is
certainly not intended, is it?)
Last I heard this was a deliberate feature of Haskell 98 so you can
On Fri, 19 Mar 1999, Fergus Henderson wrote:
Generally programming languages themselves are always free, i.e. very
few people have ever tried to copyright a language, and when they have,
the courts have for the most part rejected such attempts (e.g. see [1]).
It is of course possible to
On Wed, 17 Feb 1999, michael abbott wrote:
As a C++ user (with a background in categories) patiently waiting for
something a lot better, I personally favour two principles:
1.let's go for undecidable type checking. I want the compiler to be able
to do as much work as possible: ideally,
On Fri, 22 Jan 1999, David Barton wrote:
Peter M|ller Neergaard writes:
1) The implementation of list concatenation ++. In the Haskell
report it is stated that ++ in general is an operator on monads.
In the case of lists, ++ works as list concatenation. However,
I
On Fri, 4 Dec 1998, Keith Wansbrough wrote:
Surely it would be better to split the one stream into several infinite ones:
splitStream :: [a] - ([a],[a])
splitStream xs = unzip (spl xs)
where spl (x:y:xs) = (x,y):(spl xs)
Then you don't have to know how many you are going to
On Mon, 13 Jul 1998, Eric Blough wrote:
Alastair Reid writes:
[EMAIL PROTECTED] (S.D.Mechveliani) writes:
Recent Haskell ignores the possibility of the automatic type
conversion. Thus,
1 + 1%2
is ill-typed.
and goes on to propose a fix.
On Wed, 24 Jun 1998, Erik Meijer wrote:
and has written substantial programs. Please, no more "introduction to fp"
books!
This is exactly why the summerschools on advanced functional
programming are there. After one in Sweden and one in the USA,
the third school will be in Braga,
On Tue, 26 Aug 1997, David Wilczynski wrote:
1) JAVA -- Are there any plans to compile Haskell into byte codes for
execution on the Java Virtual Machine? The Java issue is very important.
This raises an interesting question (although it doesn't really directly
help David). From what I've
Firstly, sorry about the double post -- my mailer seems to have the idea
that _any_ e-mail adress _anywhere_ in the header should be replied to.
On Wed, 27 Aug 1997, Hans Aberg wrote:
At 10:35 97/08/27, D. tweed wrote:
.. From what I've read, the JVM is designed to be a
platform independent
Hi,
I'm writing a program for which a major part of both the code and (I
think) the execution time will be taken up by a parser( written using
parsing combinators a la Hutton Meijer's report on monadic parser
combinators). In order to try to find silly slips through type checking I
wanted to use
90 matches
Mail list logo