Re: [Haskell-cafe] ANNOUNCE: The Haskell Platform 2009.2.0.2

2009-08-02 Thread Thomas Davie
I tried the Mac OS X package yesterday, after getting frustrated with  
random crashes in my broken GHC 6.9 install... It worked flawlessly,  
and got me set up in minutes.  Great job everyone associated with  
building this installer -- it's now definitely my preferred way of  
getting GHC on a mac.


Bob

On 3 Aug 2009, at 02:00, Don Stewart wrote:


bugfact:

On Mon, Aug 3, 2009 at 1:41 AM, Don Stewart  wrote:

  * Improvements to crazy popular Windows installer


Are you kidding or are indeed many Windows users playing with  
Haskell these

days?



No, literally,

http://donsbot.wordpress.com/2009/07/26/haskell-platform-progress-report/

   From the first few minutes of the release, downloads of the  
various windows
   installer were running at many times the rate as that for other  
platforms
   (there had until now been no single Haskell package for Windows,  
after all).
   This surprised us. By the end of July 2009, 90 days later, there  
had been:


   * 114,790 downloads of the Windows installer (!!)
   * 2,790 installs of the generic unix source tarball  
(complementing the

   packages provided on each distro).

   On June 1, the Mac OSX package went live, complementing the  
MacPorts GHC version.


   * 1,300 installs of the Mac OSX package.

Since that was published there have been another 13.9k downloads of  
the Windows installer


-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] haskell code pretty printer ?

2009-08-02 Thread Paul . Brauner
Hello,

is there a pretty printer for haskell code somewhere ? I've googled and
caballisted for this without success. I've written some small script
using Language.Haskell.Pretty and Language.Haskell.Parser but the result
isn't that 'pretty'. I mean, it outputs readable code but
supercombinator's definitions aren't separated by a blank line for
instance (despite having put 'spacing' to 'True').

Do you know of such a tool ?

Regards,
Paul
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: The Haskell Platform 2009.2.0.2

2009-08-02 Thread Alecs King
On Fri, Jul 31, 2009 at 05:01:07PM -0700, Don Stewart wrote:
> 
> We're pleased to announce the third release of the Haskell Platform: a
> single, standard Haskell distribution for everyone.
> 
> The specification, along with installers (including Windows and Unix
> installers for a full Haskell environment) are available.
> 
> Download the Haskell Platform 2009.2.0.2:
> 
> http://hackage.haskell.org/platform/

Thanks for the hard work. 

But there's a problem of the source tarball.  scripts/build.sh skips
building already-installed pkgs -- but scripts/install.sh does not skip
installing them.  So 'make install' fails (err: "The ${PKG}/Setup script
does not exist or cannot be run") if there are some pkgs that have been
skipped building.

A quick(-and-dirty) hot fix: -- code copied from build.sh

---
 scripts/install.sh |   18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)

Index: haskell-platform-2009.2.0.2/scripts/install.sh
===
--- haskell-platform-2009.2.0.2.orig/scripts/install.sh
+++ haskell-platform-2009.2.0.2/scripts/install.sh
@@ -34,13 +34,23 @@ install_pkg () {
   fi
 }
 
+# Is this exact version of the package already installed?
+is_pkg_installed () {
+  PKG_VER=$1
+  grep " ${PKG_VER} " installed.packages > /dev/null 2>&1
+}
+
 # Actually do something!
 cd packages
 for pkg in `cat platform.packages`; do
-  cd "${pkg}" || die "The directory for the component ${PKG} is missing"
-  echo "Installing ${pkg}..."
-  install_pkg ${pkg}
-  cd ..
+  if is_pkg_installed "${pkg}"; then
+echo "Platform package ${pkg} is already installed. Skipping..."
+  else
+cd "${pkg}" || die "The directory for the component ${PKG} is missing"
+echo "Installing ${pkg}..."
+install_pkg ${pkg}
+cd ..
+  fi
 done
 
 echo


--
Alecs King
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re[2]: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Bill Wood
On Mon, 2009-08-03 at 00:24 +0400, Bulat Ziganshin wrote:
   . . .
