Re: [Haskell-cafe] Papers from the 2005 Haskell Workshop (Tallinn)?
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)?
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
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
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)?
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
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
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)?
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
- 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
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
> >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?
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