I'm a little surprised no one's tried a parallel solution yet,
actually.
We've got an SMP runtime for a reason, people!
I hacked up a parallel version of Richard Bird's function pearl solver:
http://www.haskell.org/sitewiki/images/1/12/SudokuWss.hs
It not really optimized, but there are a
Dear Henk-Jan,
Thanks for pointing this out. I'll try to contact the authors and
obtain their permission to move to the new wiki.
What is the best way to move content to the new wiki? Surely these
articles aren't the first to migrate from hawiki... Any technical
advice would be much
Hi Chris,
I should also point out that the wiki has a lot of really useful links:
http://www.haskell.org/haskellwiki/Learning_Haskell
Good luck,
Wouter
This message has been checked for viruses but the contents of an attachment
may still contain software viruses, which could damage your
I am pleased to announce that the latest issue of The Monad.Reader is
now available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 8 consists of the following two articles:
* Brent Yorgey
Generating Multiset Partitions
* Conrad Parker
Type-Level Instant Insanity
In a sense, that's also the reason why stream fusion à la Duncan +
Roman + Don uses an existential type
data Stream a where
Stream :: ∀s. s - (s - Step a s) - Stream a
data Step a s = Done
| Yield a s
| Skip s
I thought there was a deeper reason for
I am pleased to announce that a new issue of The Monad.Reader is now
available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 9 is a Summer of Code Special - it consists of three articles
from student participants of Google's Summer of Code, describing the
projects they
On 18 Aug 2007, at 20:10, Henk-Jan van Tuyl wrote:
Now that all hawiki pages have been removed, we have lost some
valuable information. For example The Monad.Reader; on http://
www.haskell.org/haskellwiki/The_Monad.Reader
A few people have been asking what has happened to old editions of
Call for Copy
The Monad.Reader - Issue 10
I would like to welcome articles for the anniversary issue of The
Monad.Reader.
* The Monad.Reader *
The Monad.Reader is an electronic magazine about all things Haskell.
It is less-formal
Call for Copy
The Monad.Reader - Issue 10
It is not too late to consider writing something for the next issue
of The Monad.Reader. The deadline for Issue 10 is
** January 25, 2007 **
It doesn't matter if you're an established
=
Final Call for Papers
ICFP 2010: International Conference on Functional Programming
Baltimore, Maryland, 27 -- 29 September 2010
http://www.icfpconference.org/icfp2010
Hi Iustin, cc-Stephanie,
I submitted a paper for ICFP but the paper checker says: “Margins too
small: text block bigger than maximum 7in x 9in on pages 1–6 by 4–5% in
at least one dimension”.
Now, I've used the standard class file and template, didn't alter any of
the margins/columns
I just thought I'd pass on Stephanie's response, as she couldn't post to the
list:
It looks like the SIGPLAN class file has gotten out of sync with the paper
requirements and
is producing a slightly too large textblock. I just checked the template
(filled out with random text)
against the
This year's ICFP Programming Contest will begin on June 18th (12:00
Noon GMT) and will run till June 21st (12:00 Noon GMT). As in the
previous editions, this is your chance to show that your favorite
programming language is better than all others! The problem statement
and further information will
Institute for Software Systems
Christopher Stone, Harvey Mudd College
* Programming Contest Chair:
Johannes Waldmann, Hochschule für Technik, Wirtschaft und Kultur, Leipzig
* Video Chair:
Scott Smith, Johns Hopkins University
* Publicity Chair:
Wouter Swierstra, Vector
Dear all,
I pleased to announce that the latest issue of The Monad.Reader is
now available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 6 consists of the following three articles:
* Bernie Pope - Getting a Fix from the Right Fold
* Dan Piponi - Adventures in Classical-Land
On 31 Jan 2007, at 13:39, [EMAIL PROTECTED] wrote:
Concerning the strictness of dwBackwards, it suffices to make the
pattern match on (ys,xs) irrefutable:
snip
I probably should have mentioned this in my original announcement,
but there's also a discussion page for comments and feedback:
Hi Justin,
In The Monad.Reader - Issue 6, that just came out, there is a really
interesting article that uses a circular technique to implement an
assembly language in Haskell. The technique demonstrated seems
fascinating. Can someone point me to more resources on the topic?
I believe the
Hi Torsten,
If you really only want a simple GUI - I seem to recall you're on a
Mac - you might even be able to get away with the AppleScript bindings:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/AppleScript-0.1.3
There are an example of a simple textfield GUI in the examples
Any help you can offer for my aching cranium will be _much_
appreciated.
You might also be interested in the paper Edwin Brady and Kevin
Hammond just submitted to ICFP:
http://www.cs.st-andrews.ac.uk/~eb/drafts/icfp08.pdf
It describes how to manage resources, in particular locks, in a
I am pleased to announce that a new issue of The Monad.Reader is now
available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 10 consists of the following two articles:
* Bernie Pope
Step inside the GHCi debugger
* Matthew Naylor
Evaluating Haskell in
On 24 Apr 2008, at 12:02, apfelmus wrote:
Sounds good. But I wonder what obscure optimization comes next;
can we have a toy-model of STM? I mean, it should be possible to
express both the continuation-logging and read-only-fail
optimization in terms of
type STM a = Maybe a
or similar?
Hi Creighton,
Where could I find a good treatment on data vs. codata the
difference between well-founded recursion well-founded(?)
corecursion?
Bart Jacobs has some good papers on the subject. I found the draft of
his book Introduction to Coalgebra quite good:
Hi Mads,
I was wondering if anybody had experimented with using Template
Haskell
(TH) and ordinary SQL to make type-safe database access?
I know HaskellDB, for example, does something quite similar. There's a
preprocessor that generates a Haskell file with a Haskell
representation of
On 1 May 2008, at 16:58, Michael Karcher wrote:
Wouter Swierstra [EMAIL PROTECTED] wrote:
Hi Creighton,
Where could I find a proof that the initial algebras final
coalgebras of CPO coincide? I saw this referenced in the
Bananas.. paper as a fact, but am not sure where this comes from.
I
Hi Mads,
I think there may a bit of problem with the approach you suggest: as
the type returned by the query is computed by the SQL server (if I
understand you correctly), it's very hard to do anything with the
result of the query - the Haskell compiler has no idea what type the
result has, so
Call for Copy
The Monad.Reader - Issue 11
Please consider writing something for the next issue of The
Monad.Reader. The deadline for Issue 11 is
** August 1, 2008 **
It doesn't matter if you're a respected researcher or if you have
On 7 May 2008, at 19:56, Andrew Coppin wrote:
Wouter Swierstra wrote:
Please consider writing something for the next issue of The
Monad.Reader.
You know, I'm actually tempted to do just that...
Please do! We've had lots of excellent articles written by people who
were just learning
Hi Mads,
Not only pictures, but also code can say more than a thousands words.
Therefore, I have been implementing a proof of concept. The code is
attached in two files.
Nice! I have to admit, it's much nicer than I expected it to be. Just
out of curiousity, what happens when you write:
Without reading through every issue ever published, do you have any
specific examples of this that I [or anybody else in cafe] could
take a look at?
The following two articles spring to mind:
* Kenneth Hoste wrote a gtk2hs tutorial, after having just started
using it:
Hi Donnie,
Any chance of those issues being moved over still? I'd prefer to
read the older issues in pdf format, like the new issues.
I have gotten permission from (almost) all the authors to move the
content to the new wiki. I've started reformatting everything to the
MediaWiki format
Put them up as is, let people with haskellwiki accounts reformat them?
Good idea. All the old content is now available, although some
articles do look fairly horrendous:
http://www.haskell.org/haskellwiki/The_Monad.Reader/Issue2
http://www.haskell.org/haskellwiki/The_Monad.Reader/Issue3
Almost all? Is that why some are missing? eg.
http://www.haskell.org/haskellwiki/The_Monad.Reader/Issue2 omits
Impure Thoughts 1 - Thtatic Compilathionth (without a lisp)
http://www.haskell.org/tmrwiki/ImpureThoughts_2f1.
Philippa did not want her articles published under the new license -
Hi Ron,
I've attached a revised file that solves your problem.
The solution is actually quite subtle. If you define the class as:
class Functor f = Printable f where
exprDoc :: f t - Doc
you can't make recursive calls to sub-expressions. There is, after
all, no reason to believe that t is
Dear all,
After several years at the helm, I've decided to step down as editor
of the Monad.Reader.
I am happy to announce that Brent Yorgey will take over my role as
editor. I'd like to take this opportunity to thank Brent for helping
to keep the Monad.Reader alive. I'm sure he'll do a
I am happy to announce that videos of all talks at ICFP and some of
the associated workshops this year have made available online:
http://www.vimeo.com/user2191865/albums
I'm sure you'll join me in thanking Malcolm Wallace for the time and
effort he put into making this possible. Thank you
On 7 Oct 2009, at 23:39, John Velman wrote:
For anyone following this: The XCode ld script is complex, and has
mac
specific defaults early in the search path specification, and I
probably
don't want to change these. A library in a default path is the wrong
libgmp.[dylib | a].
Is there
Hi Maciej,
insTree t [] = [t]
insTree t ts@(t':ts')
| rank t rank t' = t : ts
| otherwise = insTree (link t t') ts'
In a way, it's unsurprising that this is where your code breaks. What
you're doing here is using a boolean guard to determine where to
insert. The problem is that ghc's
I'm happy to announce a new release of the Data.Stream library.
http://hackage.haskell.org/package/Stream
The only change with the previous version has been to add irrefutable
patterns to several function definitions. This is rather delicate
design decision: too many irrefutable patterns
1) What's the difference between your:
tail ~(Cons _ xs) = xs
and the more simple:
tailStrict (Cons _ xs) = xs ?
I'm no expert - but I can't think of any difference at all.
2) Why don't you also use an irrefutable pattern in take? take is
now defined as:
This is a trickier question: should
=
Call for Papers
ICFP 2010: International Conference on Functional Programming
Baltimore, Maryland, 27 -- 29 September 2010
http://www.icfpconference.org/icfp2010
CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS
ICFP 2010
15th ACM SIGPLAN International Conference on Functional Programming
September 27 - 29, 2010
Baltimore, Maryland
http://www.icfpconference.org/icfp2010
Hi John,
I threw something together fairly quickly and would like some feedback before
tossing it on Hackage.
I'd really appreciate if some one would:
make sure the code looks goodish (127 lines with full docs)
make sure my tests look saneish
A similar structure is used in XMonad where
=
Second Call for Papers
ICFP 2010: International Conference on Functional Programming
Baltimore, Maryland, 27 -- 29 September 2010
http://www.icfpconference.org/icfp2010
Good, we need more functional programmers actually solving real
problems. But please put your skills to work in an industry other
than investment banking.
There are lots of companies outside of investment-banking using
functional programming.
Bluespec, Galois, TypLab, are all serious Haskell
Can some one please give me a suggestion on the best choice for an
embedded
scripting Language for a haskell application?
Why not use Haskell itself? I agree that C and Java aren't perhaps the
best choice for application scripting – but both Xmonad and Yi have
had quite some success using
for Software Systems
Christopher Stone, Harvey Mudd College
* Programming Contest Chair:
Johannes Waldmann, Hochschule für Technik, Wirtschaft und Kultur, Leipzig
* Video Chair:
Scott Smith, Johns Hopkins University
* Publicity Chair:
Wouter Swierstra, Vector Fabrics
CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS
ICFP 2011
16th ACM SIGPLAN International Conference on Functional Programming
September 19 - 21, 2011
Tokyo, Japan
=
Call for Papers
ICFP 2011: International Conference on Functional Programming
Tokyo, Japan, Monday 19 -- Wednesday 21 September 2011
http://www.icfpconference.org/icfp2011
On 3 Jun 2009, at 20:49, Corey O'Connor wrote:
I'm interested in the feasibility of extending the compiler using a
construct similar to type synonym families to determine runtime
representation and evaluation strategy for types. Can anybody point me
to existing work in this area?
You may
The idea is that fs accepts a polymorphic function as its argument.
What type signature can I specify for f in order to compile this code?
As you said yourself, you need to add a type signature to fs:
{-# LANGUAGE RankNTypes #-}
fs :: ((forall a . ((a, a) - a)) - t) - (t, t)
fs g = (g
Hi Brian,
If I understand you correctly, you've run into the Expression
Problem. Phil Wadler posed the problem in a widely-cited e-mail,
formulating it much more clearly than I ever could:
http://homepages.inf.ed.ac.uk/wadler/papers/expression/expression.txt
There are lots of ways to
Would you be so kind as to elaborate?
Sure. I'll just sketch how to deal the example in your e-mail. If you
want to use recursive data types (like Lists or Trees), you'll need to
use the Expr data type from the paper.
Instead of defining:
data Foo = One | Two | Three | Four
Define the
Dear all,
I am pleased to announce that a new issue of The Monad.Reader is now
available:
http://themonadreader.wordpress.com/
Issue 14 consists of the following three articles:
* Fun with Morse Code
by Heinrich Apfelmus
* Hieroglyph 2: Purely Functional Information Graphics
I am pleased to announce that a new issue of The Monad.Reader is now
available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 11 consists of the following three articles:
* David F. Place
How to Refold a Map
* Kenneth Knowles
First-Order Logic a la Carte
*
Hi Ryan,
On 19 Nov 2008, at 04:39, Ryan Ingram wrote:
In HOAS, a lambda expression in the target language is represented
by a function in the source language:
data ExpE t where
ApE :: ExpE (a - b) - ExpE a - ExpE b
LamE :: (ExpE a - ExpE b) - ExpE (a - b)
But without a way to inspect
I am pleased to announce that a new issue of The Monad.Reader is now
available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 12 is another Summer of Code special and consists of the
following three articles:
* Max Bolingbroke
Compiler Development Made Easy
* Roman
The biggest wart is that view is not a total function; the compiler
needs to be extra careful to only call it on types that are instances
of View. I wonder if there is a good way to solve this problem?
The usual way to solve this is to define a data type corresponding to
all the types in
Hi Twan,
Wouter Swierstra wrote:
Test.IOSpecVersion 1.0
Shouldn't that be 0.1?
You're right of course.
You use Dynamic for the data type in IORefs, this has the
unfortunate consequence of needing Typeable constraints. You could
try to use unsafeCoerce instead,
type
Hi Isaac,
Moving to Haskell-cafe
How does or might this relate to the typeclass-based Restricted IO
monad
http://article.gmane.org/gmane.comp.lang.haskell.general/14526
? RIO's technique has the advantage that multiple capabilities can be
easily combined in one use of the monad - but this
Hi Stefan,
in the Teletype module, it would probably be better to reflect
IOTeletype operations as:
data Action a = Finish a | Put Char (Action a) | Get (Char -
Action a)
That way, there is no need to use (unobservable) laziness.
I'm afraid I've lost you. How does this differ from the
I am pleased to announce that the latest issue of The Monad.Reader is
now available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
Issue 7 consists of the following four articles:
* Matthew Naylor
A Recipe for controlling Lego using Lava
* Yaron Minsky
Caml Trading:
Call for Copy
The Monad.Reader - Issue 8
I would like to welcome articles for the next issue of The Monad.Reader.
* The Monad.Reader *
The Monad.Reader is a electronic magazine about all things Haskell.
It is less-formal than journal,
Hi Michael,
On 25 Jun 2007, at 06:39, Michael T. Richter wrote:
do
x - performActionA
y - performActionB
z - performActionC
return $ calculateStuff x y z
I don't know about you're exact example, but here's what I'd do.
Control.Monad has functions like when, unless, and guard that
On 1 Aug 2007, at 21:23, Greg Meredith wrote:
But, along these lines i have been wondering for a while... the
monad laws present an alternative categorification of monoid. At
least it's alternative to monoidoid. In the spirit of this thought,
does anyone know of an expansion of the monad
At the risk of painting my own bikeshed...
If you're learning Haskell, which communicates the idea more clearly:
* Appendable
or
* Monoid
Would you call function composition (on endofunctions) appending?
The join of a monad? A semi-colon (as in sequencing two imperative
statements)?
snip
How about using Data.Monoid:
down = downPar `mappend` downNew `mappend` downTrans
Wouter
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
I've released a new version of the Data.Stream package, a modest
library for manipulating infinite lists.
Changes include:
* Support for lazy SmallCheck;
* Improved Show instance;
* Stricter scans;
* Various documentation fixes;
* Several new functions from Data.List.
Many of these
This could look like:
module Integer where
..
theorem read_parses_what_show_shows :
(a :: Integer, Show a, Read a) =
show . read a = id a
proof
axiom
There are several problems with this approach.
For example, I can show:
const 0 (head []) = 0
But if I pretend that I don't
Unfortunately the proofs in dependently typed languages are
extremely long and tedious to write. Some kind of compiler proofing
tool could ease the pain, but I do not think it has low enough
complexity for a GSoC project.
I wouldn't say that.
Here's the complete proof script in Coq
I can't manage to upload files to the Haskell wiki. I've tried
different browsers, different internet connections, different
machines, different operating systems, and different user accounts -
all without success. Is this a new anti-spam measure?
This is slightly annoying. I was looking
I've set both limits to 20MiB, and switched off MediaWiki's warning.
I've uploaded Wouter's file to [[Image:TMR-Issue13.pdf]].
Fantastic! Thanks for all your help,
Wouter
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
I am pleased to announce that a new issue of The Monad.Reader is now
available:
http://www.haskell.org/haskellwiki/The_Monad.Reader
The Monad.Reader is a quarterly magazine about functional programming.
Issue 13 consists of the following four articles:
* Stephen Hicks
Rapid
Hi Ben,
But this definition coincides with his definition of the greatest
fixpoint
In Haskell the least and greatest fixed points coincide.
(Categorically, this is called algebraically compact I think). You
can still fake coinductive types to some degree by consistently
using unfolds
What is the suggested (if any) convention for inserting an interactive
session in the documentation?
You may want to look at:
http://hackage.haskell.org/cgi-bin/hackage-scripts/package/DocTest
Wouter
___
Haskell-Cafe mailing list
I am wondering about how to give a correctness prove of a simple
parsing
algorithm. I tried to think of a simple example but even in this
case I
don't know how.
I'm not sure I understand your question, but I'm guessing you're
looking for general techniques for the formal verification of
If I use :info (-) I get information on the binary minus. Is unary
minus also a function?
You can define it yourself or use negate from the Prelude.
Wouter
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
Call for Copy
The Monad.Reader - Issue 14
Please consider writing something for the next issue of The
Monad.Reader. The deadline for Issue 14 is:
** May 15, 2009 **
The Monad.Reader is a electronic magazine about all things
=
Second Call for Papers
ICFP 2011: International Conference on Functional Programming
Tokyo, Japan, Monday 19 -- Wednesday 21 September 2011
http://www.icfpconference.org/icfp2011
thoughts go out to the victims of this tragedy.
Wouter Swierstra
ICFP Publicity Chair
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
Given the fairly recent severe earthquake and tsunami in Japan, you
may wonder how this affects the preparations for ICFP'11 in Tokyo.
Luckily, Tokyo was significantly less affected by these saddening
events than the regions further north. In fact, the situation in
Tokyo is almost back to
* Workshop Co-Chairs:
Gabriele Keller, University of New South Wales
Derek Dreyer, MPI-SWS
* Programming Contest Chair:
Eijiro Sumii, Tohoku University
* Publicity Chair:
Wouter Swierstra, Radboud Universiteit Nijmegen
CALL FOR WORKSHOP AND CO-LOCATED EVENT PROPOSALS
ICFP 2012
17th ACM SIGPLAN International Conference on Functional Programming
September 9 - 15, 2012
Copenhagen, Denmark
=
ICFP 2012: International Conference on Functional Programming
Copenhagen, Denmark, September 9 - 15, 2012
http://www.icfpconference.org/icfp2012
=
=
Student Research Competition
Associated with the
The 17th ACM SIGPLAN International Conference
on Functional Programming (ICFP 2012) and
, University of St. Andrews
* Publicity Chair:
Wouter Swierstra, Utrecht University
* Video Chair:
Malcolm Wallace, Standard Chartered Bank
* Student Research Competition Chair:
Doaitse Swierstra, Utrecht University
85 matches
Mail list logo