> and the primary way to make haskell program faster is to emulate
> imperative language. and the best way to optimize C program is to use
> it as cpu-independent assembler.
> 
> it's all natural in von-Neumann world and i personally don't buy these as
> arguments against everything developed since 1956
> 
> actually it supports their's POV: LP is an FP plus non-determinism so
> why buy a part instead of whole thing? if they need to teach students
> how to optimize programs, Haskell will be out of luck anyway

This seems largely tangential to my point, which was that logic
programmers can well benefit from exposure to functional programming
since 1) one important approach to improving the performance of logic
programs is reduction of non-determinism, and 2) often times a
deterministic logic program is very similar to a functional program.

-- 
Bill Wood

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Writing a pnm file

2009-08-02 Thread CK Kashyap
Thanks Sebastian,
ppm module is indeed very useful. So, I guess my question then just boils down 
to, how can I write a function to mimic the setPixel function ->

Basically, a blank white image would look like this  (as per ppm module)
[ 
   [ (255, 255, 255)  , (255, 255, 255)  , (255, 255, 255) ] ,  -- 3 columns of 
row 1
   [ (255, 255, 255) , (255, 255, 255) , (255, 255, 255)  ]--- 3 columns of 
row 2
]

setPixel x y r g b when called like this - setPixel 0,0,255,0,0

[ 
   [ (255, 0, 0)  , (255, 255, 255)  , (255, 255, 255) ] ,  -- 3 columns of row 
1
   [ (255, 255, 255) , (255, 255, 255) , (255, 255, 255)  ]--- 3 columns of 
row 2
]

What would be a good way to implement such a function?

Regards,
Kashyap





From: Sebastian Sylvan 
To: CK Kashyap 
Cc: haskell-cafe@haskell.org
Sent: Sunday, August 2, 2009 9:30:08 PM
Subject: Re: [Haskell-cafe] Writing a pnm file




On Sun, Aug 2, 2009 at 4:00 PM, CK Kashyap  wrote:

Hi,
>Now that I've understood how to generate raster points of a line in Haskell - 
>the next thing I want to do is generate a pnm file with it. I've done it in 
>perl as of now. In perl, I can have a scalar variable $x contain a string of 
>256*256*3 bytes (for 24-bit 256x256 image) and set pixels using substr on LHS. 
>I was wondering how I could do something similar in Haskell?
>
>
>sub setPixel{
>my($x,$y,$red,$green,$blue)=...@_;
>my$pixel=pack "CCC",$red,$green,$blue;
>my$offset=$WIDTH*$y*3 + $x*3;
>substr($image,$offset,3) = $pixel;
>}

There's a library on hackage which does this
http://hackage.haskell.org/package/ppm

You can install this by doing
>cabal install ppm

Here's an example usage (this uses the binary version of ppm, the docs for ppm 
has an example for the ASCII version):

writePPM fname img = withBinaryFile fname WriteMode (\h -> hPutStr h (ppm_p6 
img) ) 

If you're looking for the learning experience, you could always read the source 
for the library (which is pretty tiny).
-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862



  ___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANN: atom 0.1.0

2009-08-02 Thread Tom Hawkins
Hi Thomas,

No, unfortunately the documentation is limited to the sparse Haddock
comments.  We intend to assemble more detailed examples, but our
program is consuming all our time at the moment.  With the limited
documentation, frankly I was a bit surprised folks where able to pick
it up and run with it.

Don, I'm eagerly awaiting a Galois tech talk.  Though Haskell is well
entrenched in my group, it has yet to spread to other programs in the
company despite our best marketing efforts.  Sometimes it helps if
words of wisdom come from the outside.

-Tom



