Re: [Haskell-cafe] Papers from the 2005 Haskell Workshop (Tallinn)?

2005-10-05 Thread Peter Scott
On 10/5/05, Dimitry Golubovsky <[EMAIL PROTECTED]> wrote:
> In particular, I would like to read the paper on "halfs" (haskell
> filesystem). Googling for  gave nothing but
> the Workshop's schedule and ACM Library TOC.

The paper on the ACM web site is only half a page long. It doesn't
really explain anything other than the fact that they managed to make
a decent filesystem using Haskell, and that Haskell's purely
functional semantics and good type system really helped with
reliability.

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


Re: [Haskell-cafe] Papers from the 2005 Haskell Workshop (Tallinn)?

2005-10-05 Thread Dimitry Golubovsky

Nils Anders Danielsson wrote:


>
> Most authors do put their papers on their web pages nowadays.
>

In particular, I would like to read the paper on "halfs" (haskell
filesystem). Googling for  gave nothing but
the Workshop's schedule and ACM Library TOC.

Dimitry Golubovsky
Middletown, CT



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


Re: [Haskell-cafe] Define a data structure of a predicate

2005-10-05 Thread Robin Green
On Wednesday 05 October 2005 18:13, Sara Kenedy wrote:
> I am a newbie in Haskell. Now I am working on datatype structure of
> Haskell, especially on predicate. Today I try to search on Internet to
> find the reference document but I did not find the specific. If any of
> you know how to define a data structure for the abstract syntax of
> predicate logicI , for example : x^2 + 3*x + 2 > 0, if you don't mind,
> please share with me.

I am working on this problem, although the domain of discourse for me is 
Haskell code, so I guess my problem is probably a much more complicated 
extension of what you want to do. I haven't yet figured out how I want to do 
it.

But I read in an earlier post you want to read in stuff from a GXL file - is 
this still what you want to do, and if so, could you not base your data 
structures on the GXL specification?

