Recently, Simon posted this message which describes a problem
that is caused by the fact that Haskell demands type constraints
to be of the form C a where C is a class identifier and a is a type
variable.
This is not the first time that people have complained about a problem of
this sort.
Since
defined in the Prelude BUT MAY NOT
BE TRUE FOR USER-DEFINED INSTANCES.) (capitalization by Erik)
Boooh, Booh!
n lecturers are:
John Hughes, G"oteborg, John Launchbury, OGI,
Mark Jones, Nottingham, Phil Wadler, Glasgow,
Jeroen Fokker, Utrecht, Lennart Augustsson, G"oteborg,
Dick Kieburtz, OGI, Magnus Carlsson and Thomas Hallgren, G"oteborg,
Erik Meijer, Utre
e how great our programs look when we can write
greek letters and other nice squiggols. I think this is especially relevant
in a functional language as we pretend that they are "mathematical".
I have a dream that one day my daughter will be able to use her name
(which contains two grave accents) as a valid Haskell identifier!
Erik Meijer
notes from the school will be published in Springer-Verlag's LNCS
series.
For more information and registration form, please see our web
page at URL:
http://www.cse.ogi.edu/PacSoft/summerschool96.html
The program organizers are:
* Tim Sheard, [EMAIL PROTECTED], Oregon Gradua
ny pointers?
Hop this helps, if you need more specifc information don't hesitate
to contact me.
To answer Tommy:
> I think there are two major causes to this effect: one is the high
> emphasize on theoretical aspects of the language and a disproportional
> low effort on plain practial aspects.
I agree, if only I had the resources!
Erik
Well done!!
Erik
on the defined behaviour, deterministic or not, and the final
program can be perfectly acceptable if it raises any number of exceptions as long
as they are caught and handled in time. Exceptions are merely a way to structure
the code, so that the main line and error handling can be neatly separated.
Erik Zuurbier
>In an ideal world, the Haskell grammar would be simplified by merging
>the rules for pattern syntax with those for expression syntax.
Yes, Alastair is right once again! Hurray for less syntax but more static
semantics.
Erik
>If you want a functional scripting language with H-M type inference and
type
>classes and monads, that's great, but maybe it should be something separate
>from Haskell.
I have been promoting Haskell exactly for this purpose for some time now,
and I don't buy your points, e.g that
> in a script
l Wadler's homepage (http://www.cs.bell-labs.com/~wadler/)
or Graham Hutton's homepage (http://www.cs.nott.ac.uk/~gmh/).
To see some cool applications of Haskell, have a look at
http://www.haskell.org and especially
http://www.haskell.org/active/activehaskell.html
So, that will keep you bu
he brain dead world of MS Windows.
Erik
>Indeed, I do expect that most of the people on this list will
>go straight to (the moving target of) Haskell 2. The purpose of
>Std Haskell is to address the needs of people who don't need the
>latest greatest, but do need something stable. For example,
>the fact that Haskell keeps moving (whic
say was that (a) the "book" argument
is questionable, and that (b) a better language is the
most important criterium we should use.
Anyway, I think that Simon is doing a great job on
guiding us through the jungle.
Erik
-Original Message-
From: Wolfgang Beck <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Date: Tuesday, July 21, 1998 10:14 AM
Subject: Re: Could Haskell be taken over by Microsoft?
>
>Step 1: MS introduces Haskell with all their marketing power
>
>Step 2: VisualBasic programmers switch to Ha
ow high on my priority list. As Sigbjorn said in his reply, it
is hard to decide which ORB to use, and I did not know about omniORB.
Great new project for the new academic year!
Erik
able in the usual way. Thanks,
The HTML parser and pretty-printer of my CGI-library will happily
parse XML as well, ignoring the DTD all together. You may find
that a good starting point.
Erik
>We would like to invite everyone to check out the "all new"
>haskell.org.
Well done!
Perhaps I should hire Olaf to refresh my web site as well :-)
Erik
Hi,
>Erik Meijer also spoke up vigorously in defence of MonadZero.
The reason for this is that I want the type-checker to catch as many errors
as possible.
>But the Haskell 1.4 story is unattractive becuase
> a) we have to introduce the (new) concept of unfailable
Compared to m
ramming exercises is with these
classes. We are hunting something tiny and neglect something big.
Erik, Haskell Certified Software Engineer, Meijer
Hi fellow debaters,
>I hope you've had fun with all the MonadZero mail.
I surely did.
>My conclusion: we should combine Monad and MonadZero.
>Sorry Erik, but you are now the lone voice in the wilderness.
Don't worry, I am used to that :-)
>Here's a concrete propos
a good one. On the other hand you can easily achieve the
effect yourself using some hiding and adding a handfull of definitions,
which is what I will probably end up doing. An extra level of indirection
can do wonders. The important thing is the translation of the do-notation,
which you cannot influence as a user.
Erik
(Bar) you
automatically import the module in which the Bar class is defined? I think
what you want is import statements at arbitrary places in a module.
Something that was dropped from Haskell98.
Erik "warrior against gratuitous restrictions" Meijer
>Phil's proposal:
> delete class MonadZero, MonadPlus
> delete filterM, guard, mfilter, concatM
>
>This is ok by me. Does anyone object?
No, not at all. The prelude should be as small as possible.
Erik
as'
fromL :: L a -> [a]
fromL as = as []
instance C (L a) where { (++) = ccL }
Do you get the idea? As I said before in an earlier message, an extra level
of indirection keeps the doctor away. The pots (do-notation) and the furnace
(the Haskell core language) must be there and work. There is no disputing
about tastes, so as long as I can spice my own food, I am a happy man.
Erik "Haskell98 burns hotter" Meijer
readability.
>But if we have to add new syntax to make it work then it
>is getting to be more trouble than its worth.
This is *exectly* the reasoning I am opposed to. It is not to the language
designer to decide for me what is readable of not!
Erik "warrior against the Edith Bunkerizing of programming languages" Meijer
heir source code, judging from the
JavaScript code they produce that is visible, or by reading COM and VB
books.
Erik
turn a
list of random numbers, given that you are in the IO monad so that randomIO
could return the next element of this list at every subsequent call.
Erik
future.
Erik "Haskell, the world's best scripting language" Meijer
ing for ADO.
> Thanks in advance,
> Sarah Thompson
> CEO, Telergy Software International Ltd.
You are welcome, these are the kind of applications that I think Haskell is good at.
Yours,
Erik Meijer
gt; F a |
P a } which is the meaning of the qualified type g :: P a => T a -> F a. Selectors
form "the inverse" of constructors (you know what I mean :-) hence they should be
overloaded as well.
Erik
ns mailing list of all places!!
For a good laugh, look at =
<http://www.distributedobjects.com/portfolio/archives/patterns/discussion=
/msg03277.html>
Erik :-)
--=_NextPart_000_0255_01BEA206.F6CDD2A0
Content-Type: text/x-vcard;
name="Erik Meijer.vcf"
Content-Tran
e to use the same name for type constructors and value constructors, as in
data Foo a = Foo a
Erik
peared with its friend the chip on the old FPCA proceedings?
Erik
--=_NextPart_000_006B_01BEBD3E.82A75920
Content-Type: text/x-vcard;
name="Erik Meijer.vcf"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="Erik Meijer.vcf"
bda>).
You can see the result of retouching at http://www.cs.uu.nl/~erik --> Lambada.
Erik "waiting for Sun to sue me" Meijer
;
> catamorphism ==> fold
> anamorphism==> unfold
>
> I think
>
> paramorphism ==> recurse
>
> is just as well :-)
>
> I think it is also somewhere in Erik Meijer's thesis,
> but I don't have it here, so I don't know. (But m
ay to go, or since
you seem to be using C anyway you could resort to GreenCard.
Erik
vily on it!
It is at least available on both Simon's and my webpage: www.cs.uu.nl/~erik ==>
research.
Erik
The future of Haskell (Discussion)
PROGRAM COMMITTEE
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Koen Claessen (Chalmers)
Byron Cook (OGI)
Sigbjorn Finne (Glasgow)
Gregory Hager (John Hopkins)
Fergus Henderson (Melbourne)
Graham Hutton (Nottingham)
Alex
pport .h files, which means that it will even be
easier than before to get automate all the boring work in making standard C libraries
available to Haskell. Just drag and drop it onto H/Direct and off you go. Hopefully
this will convince the COM criticasters and MS sceptists that H/Direct is cool indeed.
Erik
on using implicit arguments, but
alas that is only supported by Hugs :-)
So keep tuned,
Erik
tatus code (as is the case in COM)
foo :: Int -> IO () -- int foo ([in]int* x)
foo :: Int -> IO (Int) -- int foo ([in,out]int* x)
foo :: IO (Int) -- int foo ([out]int* x)
...
Yours,
Erik
) by hand, and while
> doing this, I realised what kind of tool could help me and
> C->HS was born.
I am curious what it automates that you don't need, and what it does not automate that
you do need. We would love to get this kind of feedback so that we can make H/Direct a
better tool that makes you a happy camper and from which everybody can profit.
Yours,
Erik
PS Has everybody already registered for PLI http://pauillac.inria.fr/pli and the
Haskell workshop http://www.haskell.org/HaskellWorkshop.html ?
ng are assignments for my forthcomming Internet
Programming Class):
* use Java Server Pages calling Haskell
* use mod-Haskell under Apache
Erik
* Language implementation:
interoperability, platform independent run-time systems,
program transformation.
* Scripting:
domain specific languages, e-commerce.
Applications will be evaluated from now on until the positions are =
filled.
To apply (or for further details) please send email
Hello Haskell Lovers,
The proceedings of the Haskell Workshop 1999 are now available online in PDF
format via my homepage <http://www.cs.uu.nl/~erik> ==> HaskellWorkshop or
via the departemental Technical Reports repository
<http://www.cs.uu.nl/docs/research/publication/
> Erik Meijer, in his paper "Server Side Scripting in Haskell", FFP, Jan 98
> (www.cs.uu.nl/~erik/) claims that his Haskell/CGI library is a part of the
> standard Hugs distribution. He also thanks the teams from Yale and
> Nottingham for including it as one of the
Theorems for
Free!" paper, a paper every functional programmer should reread at least once a year.
Erik
CGI hackers might be interested in mod_haskell
<http://losser.st-lab.cs.uu.nl:8080/> that was developed by Eelco Dolstra
and Armijn Hemel.
Erik
ched from Redhat to Suse. However, the
mod_haskell site <http://losser.st-lab.cs.uu.nl:8080/> is up and alive now.
BTW the crew is now working on HSP, the one and only alternative for ASP,
PHP, JSP, PSP, ...
Yours,
Erik Meijer
t glue
language, and that types are good.
Erik
RC3 to W2K final release, part of the website got
lost, including the Lambada stuff (Of course the sources are securely
stored under VSS). Once I have submitted the Lambada paper to ICFp, I will
revive the Lambada web-site.
If anybody is in great despair and really wants to use Lambada right away, I
can mail him/her the raw sources.
Erik
gi.edu/~mbs/pub/XMLambda.ps.gz>, regrettably
it was rejected for USENIX) which generalizes this to XML, so
that you can define your own DTD and construct, transform,
and pattern match XML documents using concrete syntax as well.
Much better than XSL.
Erik
PS
There is also a installshield Has
;
> Thank you very much,
> Phan Dung.
You will have to use the type-library of a component to do this. Probably
you can reuse a lot of code from H/Direct.
Erik
udak, John
Peterson, have written to explain the beauty and relevance of monads to
the rest of us.
And if you can explain why IO a is not the same as World -> (a,World), you
are ready to move on to John Hughes' arrows.
Yours,
Erik Meijer
(*) I also like the example that Phil Walder
of vitamins, go jogging, or put their corpse in a freezer
after they die). Perhaps we can sell them FP!
Erik
to play with the
Lambada implementation, drop me a note.
Yours,
Erik Meijer
ode(){
public Object ENTER () {
VM.PUSH(a);
return g;
}
}));
VM.PUSH(a);
return f;
}
}
You will find a little more detail on
<http://www.cs.uu.nl/~erik/MondrianDescription.html> and on the Mondrian
homepage <http://ww
> Any particular reason for generating Java rather than JVM bytecode?
> Does it make a difference?
Yes, we make *heavy* use of innerclasses and exceptions. So we are more than
happy to leave the dirty work to the Java compiler. (We are however
currently working on an "inner classes lifter" so tha
se xs = Prelude.reverse (tail xs)
>
> Cheers, Ralf
I completely agree.
Erik
Have you looked at GHC?
Erik
==
For our research, it would be helpful to have a "demodulizer" for Haskell
--- that is, a program that can translate a Haskell program consisting of
several modules into a single module. Ideally, this
This is what Lambada is all about.
If you are interested in a copy please let me know.
Erik
that
Haskell has, but the .NET runtime lacks, that is lazy evaluation and
currying (what else can you expect). You can find the essence of the
translation on http://www.cs.uu.nl/~erik/MondrianDescription.html. Since C#
(our target for the .NET framework) lacks inner classes, we have to lift out
inn
> Erik Meijer <[EMAIL PROTECTED]> wrote:
^^
Yes, that refers to the computer lab sponsored by MSR Cambridge
and MS Netherlands in Utrecht.
> > The plan is to have the release out the door by September 1st.
>
> Will that release support Haskell, o
version
of the traditional installation-dependent application
model is a necessity in a world where users will
enjoy the benefits of services on multiple devices.
http://www.microsoft.com/net/
Erik
ere :((
No, Nigel is not breaking an NDA by accident and revealing that MS has
ported W2K to the PowerPC. He uses VirtualPC (which effectively *is* a port
of W2K to the PowerPC in some sense).
Erik
> I'm weird, but not a true 'CS' person. I run Linux -- do I
> need to move to NetBSD?
The single Linux box we have in the Microsoft lab was severely hacked from
the outside, they have moved to FreeBSD, which is supposed to be safer (I
hope so).
Erik
ively not *at* Microsoft. I
doubt there are any Linux boxes at Microsoft :-)
Erik
st point out a
few:
(a) there is no need to use x:xs anywhere in the program, as nowhere you are
splitting/combining the list.
(b) you are trying to divide a number by a list, which is even harder than
comparing apples and oranges.
(c) your are taking the conjunction of two definitions
Erik
you can imagine, the type system for such a language will be
quite a challenge. The current Mondrian implementation is much like SASL
(who remembers that great language) waiting to evolve to Miranda (watching
too much Pokemon these days :-)
Erik
- Original Message -
From: "Doug R
d from MS comes a 500 page specification of
the runtime and the IL. So if you have a free Saturday and you want to get
famous, then give that Linux implementation a try.
Some interesting background on MS plans to standardize this stuff is
available at http://www2.hursley.ibm.com/tc39/mins-13jul00.html#csharp.
Erik
This one of the reasons why I never use literate programming. I always
forget the blank lines, and then after being puzzled by the error, I
remember it, and get completely turned off.
> C Literate comments
> [...]
> To capture some cases where one omits an ">" by mistake,
> it is an erro
This is exactly what I proposed when fmap and the other weird names were
introduced. Hopefully there are more allies now.
Erik
- Original Message -
From: "Koen Claessen" <[EMAIL PROTECTED]>
To: "The Haskell Mailing List" <[EMAIL PROTECTED]>
Sent: Tu
Is there any documentation on using the FFI in the just released Hugs beta?
For example, what steps should I take to call the following C function?
#include
void Hello () { printf ("Hello from C"); }
Erik
___
Haskell mailing l
use unsafePerformIO (that's this year's April fools' joke :-).
Do a Google on "Monads Haskell" and you will find plenty of answers; in
short you should "bind" the result of readFile using (>>=) : IO a -> (a ->
IO b) -> IO b.
Erik
- O
> [...many lines deleted...]
> I think it's important to have a simple model of how many times
expressions
> are evaluated. Function bodies are clearly evaluated many times, once for
each
> call, but non-function bindings should be evaluated at most once to
respect
> call-by-need semantics. Breaki
In the good old days, you could use Hugs as a IE scripting engine, but that
is not supported anymore.
- Original Message -
From: "Michae Fliegner" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, May 04, 2001 3:51 PM
Subject: Question: Hugs as Browser Plug In
> I have - or at l
app for (.cabal) is installed.
I'm running VS2005 prof ed. English version
I'm eager to learn Haskell but I would like to do it in Visual Studio so
I very much would like this to work.
Cheers
Erik Westlin
-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf
Doaitse,
For generate 4 this gives a.o. three equivalent solutions: [1,1,2],
[1,2,1] and [2,1,1]. I guess the ultimate idea would be to prune
permutations.
Regards Erik Zuurbier
Onderwerp: Re: [Haskell] Can anyone help me with partition numbers?
Or (since we started to do someone's hom
> My problem:
> --
> One of the algorithms I have to implement is the
> addition of symbolic expressions. It should have
> two symbolic expressions as arguments and should
> produce a symbolic expression as the result. But
> how the result is produced is depending on series
> of flags tha
Koen Claessen <[EMAIL PROTECTED]> wrote:
> let x :: N Int
> x = veryBigExpression
>
>in plus x x
>
> Then "veryBigExpression" depending on an "Env" gets computed twice if you
> finally provide the "Env".
I do not see this as a problem. In fact it forces you to think about
the dif
I have a couple of type constructors I would love to make instances of
the Monad class but which I can not. I would like to know if I have
just missed something, if I am trying to do something silly, or if they
in fact suggest improvements on the existing class system.
The first example is the
BTW, the haskell-cafe mailing list may be a better place for questions
like this. It seems to have a larger readership and is more discussion
focused while this list is more for announcements.
Cheers,
Erik
--
through the LLVM tools.
In particular, this list is a place to share code, information,
techniques and user experiences.
The subscription page is here:
http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-llvm
Cheers,
Erik
Haskell bindings to that particular library,
but from the documentation:
http://hackage.haskell.org/packages/archive/hsndfile/0.4.0/doc/html/Sound-File-Sndfile.html
- sf_open seems to map to openFile
- sf_read_short seems to map to
to be listening on port 25.
I would email the administrator, but that is also an @projects.h.o
address and I doubt it would get through.
Posting here in the hope that someone who sees this can fix it.
Cheers,
Erik
--
--
Erik de C
Erik de Castro Lopo wrote:
> Hi all,
>
> I tried sending mail to the haskell-llvm mailing list ( AT
> projects.haskell.org) several days ago and today I received a bounce
> message.
>
> Looking into the issue a little further, I find that DNS has no MX
> record for
le message (and has been
for a couple of days).
Cheers,
Erik
[0] http://projects.haskell.org/cgi-bin/mailman/admindb/haskell-llvm
--
--
Erik de Castro Lopo
http://www.mega-nerd.com/
_
tested it on
linux-powerpc, but would also like to test it on *BSD/Darwin.
Anybody out there interested? You will need:
* A PowerPC machine running *BSD or Darwin.
* A working GHC compiler.
If you're interested email me at erikd AT mega-nerd dot com.
Cheers,
class
> instances (e.g. Binary) for them without creating odd package
> dependencies (or packages that depends on everything under the sub).
+1
Erik
--
--
Erik de Castro Lopo
h
David Banas wrote:
> Does anyone have an ETA for ghc v7.10.3?
> (I'm trying to decide between waiting and backing up to 7.8.2, for a
> particular project.)
I am not aware of any concrete plans for a 7.10.3 release. You should
upgrade to
91 matches
Mail list logo