On Fri, Jul 31, 2009 at 4:33 PM, Thomas
DuBuisson wrote:
> Tom,
> I was asking earlier about any good sources of information for atom.
> It seems the once-good wiki is gone - are there tutorials for Atom
> hiding in forgotten corners?
>
> Thomas
>
> On Fri, Jul 31, 2009 at 1:49 PM, Tom Hawkins wrote:
>> Atom is a Haskell DSL for hard realtime applications.  This release
>> includes support for assertions and functional coverage to aid
>> simulation and testing.  The rev of the minor version indicates a bit
>> of library stability.  This is the version we're using for our
>> application, which officially went into production and hit the road
>> last month -- literally.
>>
>> http://hackage.haskell.org/package/atom
>>
>> -Tom
>> ___
>> Haskell-Cafe mailing list
>> Haskell-Cafe@haskell.org
>> http://www.haskell.org/mailman/listinfo/haskell-cafe
>>
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread John Lask
I would have thought that a major motivation for the study of haskell,or for 
that matter ML, Clean, would be their type systems: statically typed higher 
order parametric polymorphism which is certainlly different enough from that 
of prolog to warrant study. So from the perspective of type systems and 
associated gaurantees functional programming languages probably represent 
the best environment in which to study these concepts.


- Original Message - 
From: "Petr Pudlak" 

To: "Haskell Cafe" 
Sent: Sunday, August 02, 2009 8:25 PM
Subject: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell



   Hi all,

I'd like to convince people at our university to pay more attention to
functional languages, especially Haskell. Their arguments were that

   (1) Functional programming is more academic than practical.
   (2) They are using logic programming already (Prolog); why is Haskell
better than Prolog (or generally a functional language better than a
logic programming language)?

(1) is easier to answer, there are a lots of applications at HaskellWiki, 
or

elsewhere around the Internet, written in Haskell, OCaml, etc.  Still, I
welcome comments on your experience, for example, if you have written some
larger-scale application in Haskell (or another a functional language) 
that is
not at HaskellWiki, and perhaps if/why you would recommend doing so to 
other

people.

(2) is harder for me, since I've never programmed in Prolog or another 
language
for logic programming. I'd be happy if anyone who is experienced in both 
Prolog

and Haskell could elaborate the differences, pros & cons etc.

   Thanks,
   Petr
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: Cyclic data declarations

2009-08-02 Thread Michal D.
>
>   newtype StmtRec = StmtRec (Stmt [StmtRec])
>

That's pretty much were I threw in the towel last night. Except I had
a bunch of places where I had to add the extra constructor statements.
I wish there was a solution that didn't require these... they really
butcher pattern matching clarity.

> will do. More generally, you can use
>
>   newtype Fix f = In { out :: f (Fix f) }
>
> and define
>
>   type StmtRec = Fix ([] `O` Stmt)
>
> where  O  denotes composition of functors
>
>   newtype O f g a = O (f (g a))
>

Thanks for that! This provoked some thought on my part about what
exactly is going on. I think I could solve this if I added some way to
identify that a type parameter is actually referring to the whole
type. Say we had a reserved word "fixpoint" for this. Then we'd have
something like:

data Stmt x = SIf x x

then when we actually go to use it, it would be referred to as the type:

"Stmt [fixpoint]"

Which would get treated exactly like the data declaration:

data Stmt = SIf [Stmt] [Stmt]

I'll need to add the newtype declaration for the code but I'd be
interested if anyone had further thoughts on this topic. I have an
implementation of both approaches on a toy parser, but I doubt
anyone's interested in seeing that.

Michal
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANN: yst 0.2.1

2009-08-02 Thread John MacFarlane
I'm pleased to announce the release of yst, now available on HackageDB.
yst generates static websites from YAML or CSV data files and
StringTemplates. This approach combines the speed, security, and ease of
deployment of a static website with the flexibility and maintainability
of a dynamic site that separates presentation and data.

The easiest way to get a feel for yst is to try it:

cabal update
cabal install yst
yst create testsite
cd testsite
yst