In fact, in the Java and Lisp language communities (for example) there is code 
to automatically construct objects corresponding to XML files, without having 
to define any data structures by hand. I would guess that DtdToHaskell 
(mentioned in http://comments.gmane.org/gmane.comp.lang.haskell.cafe/8344 )
is the equivalent in Haskell. This should be an easy way to create data 
structures for your project. Don't create work for yourself when it's not 
necessary! If the generated code that DtdToHaskell generates is good enough 
for your needs, there's no need to rewrite that code by hand.

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


Re: [Haskell-cafe] Confused about types

2005-10-05 Thread Nils Anders Danielsson
On Wed, 05 Oct 2005, Henning Thielemann <[EMAIL PROTECTED]> wrote:

>  If this shall be more than a disposable example, I suggest to separate
> the Newton iteration from the abort of the iteration.

There is a related example, demonstrating this technique, in "Why
Functional Programming Matters":
  http://www.cs.chalmers.se/~rjmh/Papers/whyfp.html

-- 
/NAD

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


Re: [Haskell-cafe] Papers from the 2005 Haskell Workshop (Tallinn)?

2005-10-05 Thread Nils Anders Danielsson
On Wed, 05 Oct 2005, Dimitry Golubovsky <[EMAIL PROTECTED]> wrote:

> The papers presented at the Workshop are already available in the ACM
> library which requires membership/subscription to read full text PDFs.
> Are there any plans to make those papers available anywhere else on
> the Web without subscription?

See http://www.acm.org/pubs/copyright_policy/. Particularly the
following part:

  "Under the ACM copyright transfer agreement, the original copyright
  holder retains:

  [...]

  * the right to post author-prepared versions of the work covered by
ACM copyright in a personal collection on their own Home Page and
on a publicly accessible server of their employer. Such posting is
limited to noncommercial access and personal use by others, and
must include [...]"

Most authors do put their papers on their web pages nowadays.

On a side note, it is a little strange that the research community
does the research, writes and typesets the papers, and does most (?)
of the arrangements for the conferences, and still someone else gets
the copyright. University libraries have to pay lots of money for
access to publications. I may have missed some term in the equation,
though.

-- 
/NAD

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


[Haskell-cafe] Define a data structure of a predicate

2005-10-05 Thread Sara Kenedy
Hello you all,

I am a newbie in Haskell. Now I am working on datatype structure of
Haskell, especially on predicate. Today I try to search on Internet to
find the reference document but I did not find the specific. If any of
you know how to define a data structure for the abstract syntax of
predicate logicI , for example : x^2 + 3*x + 2 > 0, if you don't mind,
please share with me.

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


Re: [Haskell-cafe] Endian conversion

2005-10-05 Thread Marc Ziegert
you are right, that pice of code is ugly. i would write sth simmilar 
(Int32->[Word8]) like you did, iff it should be able to cross-compile or do not 
need to be fast or should not need TH.
well, i think, in the case of joel's project the last sentence means "..., iff 
true or true or undefined".

is there any architecture with sth like 0xaabbccdd->bb aa dd cc, ghc (or any 
other haskell-compiler) runs on? (i did know, that such architectures exist.)

- marc


Udo Stenzel wrote:
> > >Why don't you pull out 4 bytes and assemble them manually?
> 
> To that I'd like to add a snippet from NewBinary itself:
> 
> | instance Binary Word32 where
> |   put_ h w = do
> | putByte h (fromIntegral (w `shiftR` 24))
> | putByte h (fromIntegral ((w `shiftR` 16) .&. 0xff))
> | putByte h (fromIntegral ((w `shiftR` 8)  .&. 0xff))
> | putByte h (fromIntegral (w .&. 0xff))
> |   get h = do
> | w1 <- getWord8 h
> | w2 <- getWord8 h
> | w3 <- getWord8 h
> | w4 <- getWord8 h
> | return $! ((fromIntegral w1 `shiftL` 24) .|.
> |(fromIntegral w2 `shiftL` 16) .|.
> |(fromIntegral w3 `shiftL`  8) .|.
> |(fromIntegral w4))
> 
> This obviously writes a Word32 in big endian format, also known as
> "network byte order", and doesn't care how the host platform stores
> integers.  No need for `hton' and `ntoh'.  To convert it to write little
> endian, just copy it and reorder some lines.  (But I think, writing LE
> integers with no good reason and without an enclosing protocol that
> explicitly declares them (like IIOP) is a bad idea.)
> 
> [Which reminds me, has anyone ever tried implementing a Corba ORB in
> Haskell?  There's a binding to MICO, but that just adds to the uglyness
> of MICO and does Haskell a bit of injustice...]
> 
> 
> > Well, I liked that bit of Template Haskell code that Marc sent. I'm  
> > now stuck trying to adapt it to read Storables :-).
> 
> I don't.  It's complex machinery, it's ugly, it solves a problem that
> doesn't even exist and it solves it incompletely.  It will determine the
> byte order of the host system, not of the target, which fails when
> cross-compiling, and it doesn't work on machines with little endian
> words and big endian long words (yes, this has been seen in the wild,
> though might be extinct these days).  Use it only if You Know What You
> Are Doing, have a performance problem and also know that writing
> integers en bloc would help with it.
> 
> 
> > I could read a FastString from a socket since it has IO methods but I  
> > don't know how to convert the FS into a pointer suitable for  
> > Storable. So much to learn :-).
> 
> useAsCString might be your friend.  But so might be (fold (:) []).
> 
> 
> Udo.
> -- 
> "The greatest dangers to liberty lurk in insidious encroachment by men
> of zeal, well-meaning but without understanding."
>   -- Brandeis
> 
> ___
> 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] Papers from the 2005 Haskell Workshop (Tallinn)?

2005-10-05 Thread Dimitry Golubovsky
The papers presented at the Workshop are already available in the ACM
library which requires membership/subscription to read full text PDFs.
Are there any plans to make those papers available anywhere else on
the Web without subscription?

--
Dimitry Golubovsky

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


[Haskell-cafe] CFP: PAPP 2006

2005-10-05 Thread Ch. A. Herrmann

