proposal: change `Introducing Haskell 1.3' to read
Every data type, including -, is a member of the Data class.
John Hughes
much like a serious Haskell user on the
committee --- someone who's interest is not so much in Haskell per se, as in
an application of (ideally) many tens of thousands of lines. I don't yet have
such a person. So if you fall in that category, and you would be willing to
help, please contact me!
John
ified since their inception ---
another reason why they are not considered unduly complex today. That's the
kind of simplification which I hope we can achieve.
John Hughes
are not. However, I don't want to pre-empt the committee's
work here by saying in advance what will go in and what will not.
John Hughes
there will be a period of several months for evaluation
and revision, with the final definition hopefully complete by late next
year.
If you would like to follow the progress of the committee, you can
find the entire discussion via
http://www.cs.chalmers.se/~rjmh/Haskell/
John Hughes
the opinions of Haskell users.
You can read about the issue at
http://www.cs.chalmers.se/~rjmh/Haskell/Messages/Polls/matching.html
where you'll find a link to a web form for collecting votes.
Please give us your views!
John Hughes
is under discussion right now in the Standard Haskell
committee. See
http://www.cs.chalmers.se/~rjmh/Haskell/Messages/Display.cgi?id=302
John Hughes
/Messages/Polls/matching.html
John Hughes
Fergus Henderson says:
But it is difficult to track the ongoing discussion, because
- the interface is slowww (they don't call it the "World Wide Wait"
for nothing)
- it is difficult to keep track of which parts you have read already
and which
From [EMAIL PROTECTED] Thu Dec 11 17:23:40 1997
Return-Path: [EMAIL PROTECTED]
Received: from mulga.cs.mu.OZ.AU (mulga.cs.mu.OZ.AU [128.250.1.22])
by animal.cs.chalmers.se (8.8.5/8.8.5) with SMTP id RAA10360
for [EMAIL PROTECTED]; Thu, 11
Prelude 1.0 - 0.8 - 0.2
-1.49012e-08
Taking Ian Stark's example a little bit further,
Main let x=6.0e-8 in (1.0,1.0+x,1.0==1.0+x)
(1.0,1.0,False)
is a useful reminder that show isn't one-to-one.
John Hughes
Haskell 98". So as a documented bug, it must be a feature -- but perhaps one which
might be removed in a future version?
John Hughes
1) are anyone pursuing this line of work, and
Sadly, Urban left us for industry (Carlstedt Research and Technology), where
Thomas Johnsson is also on sabbatical at the moment. So nobody here is
pursuing this at the moment.
2) is the software available?
Ask Urban: [EMAIL
ST h' = f a
in h' s')
where once again, the implementation of (=) is strict only if f is a
strict function. Hence `lazy state' makes sense!
John Hughes
___
Haskell mailing list
[EMAIL
Däcker, Ericsson Utvecklings AB
John Hughes, Chalmers University of Technology
Gunilla Hugosson, Ericsson Utvecklings AB
(Programme committee)
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
inefficiencies easier or harder to find. Haskell just can't
be used in practice unless one tracks down and fixes space leaks. I don't want
to be debugging time leaks caused by unexpected call-by-name as well!
--
Andreas Rossberg, [EMAIL PROTECTED]
John Hughes
://www.md.chalmers.se/~rjmh/tutorials.html
which you might find useful.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
! The point is, of course, to produce the
infinite stream of digits of e itself, not some approximation to it, as a
couple of solutions posted earlier do. I'm attaching my solution (a literate
Haskell script) which produces about 250 digits before hugs runs out of memory.
John Hughes
hello, i just want to ask a simple question: does somebody have or
know =
where to find a haskell program that calculates the number e, that is =
the list of infinite digits? Because i think it may be possible to do =
it, but i
in
x with ?x = 1)
with ?x = 2
-- b == 1
It's the infamous monomorphism restriction at work, again, of course. Now,
what are the proof rules for reasoning about implicit parameters again (:-)?
John Hughes
___
Haskell mailing list
John Hughes wrote:
I noticed today that the presence or absence of a type signature can
change the RESULT of an expression in Hugs and GHC nowadays. Here's an
example:
a = (let x = ?x in
x with ?x = 1
John Hughes wrote:
What we need is different binding syntax for monomorphic and polymorphic
bindings. Roll on := and = ...
If I recall correctly, in some earlier language (KRC?)
this difference was achieved by letting let-bindings
John Hughes wrote:
What we need is different binding syntax for monomorphic and polymorphic
bindings. Roll on := and = ...
I agree absolutely that we need such a distinction. Although it's
worth clarifying a point. The monomorphism restriction
I'll try explaining via example:
I am trying to define a `Pairable' class, which is an abstraction
of all kinds of pairs: (a,b), Pair a b, etc.
class Ord p = Pairable p where
is_pair :: p - Bool
pair_fst :: Ord a = p - a
Look at Rex Page's Beseme project
http://www.cs.ou.edu/research/beseme.shtml
(which uses the Hall and O'Donnell book to do some interesting educational
research).
John
___
Haskell mailing list
[EMAIL PROTECTED]
discusses among other things how to simulate abstraction over a class by
abstraction over the corresponding dictionary type. You might find the
technique useful. It's at
http://www.cs.chalmers.se/~rjmh/Papers/restricted-datatypes.ps
John Hughes
Simon PJ and I have come up with an extension to newtype deriving clauses
which is intended to make it easier to make types abstract.
Suppose you are about to write a type definition. You face a choice between
defining it as a type synonym, and making it a new, potentially abstract
type. Often a
a), and the
call of runST types.
Thus the problem with the first form above is just that a case binding doesn't
generalise the types of the bound variables. As far as I know, there's no
reason why it shouldn't, but that's just the way Haskell is. It's a pain, but
there we are.
John Hughes
that
the natural matching on T1 is lazy, and on T2 is strict. Given that, I think
it's a cleaner design to have two constructs, than to make do with just data
and settle for nearly preserving semantics when making a new type
distinction.
John Hughes
Suppose I have the following function definition:
app :: (?ys :: [a]) = [a] - [a]
app xs =
case ?ys of
[] - xs
(y:ys') - y : (app xs with ?ys = ys')
This function appends its argument to its implicit argument,
[Resent with permission of author -=chak]
I'm beginning to find implicit parameters *extremely* useful, so I think it's
important to get this right. I have some code that will have to change, but not
as much as I will have in a couple of years...!
I find adding a keyword to implicit parameter
On Monday 04 February 2002 02:25 am, John Hughes wrote:
Not so fast! Proposing a solution means this is regarded as a problem!
But what is to say that the first behaviour is right in any general
sense?
The important thing is that the language
The basic bind operations etc are overloaded for IO and ST,
but to overload the Ref operations one needs to add
class RefMonad r m | r - m, m - r where
newRef :: a - m (r a)
readRef :: r a - m a
writeRef
John Hughes despaired:
| Oh no, please don't do this! I use the RefMonad class,
| but *without* the dependency r - m. Why not? Because
| I want to manipulate (for example) STRefs in monads
| built on top of the ST monad via monad transformers
Ashley Yakeley wrote:
At 2002-02-06 01:09, John Hughes wrote:
No no no! This still makes the reference type depend on the monad type, which
means that I cannot manipulate the same reference in two different monads!
Yes you can. Consider:
-- m
Simon writes:
There were really two parts to my message:
1. Have a single built-in type (Ref), rather than two (IORef and
STRef).
I don't see how that can be anything other than a Good Thing, can it?
The primitive operations over Refs are still
kind inference, and presumably explicitly set
uninstantiated kind variables to * at some stage. Maybe generalising them
instead would be a simple modification and language extension that would solve
this kind of problem.
John Hughes
___
Haskell mailing list
much how useful the heap profiler is for
building good intuitions about how programs are evaluated. I'd strongly advise
intermediate Haskell programmers to spend some time using it: one learns a
LOT!
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED
them. For the *language* to rule out constructing
different representations for equivalent constructions, such as and =,
would be unreasonable.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
I think the point that's being missed in this discussion
is that a monad is a n *abstract* type, and sometimes the
natural equality on the abstract type is not the same as
equality on representations. ... If we can give a more efficient
Why can I not define the following (in ghc):
class Foo p where
instance Foo Double where
foo :: Double - (forall q . Foo q = q)
foo p = p
From my humble (lack of) knowledge, there seems to be nothing wrong
here, but ghc (5.03)
own program.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
)))
where if you substitute for fac before applying the lambda-expression, you
clearly fall into a loop.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
(galois.com), although I know there are others. Funny there's no Haskell
in Industry section on haskell.org -- it might be small, but it wouldn't
be empty, if people using Haskell were willing to stand up and be counted.
John Hughes
___
Haskell mailing
On Fri, 24 May 2002, Tom Schrijvers wrote:
The first result for nub in dictionary.com gives:
nub Pronunciation Key (nb)
n.
1. A protuberance or knob.
2. A small lump.
3. The essence; the core: the nub of a story
I think essence is the right meaning, removing all duplicates.
Cheers,
On Sat, 25 May 2002, Koen Claessen wrote:
There are many types which would fit nicely in an arrow
framework, but do not because of the demand of these
operators, here are two examples:
* Isomorphisms, are nice arrows:
type Iso a b = (a - b, b - a)
but of course not all
monadic do,
you name the values entered into input fields at the time you create the
fields, and you supply a call-back function for the submit button. That's
it.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo
What does nub stand for? (This is the first I've heard of it.)
From the definition in List.hs it seems to remove repeats, keeping
only the first.
Yes, that's what it does. It doesn't stand for anything, it's a word:
nub: small knob or lump, esp. of coal; small residue, stub; point or gist
On Mon, 2 Dec 2002, Andrew J Bromage wrote:
... If you mention a term like design patterns,
well I love design patterns, it's just that in Haskell-land
they are called higher-order functions, or polymorphic functions, etc.
-- Johannes Waldmann
On Tue, 3 Dec 2002, Andrew J Bromage wrote:
On Mon, Dec 02, 2002 at 10:27:21AM +0100, John Hughes wrote:
There are patterns of that sort in our programs, which we would probably
rather call design techniques, which aren't so easily captured by a
higher-order function definition
On Thu, 16 Jan 2003, Hal Daume III wrote:
I have a function which behaves like map, except instead of applying the
given function to, say, the element at position 5, it applies it to the
entire list *without* the element at position 5. An implementation looks
like:
mapWithout :: ([a] - b)
Haskell against ... which often leads them to become real Haskell
enthusiasts! But then again, my course emphasises real programming and
real-world problem solving, at the expense of logic and induction.
John Hughes
___
Haskell mailing list
[EMAIL
()
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
- Great care should be exercised in the use of this function. Not only
- because of the danger of introducing side effects, but also because
- \code{unsafePerformIO} may compromise typing, for example, when it is used
- in conjunction with polymorphic references.
Or maybe it
to fund this work. The project leaders are John
Hughes, Mary Sheeran, Peter Dybjer, and Thierry Coquand.
We are looking for well qualified candidates with a recent doctorate
in a related area, and with proven system building skills, to spend up
to two years with us as Research Fellows. We are looking
) for our Java course
and a cryptography course. It consists of about 600 lines of Haskell and
18 lines of C.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
On Thu, 4 Sep 2003, Sebastian Sylvan wrote:
On Thu, 4 Sep 2003, John Hughes wrote:
I wrote the system for my (Haskell!) programming course, with 170 students
last year, and it is now also being used (at least) for our Java course
and a cryptography course. It consists of about 600 lines
On Fri, 5 Sep 2003, Johannes Waldmann wrote:
On Thu, 4 Sep 2003, John Hughes wrote:
I use Haskell and Wash/CGI for administering students lab work.
same here (in addition to Haskell programs for actually grading the homework).
just curious: what kind of data base do you use?
we take
On Fri, 5 Sep 2003, Simon Marlow wrote:
... Claiming a lock on a file is
easy in C (well,
it takes 18 lines...), but there's nothing in the standard Haskell
libraries that can do it. So I borrowed a little C code from
the net, and
called it via the FFI.
Locking support is available
.
That said, maybe it is surprising that no good Haskell pretty-printer has
appeared yet, especially given the importance of layout in the language.
Why not write one? I dare say there would be many users, and no doubt you
could publish a paper at the Haskell Workshop...
John Hughes
recognise that.
Incidentally, exactly the same problem arises for functions: Haskell does
not have true functions either, because _|_ and \x - _|_ are not equal.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo
Robert Will wrote:
4.
A notation for preconditions. For simple functions a Precondition
can be calculated automatically from the Patterns:
head (x:xs) = x
Gives the Precondition @xs /= []@ for @head [EMAIL PROTECTED] This only needs
some simple knowledge
Adrian Hey wrote:
On Friday 26 Mar 2004 10:39 pm, Sean E. Russell wrote:
Why is Ocaml so darned fast compared to Haskell?
...
Also, I have a hunch that not only is eager evaluation inherently
more efficient (in terms of the raw number of operations that need
to be performed), it's
Adrian Hey wrote:
On Monday 29 Mar 2004 3:49 pm, John Hughes wrote:
Actually the cache behaviour of code generated by GHC isn't at all bad.
I know because I ran a student project a couple of years ago to
implement cache-friendly optimisations. The first thing they did was
cache
System.IO.Unsafe.
That will delay its evaluation until rs is evaluated, once again AFTER
the enclosing call has returned. But that is -- well -- unsafe.
John Hughes
PS You can read about lazy state here:
http://portal.acm.org/citation.cfm?id=178246coll=portaldl=ACMCFID=22769016CFTOKEN=85305111
. It's a function in the standard
library Directory, documented here:
http://haskell.org/onlinereport/directory.html
getDirectoryContents :: FilePath - IO [FilePath]
A FilePath is just a String.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http
this in Haskell?
Just a supplement to my previous message: you can find better
documentation of the Directory library here:
http://www.haskell.org/ghc/docs/latest/html/libraries/base/System.Directory.html
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http
Lennart Augustsson and Thomas Johnsson got some encouraging results
fifteen years ago with their nu-G-machine. They compiled Lazy ML for a
shared memory multiprocessor, and benchmarked against the sequential LML
compiler, the precursor of hbc and at that time the best compiler for a
lazy
at the workshop itself.
John Hughes and Peter Dybjer (session organisers)
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
to complete. Please help by doing so! As a reward,
you'll get to see a summary of the responses so far.
The survey is at this URL:
http://www.cs.chalmers.se/~rjmh/Wash/Survey/Survey.cgi
Thanks for your help! I'll post a summary of the results to the list.
John Hughes
the mark!)
John
On 09/11/05, Sebastian Sylvan [EMAIL PROTECTED] wrote:
On 11/9/05, Fraser Wilson [EMAIL PROTECTED] wrote:
On 11/9/05, Aaron Denney [EMAIL PROTECTED] wrote:
On 2005-11-09, John Hughes [EMAIL PROTECTED] wrote:
The survey is at this URL:
http
Tomasz Zielonka wrote:
On Wed, Nov 09, 2005 at 04:55:46AM -0500, Cale Gibbard wrote:
It seems that if you keep trying to fill out the form, you will
eventually succeed. If someone finishes filling out the form between
when you start filling it out and when you finish, then the
Tomasz Zielonka wrote:
The tools list is extended automatically, after a response? There is an
odd entry Parsec, HOpenGL
Someone hasn't read the instructions :-)
BTW, is there a way to update my entry? I forgot to mention one of the
best tools I use - Parsec :-(
I'm afraid not,
Subject: Re: [Haskell] Haskell users survey--please respond!
Hello,
why doesn't the section about Haskell tools and libraries mention
HToolkit?
Best wishes,
Wolfgang
Because you haven't added it!
The survey is designed so that each respondent can add NEW favourite tools
to the list,
I want to stress that I'm interested in responses from ALL users--if
you're
a complete beginner writing your first Haskell programs on a course, I'd
like to know that, just as if you're one of the designers using it for
your next POPL article.
Do you also want respones from people which once
Am Mittwoch, 9. November 2005 13:09 schrieben Sie:
On Wed, Nov 09, 2005 at 01:02:19PM +0100, Wolfgang Jeltsch wrote:
Only 2% find fglasgow-exts useful???
Only 2% consider it a tool or library.
I think that if John cares about getting reliable results, he should
take the results from this
I would
appreciate it if you could help me by informing colleagues who are using
Haskell about the existence
of the survey.
The information gathered will be used in the History of Haskell paper
that I, Simon PJ, Phil Wadler
and Paul Hudak are working on.
Thanks very much for you help!
John
Wolfgang Jeltsch wrote:
Am Montag, 28. November 2005 16:39 schrieb John Hughes:
I'm carrying out another survey of the Haskell community, this time to
find out how Haskell is being used in university teaching.
Roughly how many students took the course last time it was taught?
What
Wolfgang Jeltsch wrote:
What is the first programming language students on your degree programme
learn?
What is the second programming language students on your degree programme
learn?
This is too restrictive. What if the lecture Computer Science I is held in
different years by different
- Original Message -
From: Jake Luck [EMAIL PROTECTED]
To: haskell@haskell.org
Sent: Friday, January 27, 2006 7:41 AM
Subject: Re: [Haskell] Discrete event simulation
Part of this will be some kind of synchronisation primitive. I don't
much care what it is, but somewhere I need a
. The survey is now closed, and the results are available on the web
at http://www.cs.chalmers.se/~rjmh/Wash/Survey/teaching.htm. I've put up
the raw data, together with various simple analyses.
Enjoy!
John Hughes
___
Haskell mailing list
Haskell@haskell.org
With a view to this I started collecting just the announcements on a
`feed' here:
http://www.cse.unsw.edu.au/~dons/code/hwn/announce.html
These should serve as a basis for the content, I think.
Can you add an actual date? Seeing things dated a few days ago does
contribute to a
Dusan Kolar wrote:
Malcolm Wallace wrote:
Paul Johnson [EMAIL PROTECTED] wrote:
Is there a market that is poorly served by the incumbent languages for
which Haskell would be an absolute godsend?
Yes. Safety critical systems, encompassing everything from avionics to
railway
The intention is to put the speaker's slides online. But in some cases, that
will require additional permission from the company concerned--putting
slides on the web is more public than talking at a workshop. So some
sanitation may perhaps be needed. All this is going to take a little while,
Take a look at World Class Product Certification using Erlang by Ulf Wiger et
al. It's about a real project, not a scientific experiment, but even so it aims
to demonstrate some of the claims made for FP. It's Erlang, not Haskell, but
that doesn't really matter. The product is certainly a
.
The official announcement follows.
John Hughes
PhD Position in Functional Programming at the department of Computer Science
and Engineering
The Department provides strongly international and dynamic research
environments with 76 faculty and 55 PhD students from about 30 countries.
For more
Interested in recruiting Haskell programmers from Chalmers/Gothenburg
university? As an experiment, I am planning a recruitment event here in
December-see www.jobs-in-fp.org for how to take part.
John Hughes
___
Haskell mailing list
Haskell
have many skilled functional programmers among our students, it
is of course open to anyone who would like to take part. All the details can
be found at www.jobs-in-fp.org.
Welcome to what promises to be a very exciting event!
John Hughes
Sweden
They need to arrive by Friday morning at the latest. Let me know by email to
expect them.
Its delightful to find that there are both job-seekers and employers enough
to make this kind of event a success!
John Hughes
___
Haskell mailing
. To be eligible, you must have a doctorate from a
non-Swedish University. We will plan to interview suitable candidates.
The Chalmers Functional Programming group has as its senior members
John Hughes, Mary Sheeran, Koen Claessen, Patrik Jansson and Björn von
Sydow, as well as around 8 post-docs
of a presentation of up to 15 slides--so there's no excuse
for not putting something together!
So how about it? It would be great to see some Haskell papers at the workshop!
Deadline 20 January.
John Hughes
PS Check out the ICSE web site for information on the location:
http://www.sbs.co.za/ICSE2010
://www.cs.allegheny.edu/ast2010/
John Hughes
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
TAIC-PART is an interesting conference on testing that takes place in wonderful
surroundings in Windsor Park. I recommend it-I much enjoyed it last year. It's
calling for fast abstracts-short papers on new results-by June 11th. It would
be fun to see work on testing in the FP community
/news/vacancies/positions/post-doc-position-in3564
John Hughes
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
via this
link:
http://www.chalmers.se/cse/EN/news/vacancies/positions/phd-student-position-in8107
Deadline for applications: 1st September.
John Hughes
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
We're advertising a position for a PhD student in the FP group at Chalmers,
with closing date the 1st of September. Interested? Please apply!
http://www.chalmers.se/cse/EN/news/vacancies/positions/phd-student-position-in8107
John Hughes
We're recruiting Assistant Professors to the FP group for our new Strategic
Research project RAW FP. Come and work with us! Two-body problem? We've got
two jobs!
Deadline coming up on the 18th.
John Hughes
http://wiki.portal.chalmers.se/cse/pmwiki.php/FP/FP
https://site1.reachmee.com/I003
(It would be nice to see some papers on Haskell automated testing here)
John
AST 2012
7th IEEE/ACM International Workshop on Automation of Software Test
http://ast2012.org
At ICSE 2012 (http://www.ifi.uzh.ch/icse2012/)
Zurich, Switzerland, 2-3 June 2012
IMPORTANT DATES:
Submission deadline:
Why not adapt some cool Haskell ideas to Erlang too? Six weeks to go...
John Hughes
[http://www.erlang.org/workshop/2011/erlang090.gif]
CALL FOR PAPERS
Eleventh ACM SIGPLAN Erlang Workshop
Copenhagen, Denmark
Friday, September 14, 2012
[http://www.erlang.org/workshop/2011/acm_logo_wordmark.gif
Lambda Days is a 2-day developer conference to be held in Krakow next year, Feb
26-27,
devoted to all things functional. Abstract submission is open until the 5th of
January.
http://www.lambdadays.org/
Last year’s program is available here:
http://www.lambdadays.org/lambdadays2014/#schedule
1 - 100 of 147 matches
Mail list logo