yst attempts to fill a niche between two kinds of site creation tools.
On the one hand you have simple static site generators like webgen,
webby, nanoc, and my old custom system using make and pandoc. On the
other hand, you have dynamic web frameworks like rails and django.
For my own smallish websites, I found that the dynamic frameworks were
overkill. Nobody but me was going to edit the pages, and I didn't
want the trouble of writing and deploying a dynamic site, setting up
a web server, and administering a database. A static site would be
faster, easier to deploy, and more secure. But the dynamic frameworks
offered one thing that the static site generators did not: an easy way
to separate data from presentation. This was becoming increasingly
important to me as I found myself constantly updating the same
information (say, publication data for a paper) in multiple places (say,
a LaTeX CV and a differently formatted web listing of papers).

What I wanted was a site generation tool that used YAML text files
as a database and allowed different kinds of documents to be produced
from the same data.  I couldn't find anything that did just what I
wanted, so I wrote yst. By way of illustration, here are the build
instructions for HTML and LaTeX versions of a CV, plus a web page with a
list of papers:

- url: cv.html
  title: CV
  template: cv.st
  data_common:  &cvdata
contact: from contact.yaml
jobsbyemployer: from jobs.yaml order by start group by employer
degrees: from degrees.yaml order by year desc
awards: from awards.yaml order by year desc group by title
papers: from papers.yaml order by year desc where (not (type = 'review'))
reviews: from papers.yaml order by year desc where type = 'review'
talks: from talks.yaml where date < '2009-09-01' order by date desc group 
by title
dissertations: from dissertations.yaml order by role then year group by role
theses: from theses.yaml order by year then student
courses: from courses.yaml order by number group by title
  data:
<<:  *cvdata
html: yes

- url: cv.tex
  title: CV
  inmenu: no
  template: cv.st
  layout: layout.tex.st
  data:
<<:  *cvdata
html: yes

- url: papers.html
  title: Papers
  template: papers.st
  data:
papersbyyear:  from papers.yaml order by year desc then title group by year

yst's query language is limited, and there are lots of things you can
do with a full-fledged database that you can't do with yst. But yst
is ideal, I think, for small to medium data-driven sites that are
maintained by a single person who likes working with plain text. It
scratched my itch, anyway, and I release it in case anyone else has the
same itch.

Code, documentation, and bug reports:  http://github.com/jgm/yst/tree/master

John

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Richard O'Keefe




On Sun, Aug 2, 2009 at 6:25 AM, Petr Pudlak  wrote:
   Hi all,

I'd like to convince people at our university to pay more attention to
functional languages, especially Haskell. Their arguments were that

   (1) Functional programming is more academic than practical.
   (2) They are using logic programming already (Prolog); why is  
Haskell
   better than Prolog (or generally a functional language better  
than a

   logic programming language)?


Why can't a language be both?
Get them to take a look at Mercury, which is *both*
a logic programming language *and* a (strict) functional
programming language, with Haskell-style type-classes and
Clean-style uniqueness types.

Mercury has been described as "Prolog for serious software
engineers".


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: The Haskell Platform 2009.2.0.2

2009-08-02 Thread Don Stewart
bugfact:
> On Mon, Aug 3, 2009 at 1:41 AM, Don Stewart  wrote:
> 
>* Improvements to crazy popular Windows installer
> 
> 
> Are you kidding or are indeed many Windows users playing with Haskell these
> days?
> 

No, literally,

 http://donsbot.wordpress.com/2009/07/26/haskell-platform-progress-report/

From the first few minutes of the release, downloads of the various windows
installer were running at many times the rate as that for other platforms
(there had until now been no single Haskell package for Windows, after all).
This surprised us. By the end of July 2009, 90 days later, there had been:

* 114,790 downloads of the Windows installer (!!)
* 2,790 installs of the generic unix source tarball (complementing the
packages provided on each distro).

On June 1, the Mac OSX package went live, complementing the MacPorts GHC 
version.

* 1,300 installs of the Mac OSX package.

Since that was published there have been another 13.9k downloads of the Windows 
installer

-- Don
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: The Haskell Platform 2009.2.0.2

2009-08-02 Thread Peter Verswyvelen
On Mon, Aug 3, 2009 at 1:41 AM, Don Stewart  wrote:

>* Improvements to crazy popular Windows installer


Are you kidding or are indeed many Windows users playing with Haskell these
days?

Cheers,
Peter
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: The Haskell Platform 2009.2.0.2