-
Please accept our apologies if you have received multiple copies.
Please feel free to distribute it to those who might be interested.
-


--
  CALL FOR PAPERS

PAPP 2006
 Third International Workshop on
 Practical Aspects of High-level Parallel Programming
 http://graal.ens-lyon.fr/~abenoit/conf/papp2006.html

  part of

 ICCS 2006
  The International Conference on Computational Science
   May 28-31, 2006, University of Reading, UK  
--




AIMS AND SCOPE

Computational Science applications are more and more complex to
develop and require more and more computing power. Parallel and grid
computing are solutions to the increasing need for computing
power. High level languages offer a high degree of abstraction which
ease the development of complex systems. Moreover, being based on
formal semantics, it is possible to certify the correctness of
critical parts of the applications.

Algorithmic skeletons, parallel extensions of functional languages
such as Haskell and ML, parallel logic and constraint programming,
parallel execution of declarative programs such as SQL queries, etc.
have produced methods and tools that improve the price/performance
ratio of parallel software, and broaden the range of target
applications.

The PAPP workshop focuses on practical aspects of high-level parallel
programming: design, implementation and optimization of high-level
programming languages and tools (performance predictors working on
high-level parallel/grid source code, visualisations of abstract
behaviour, automatic hotspot detectors, high-level GRID resource
managers, compilers, automatic generators, etc.), applications in all
fields of computational science, benchmarks and experiments. Research
on high-level grid programming is particularly relevant.

The PAPP workshop is aimed both at researchers involved in the
development of high level approaches for parallel and grid computing
and computational science researchers who are potential users of these
languages and tools.


TOPICS

We welcome submission of original, unpublished papers in English on
topics including:

* high-level models (CGM, BSP, MPM, LogP, etc.) and tools for parallel
 and grid computing

* high-level parallel language design, implementation and
 optimisation

* functional, logic, constraint programming for parallel, distributed
 and grid computing systems

* algorithmic skeletons, patterns and high-level parallel libraries

* generative (e.g. template-based) programming with algorithmic
 skeletons, patterns and high-level parallel libraries

* applications in all fields of high-performance computing (using
 high-level tools)

* benchmarks and experiments using such languages and tools


PAPER SUBMISSION AND PUBLICATION

Prospective authors are invited to submit full papers in English
presenting original research. Submitted papers must be unpublished and
not submitted for publication elsewhere. Papers will go through a
rigorous reviewing process. Each paper will be reviewed by at least
three referees. The accepted papers will be published in the
Springer-Verlag Lecture Notes in Computer Science (LNCS) series, as
part of the ICCS proceedings.

Submission must be done through the ICCS website:
http://www.iccs-meeting.org/iccs2006/papers/upload.php
We invite you to submit a full paper of 8 pages formatted according to
the rules of LNCS, describing new and original results, no later than
December 2, 2005. Submission implies the willingness of at least one
of the authors to register and present the paper. An early email to
Anne.Benoit at ens-lyon.fr with your intention to submit a paper would
be greatly appreciated (especially if you have doubts about the
relevance of your paper).  


Accepted papers should be presented at the workshop and extended and
revised versions will be published in a special issue of Parallel and
Distributed Computing Practices, provided revisions suggested by the
referees are made.


IMPORTANT DATES

December 2, 2005 Full paper due
January 31, 2006 Referee reports and notification
February 10, 2006 Camera-ready paper due
May 2006 Journal version due
June 2006 Referee reports
July-October 2006 Revision of papers, final notification
November 2006 Final paper due


PROGRAM COMMITTEE

