Lambda Days is a joint industry/academic conference on functional
programming, held annually at the Jagiellonian University in Krakow. Lambda
Days is calling both for proposed presentations, and for research papers,
the latter to be published after the event in Concurrency and Computation:
Practice
logy, Krakow, Poland
Katarzyna Rycerz, AGH University of Science and Technology, Krakow, Poland John
Hughes, Chalmers University of Technology, Gothenburg, Sweden Kevin Hammond,
University of St. Andrews, St. Andrews, Scotland, UK
___
Haskell mailing
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
L
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
(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:
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://sit
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 H
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
se/EN/news/vacancies/positions/post-doc-position-in3564
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 repres
her!
http://www.cs.allegheny.edu/ast2010/
John Hughes
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
n the form 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://ww
8. 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-doc
walls. Six companies sent
speakers for the event, and they gave excellent presentations, with many
jobs available. All in all, it was a very exciting evening!
Photographs and more details can be found at www.jobs-in-fp.org.
John Hughes
___
Haskell ma
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
at Chalmers
because we 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 ev
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
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
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 "sig
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,
so
Hello L.,
Sunday, August 27, 2006, 12:43:24 PM, you wrote:
> length s `seq` writeFile f ("hello"++s)
length mates_str `seq` return ()
it's the same. i recommend you to use:
return $! tail mates_str
$! defined as
f$!x = x `seq` f x
'tail' should be slightly faster than 'len'
--
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 sig
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 feelin
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@haskel
- Original Message -
From: "Jake Luck" <[EMAIL PROTECTED]>
To:
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 way to make a pro
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 differ
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 taug
this list, so 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
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 su
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
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, b
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, b
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
checkboxes/dro
k off 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:
Th
d only
take a minute or so 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
We look forward to a fruitful session at the workshop itself.
John Hughes and Peter Dybjer (session organisers)
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
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 functi
there a way to implement 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
___
tDirectoryContents is your friend. 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
___
Has
ecursive call in unsafeInterleaveIO from 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=178246&c
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
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 probabl
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 about
ce leaks any harder than it already is won, and I think that was
the right decision -- but it is a trade-off, and one must recognise that.
Incidentally, exactly the same problem arises for functions: Haskell does
not have "true functions" either, because _|_ and \x -> _|_ ar
printing library, and Simon PJ's extension, are useless.
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
c
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
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 da
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
being used (at least) 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
Planning to join the ICFP Programming Contest this week-end? Register your
email address NOW, to receive announcements from the organizing team,
including the problem as soon as it is released!
Just visit icfpcontest.org and click on "Contest Mailing List".
J
ating hackers!"
Don't miss this opportunity -- check out the contest web site at
http://icfpcontest.org
for details -- and the tiniest little hint of this year's problem.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
ht
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
>
> > > - 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.
> >
> >
On Wed, 4 Jun 2003, Ross Paterson wrote:
> - \item[unsafePerformIO ::\ IO a -> a] Execute an \code{IO} action in place of a
> - pure computations. For the behaviour to be predictable, the IO computation
> - should be free of side effects and independent of its environment.
> ---
> + \item[unsafeP
SETLK, F_SETLKW */
}
Here's the corresponding Haskell declaration:
foreign import claimLock :: IO ()
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
ow what they mean". They also have something concrete to compare
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
__
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
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
> > hig
> 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 http://www.informatik.uni-leip
>
> 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
elements combined using 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]
h
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 n
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.
mpany is Galois Connections Inc
(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
tuting too
eagerly in recursive definitions will of course lead to loops. Just consider
fac = \n. if (== n 0) 1 (* n (fac (- n 1)))
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
NOT PART OF THE HASKELL STANDARD. So if you want to use it, you have to
include the definition above in your own program.
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
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) co
> 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
> imple
nad.
This is all perfectly respectable, and has to do with the fact that Haskell is
a programming language, not mathematics -- so we represent equivalence classes
by values chosen from them. For the *language* to rule out constructing
different representations for "equivalent" const
can be other fixes also, but these are a
good start). I can't emphasize too 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
tter than that. I assume it will be a while before we start wanting
rank-2 polykindism!
Compilers already do 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 t
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 non-overlo
I have a solution...
data Ref m a = MkRef
{
get :: m a,
set :: a -> m (),
modify :: (a -> a) -> m ()
};
-- m somehow uses 'rep' internally
class (Monad rep
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:
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 tran
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
writeRe
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?
[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 de
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,
but you can't get away from the fact 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" preservi
a let binding generalises the type of the bound
variable. Thus l is given the type forall s'. ST s' (Maybe 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, th
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
on "Restricted Data Types", which
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/Pa
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]
http://www.haskell.org/mailman/
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 -
George Russel proposed a search for things which should be deprecated.
I have a very distinct unfondness for contexts in algebraic data type
declarations. They make absolutely no difference except move type
errors to a different part of a program (or rather, they
John Hughes wrote:
| `x := []' wouldn't be problematic, just monomorphic.
| That is, x must be used consistently as a list of a
| particular type.
Just to check if I understand you correctly. In your
proposal, does the following t
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
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-bindi
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 = ?x 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
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
. IsNil a => a -> a -> (Bool, Bool)
The two incomparable types for f become types of two different programs;
problem solved (in this example at least).
Karl-Filip, would this idea restore the principal type property in general?
John Hughes
___
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell
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 have
ation! 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.
J
etc.
I have a collection of links to such articles at
http://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
> Except, of course, for top level bindings which is where the
> monomorphism restriction is usually most noticable.
Right, but an explicit monomorphic type signature would ensure that
it's computed once. Type signatures on toplevel bindings are a good
ide
John: just to check, you do realise that (B) means
a) That adding a type signature can change the dynamic semantics
of the program. This would be the first and only occurrence of
such behaviour.
At present, adding a type signature changes both the static
he programmer to write inefficient programs. But
we can make gross 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-
But a term with an "implicit" argument is a function no matter how you turn
it, you just don't write the argument explicitely.
I don't buy that. You could equally well say a term with a free variable is
a "function" (of the environment): sure it is, but if it's bound with a let
t
1 - 100 of 123 matches
Mail list logo