2009-08-02 Thread Don Stewart
andrewcoppin:
> Don Stewart wrote:
>> We're pleased to announce the third release of the Haskell Platform: a
>> single, standard Haskell distribution for everyone.
>>
>> The specification, along with installers (including Windows and Unix
>> installers for a full Haskell environment) are available.
>>
>> Download the Haskell Platform 2009.2.0.2:
>>
>> http://hackage.haskell.org/platform/
>>   
>
> Maybe I'm being dense... Is there somewhere which lists what's changed  
> from the last release?
>

Oh, sorry, that will be in the web announcement tomorrow.

Essentially,

* GHC 6.10.4
* network upgraded to 2.2.1.4
* Improvements to the MacOSX installer
* Improvements to crazy popular Windows installer
* Significant improvements in Debian support for Haskell
* Gentoo now has full support for the Haskell Platform

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re[2]: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Bulat Ziganshin
Hello Bill,

Monday, August 3, 2009, 12:01:27 AM, you wrote:

> I have done some "real-world" programming in Prolog and SML.  The
> conventional wisdom in the LP community seems to be that the primary
> path to performance improvement of logic programs is by reduction of
> non-determinism.

and the primary way to make haskell program faster is to emulate
imperative language. and the best way to optimize C program is to use
it as cpu-independent assembler.

it's all natural in von-Neumann world and i personally don't buy these as
arguments against everything developed since 1956

actually it supports their's POV: LP is an FP plus non-determinism so
why buy a part instead of whole thing? if they need to teach students
how to optimize programs, Haskell will be out of luck anyway


-- 
Best regards,
 Bulatmailto:bulat.zigans...@gmail.com

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Bill Wood
On Sun, 2009-08-02 at 12:25 +0200, Petr Pudlak wrote:

> (2) is harder for me, since I've never programmed in Prolog or another 
> language
> for logic programming. I'd be happy if anyone who is experienced in both 
> Prolog
> and Haskell could elaborate the differences, pros & cons etc.

I have done some "real-world" programming in Prolog and SML.  The
conventional wisdom in the LP community seems to be that the primary
path to performance improvement of logic programs is by reduction of
non-determinism.  To a first approximation, when you have eliminated all
the non-determinism from a logic program what you have left is a
functional program.  The work I was involved with, trying to get
quasi-real-time performance from Prolog, bore this out.

-- 
Bill Wood

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Thomas ten Cate
On Sun, Aug 2, 2009 at 12:25, Petr Pudlak wrote:
>    Hi all,
>
> I'd like to convince people at our university to pay more attention to
> functional languages, especially Haskell. Their arguments were that
>
>    (1) Functional programming is more academic than practical.

Which, even if it were true, is an argument *for* instead of *against*
teaching it at a university; that is what the word "academic" means,
after all...

Thomas
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Writing a pnm file

2009-08-02 Thread Sebastian Sylvan
On Sun, Aug 2, 2009 at 4:00 PM, CK Kashyap  wrote:

> Hi,
> Now that I've understood how to generate raster points of a line in Haskell
> - the next thing I want to do is generate a pnm file with it. I've done it
> in perl as of now. In perl, I can have a scalar variable $x contain a string
> of 256*256*3 bytes (for 24-bit 256x256 image) and set pixels using substr on
> LHS. I was wondering how I could do something similar in Haskell?
>
> sub setPixel{
> my($x,$y,$red,$green,$blue)=...@_;
> my$pixel=pack "CCC",$red,$green,$blue;
> my$offset=$WIDTH*$y*3 + $x*3;
> substr($image,$offset,3) = $pixel;
> }
>

There's a library on hackage which does this
http://hackage.haskell.org/package/ppm

You can install this by doing
>cabal install ppm

Here's an example usage (this uses the binary version of ppm, the docs for
ppm has an example for the ASCII version):

writePPM fname img = withBinaryFile fname WriteMode (\h -> hPutStr h (ppm_p6
img) )

If you're looking for the learning experience, you could always read the
source for the library (which is pretty tiny).