Marco Aldinucci (CNR/Univ. of Pisa, Italy)
Olav Beckmann (Imperial College London, UK)
Anne Benoit (ENS Lyon, France)
Alexandros Gerbessiotis (NJIT, USA)
Stephen Gilmore (Univ. of Edinburgh, UK)
Clemens Grelck (Univ. of Luebeck, Germany)
Christoph Herrmann (Univ. of Passau, Germany)
Zhenjiang Hu (Univ. of Tokyo, Japan)
Frédéric Loulergue (Univ. Orléans, France)
Casiano Rodriguez Leon (Univ. La Laguna, Spain)
Alexander Tiskin (Univ.

Re: [Haskell-cafe] Confused about types

2005-10-05 Thread Henning Thielemann

On Fri, 30 Sep 2005, Lanny Ripple wrote:

> newton_h, next_x_h, dy_h :: (Fractional a, Ord a) => (a -> a) ->
> a -> a -> a
> newton_h f x h = until ((<= h) . abs . f) (next_x_h f h) x

 If this shall be more than a disposable example, I suggest to separate
the Newton iteration from the abort of the iteration. Newton's method
could return a list of the interim results, a sequence in the mathematical
sense.
  newton :: Fractional a => (a -> (a,a)) -> a -> [a]
 The function would compute both the value and the derivative,
  e.g. (\x -> (sin x, cos x))

 Then you can easily apply various implementations of a numeric limit.
  limit :: [a] -> a
   The most simple implementation is certainly: limit = (!!100)

 Eventually a function
  numericDiff :: Fractional a => a -> (a -> a) -> (a -> (a,a))
   could extend a function by some difference quotient.


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


Re: [Haskell-cafe] Endian conversion

2005-10-05 Thread Udo Stenzel
> >Why don't you pull out 4 bytes and assemble them manually?

To that I'd like to add a snippet from NewBinary itself:

| instance Binary Word32 where
|   put_ h w = do
| putByte h (fromIntegral (w `shiftR` 24))
| putByte h (fromIntegral ((w `shiftR` 16) .&. 0xff))
| putByte h (fromIntegral ((w `shiftR` 8)  .&. 0xff))
| putByte h (fromIntegral (w .&. 0xff))
|   get h = do
| w1 <- getWord8 h
| w2 <- getWord8 h
| w3 <- getWord8 h
| w4 <- getWord8 h
| return $! ((fromIntegral w1 `shiftL` 24) .|.
|(fromIntegral w2 `shiftL` 16) .|.
|(fromIntegral w3 `shiftL`  8) .|.
|(fromIntegral w4))

This obviously writes a Word32 in big endian format, also known as
"network byte order", and doesn't care how the host platform stores
integers.  No need for `hton' and `ntoh'.  To convert it to write little
endian, just copy it and reorder some lines.  (But I think, writing LE
integers with no good reason and without an enclosing protocol that
explicitly declares them (like IIOP) is a bad idea.)

[Which reminds me, has anyone ever tried implementing a Corba ORB in
Haskell?  There's a binding to MICO, but that just adds to the uglyness
of MICO and does Haskell a bit of injustice...]


> Well, I liked that bit of Template Haskell code that Marc sent. I'm  
> now stuck trying to adapt it to read Storables :-).

I don't.  It's complex machinery, it's ugly, it solves a problem that
doesn't even exist and it solves it incompletely.  It will determine the
byte order of the host system, not of the target, which fails when
cross-compiling, and it doesn't work on machines with little endian
words and big endian long words (yes, this has been seen in the wild,
though might be extinct these days).  Use it only if You Know What You
Are Doing, have a performance problem and also know that writing
integers en bloc would help with it.


> I could read a FastString from a socket since it has IO methods but I  
> don't know how to convert the FS into a pointer suitable for  
> Storable. So much to learn :-).

useAsCString might be your friend.  But so might be (fold (:) []).


Udo.
-- 
"The greatest dangers to liberty lurk in insidious encroachment by men
of zeal, well-meaning but without understanding."
-- Brandeis


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


RE: [Haskell-cafe] Problem with sparc distribution?

2005-10-05 Thread Simon Marlow
On 29 September 2005 10:37, Christian Maeder wrote:

> I've repacked the distribution and put it at:
>
http://www.informatik.uni-bremen.de/agbkb/forschung/formal_methods/CoFI/
hets/solaris/ghc-6.4.1-sparc-sun-solaris2.tar.bz2
> 
> Can you copy it to http://www.haskell.org/ghc/dist/6.4.1/, Simon?

Done.

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