-- 
Sebastian Sylvan
+44(0)7857-300802
UIN: 44640862
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Writing a pnm file

2009-08-02 Thread CK Kashyap
Hi,
Now that I've understood how to generate raster points of a line in Haskell - 
the next thing I want to do is generate a pnm file with it. I've done it in 
perl as of now. In perl, I can have a scalar variable $x contain a string of 
256*256*3 bytes (for 24-bit 256x256 image) and set pixels using substr on LHS. 
I was wondering how I could do something similar in Haskell?

sub setPixel{
my($x,$y,$red,$green,$blue)=...@_;
my$pixel=pack "CCC",$red,$green,$blue;
my$offset=$WIDTH*$y*3 + $x*3;
substr($image,$offset,3) = $pixel;
}

Regards,
Kashyap



  ___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] IFL 2009: Call for Papers and Participation

2009-08-02 Thread IFL 2009
Call for Papers and ParticipationIFL 2009Seton Hall UniversitySOUTH ORANGE, NJ, USAhttp://tltc.shu.edu/blogs/projects/IFL2009/Register at: http://tltc.shu.edu/blogs/projects/IFL2009/registration.html* NEW *Registration and talk submission extended to August 23, 2009! ***The 21st International Symposium on Implementation and Application of Functional Languages, IFL 2009, will be held for the first time in the USA. The hosting institution is Seton Hall University in South Orange, NJ, USA and the symposium dates are September 23-25, 2009. It is our goal to make IFL a regular event held in the USA and in Europe. The goal of the IFL symposia is to bring together researchers actively engaged in the implementation and application of functional and function-based programming languages. IFL 2009 will be a venue for researchers to present and discuss new ideas and concepts, work in progress, and publication-ripe results related to the implementation and application of functional languages and function-based programming.Following the IFL tradition, IFL 2009 will use a post-symposium review process to produce a formal proceedings which will be published by Springer in the Lecture Notes in Computer Science series. All participants in IFL 2009 are invited to submit either a draft paper or an extended abstract describing work to be presented at the symposium. These submissions will be screened by the program committee chair to make sure they are within the scope of IFL and will appear in the draft proceedings distributed at the symposium. Submissions appearing in the draft proceedings are not peer-reviewed publications. After the symposium, authors will be given the opportunity to incorporate the feedback from discussions at the symposium and will be invited to submit a revised full arcticle for the formal review process. These revised submissions will be reviewed by the program committee using prevailing academic standards to select the best articles that will appear in the formal proceedings.Invited Speaker:    Benjamin C. Pierce    University of Pennsylvania    Talk Title: How To Build Your Own Bidirectional Programming LanguageTOPICSIFL welcomes submissions describing practical and theoretical work as well as submissions describing applications and tools. If you are not sure if your work is appropriate for IFL 2009, please contact the PC chair at ifl2...@shu.edu. Topics of interest include, but are not limited to: language concepts  type checking  contracts compilation techniques  staged compilation runtime function specialization runtime code generation  partial evaluation   (abstract) interpretation  generic programming techniques  automatic program generation  array processing  concurrent/parallel programming  concurrent/parallel program execution  functional programming and embedded systems  functional programming and web applications  functional programming and security  novel memory management techniques  runtime profiling and performance measurements  debugging and tracing  virtual/abstract machine architectures  validation and verification of functional programs    tools and programming techniques  FP in EducationPAPER SUBMISSIONSProspective authors are encouraged to submit papers or extended abstracts to be published in the draft proceedings and to present them at the symposium. All contributions must be written in English, conform to the Springer-Verlag LNCS series format and not exceed 16 pages. The draft proceedings will appear as a technical report of the Department of Mathematics and Computer Science of Seton Hall University.IMPORTANT DATESRegistration deadline   August 15, 2009Presentation submission deadline    August 15, 2009IFL 2009 Symposium  September 23-25, 2009Submission for review process deadline  November 1, 2009Notification Accept/Reject  December 22, 2009Camera ready version    February 1, 2010PROGRAM COMMITTEEPeter Achten  University of Nijmegen, The NetherlandsJost Berthold Philipps-Universität Marburg, GermanyAndrew Butterfield    University of Dublin, IrelandRobby Findler Northwestern University, USAKathleen Fisher   AT&T Research, USACormac Flanagan   University of California at Santa Cruz, USAMatthew Flatt University of Utah, USAMatthew Fluet Toyota Technological Institute at Chicago, USADaniel Friedman   Indiana University, USAAndy Gill University of Kansas, USAClemens Grelck    University of Amsterdam/Hertfordshire, The Netherlands/UKJurriaan Hage Utrecht University, The NetherlandsRalf Hinze    Oxford University, UKPaul Hudak    Yale University, USAJohn Hughes   Chalmers University of Technology, SwedenPatricia Johann   University of Strathclyde, UKYukiyoshi Kameyama    University of Tsukuba, JapanMarco T. Morazán (Chair)  Set

Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Petr Pudlak
That's actually a good idea. I haven't considered this alternative so far,
probably because I have always been working with first-order theorem provers.
But I guess eventually I'll merge my interests in ATP and FP and start doing
some serious work with higher-order theorem provers like coq or Isabelle.

Petr

On Sun, Aug 02, 2009 at 09:03:14AM -0400, Carter Schonwald wrote:
> Have you considered say proposing a class on theorem proving that uses coq?
> www.coq.inria.fr . Such a class would entail teaching how to program using the
> coq term language, which is itself a pure functional language, albeit one with
> some restrictions related to everything impure. As a matter of course in such
> a class you would naturally also mention that there are languages such as
> haskell which lack such restrictions/ have clever ways around them.
> 
> -Carter
> 
> On Sun, Aug 2, 2009 at 8:52 AM, Petr Pudlak  wrote:
> I'm a faculty member (postdoc). I've been working in the field of
> automated
> theorem proving, but for about a year I'm also very interested in Haskell
> and
> in general in the theory behind functional languages. Since I find FP to
> be a
> very important programming concept, I'd like to achieve that we start
> teaching
> it at the university.
> 
> Petr
> 
> 
> 
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Carter Schonwald
Have you considered say proposing a class on theorem proving that uses coq?
www.*coq*.inria.fr  . Such a class would entail
teaching how to program using the coq term language, which is itself a pure
functional language, albeit one with some restrictions related to everything
impure. As a matter of course in such a class you would naturally also
mention that there are languages such as haskell which lack such
restrictions/ have clever ways around them.

-Carter

On Sun, Aug 2, 2009 at 8:52 AM, Petr Pudlak  wrote:

> On Sun, Aug 02, 2009 at 08:36:27AM -0400, Carter Schonwald wrote:
> > are you a student (undergrad or grad) or  faculty (junior or senior)?
> These
> > are all very different scenarios and accordingly different goals are
> > realistic.
>
> I'm a faculty member (postdoc). I've been working in the field of automated
> theorem proving, but for about a year I'm also very interested in Haskell
> and
> in general in the theory behind functional languages. Since I find FP to be
> a
> very important programming concept, I'd like to achieve that we start
> teaching
> it at the university.
>
> Petr
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Petr Pudlak
On Sun, Aug 02, 2009 at 08:36:27AM -0400, Carter Schonwald wrote:
> are you a student (undergrad or grad) or  faculty (junior or senior)? These
> are all very different scenarios and accordingly different goals are
> realistic.

I'm a faculty member (postdoc). I've been working in the field of automated
theorem proving, but for about a year I'm also very interested in Haskell and
in general in the theory behind functional languages. Since I find FP to be a
very important programming concept, I'd like to achieve that we start teaching
it at the university.

Petr
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Carter Schonwald
are you a student (undergrad or grad) or  faculty (junior or senior)? These
are all very different scenarios and accordingly different goals are
realistic.

For example, if you're a student, it might be more realistic to start with
finding a professor who will be willing to supervise an independent study
class.

On Sun, Aug 2, 2009 at 6:25 AM, Petr Pudlak  wrote:

>Hi all,
>
> I'd like to convince people at our university to pay more attention to
> functional languages, especially Haskell. Their arguments were that
>
>(1) Functional programming is more academic than practical.
>(2) They are using logic programming already (Prolog); why is Haskell
>better than Prolog (or generally a functional language better than a
>logic programming language)?
>
> (1) is easier to answer, there are a lots of applications at HaskellWiki,
> or
> elsewhere around the Internet, written in Haskell, OCaml, etc.  Still, I
> welcome comments on your experience, for example, if you have written some
> larger-scale application in Haskell (or another a functional language) that
> is
> not at HaskellWiki, and perhaps if/why you would recommend doing so to
> other
> people.
>
> (2) is harder for me, since I've never programmed in Prolog or another
> language
> for logic programming. I'd be happy if anyone who is experienced in both
> Prolog
> and Haskell could elaborate the differences, pros & cons etc.
>
>Thanks,
>Petr
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Heap profiling project update

2009-08-02 Thread Patai Gergely
Hi all,

It's been a while since I announced anything about the project on the
list, but I've been regularly posting about it on my blog [1]. Everyone
should feel encouraged to check out the cabalised code [2] and play with
it, stress test it. Adventurous ones can also look at the source. ;)

Gergely

[1] http://just-bottom.blogspot.com/
[2] http://code.google.com/p/hp2any/source/checkout

-- 
http://www.fastmail.fm - Send your email first class

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] funct.prog. vs logic prog., practical Haskell

2009-08-02 Thread Petr Pudlak
Hi all,

I'd like to convince people at our university to pay more attention to
functional languages, especially Haskell. Their arguments were that

(1) Functional programming is more academic than practical.
(2) They are using logic programming already (Prolog); why is Haskell
better than Prolog (or generally a functional language better than a
logic programming language)?

(1) is easier to answer, there are a lots of applications at HaskellWiki, or
elsewhere around the Internet, written in Haskell, OCaml, etc.  Still, I
welcome comments on your experience, for example, if you have written some
larger-scale application in Haskell (or another a functional language) that is
not at HaskellWiki, and perhaps if/why you would recommend doing so to other
people.

(2) is harder for me, since I've never programmed in Prolog or another language
for logic programming. I'd be happy if anyone who is experienced in both Prolog
and Haskell could elaborate the differences, pros & cons etc.

Thanks,
Petr
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Cyclic data declarations

2009-08-02 Thread Heinrich Apfelmus
Michal D. wrote:
> I'm in the process of writing a toy compiler but I'm having some
> trouble trying to make my datatypes general. For example, using parsec
> I parse statements as:
> 
> data Stmt = SIf Test [Stmt] [Stmt]   |   ...
> 
> However, when it's time to create a control flow graph it would be
> nice to represent statements as (the Int's signify the node id's for
> either case of the if statement):
> 
> data Stmt = SIf Test Int Int   |   ...

(I recommend to replace  Int  with something more descriptive, like

type Id = Int

)

> So, in a eureka moment I decided that this should be allowable with
> the following declaration:
> 
> data Stmt link = SIf Test link link   |   ...
> 
> Ofcourse, the problem is trying to declare the resulting type for
> parsing: "parse -> Stmt [Stmt [Stmt ]]". Any hints on whether
> there is a way to accomplish what I'm trying to do or do I have to
> bite the bullet and declare two seperate datatypes? I tried being
> clever and declaring a 'helper' type as "type StmtRec = Stmt [StmtRec]"
> but to no avail... GHC won't let it slide: "Cycle in type synonym 
> declarations"!

   newtype StmtRec = StmtRec (Stmt [StmtRec])

will do. More generally, you can use

   newtype Fix f = In { out :: f (Fix f) }

and define

   type StmtRec = Fix ([] `O` Stmt)

where  O  denotes composition of functors

   newtype O f g a = O (f (g a))


Introducing a parameter in  Stmt  like you did and tying the recursion
afterwards is a known technique, but I can't seem to find a wiki page
that concisely explains it right now.


Regards,
apfelmus

--
http://apfelmus.nfshost.com

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe