[Haskell] ANNOUNCE: Turbinado V0.2 "Still Ugly"
Progress continues on Turbinado. Turbinado can be found at: http://www.turbinado.org The source can be found at: http://github.com/alsonkemp/turbinado/tree/master (see the /App directory for the code for www.turbinado.org) New in V0.2: * A better "Environment" type (rather than using Dynamics) (-> a 50% speed boost? That's unpossible!); * A functional early version of an ORM for PostgreSQL (note: still needs to handle updates; hdbc-postgresql has a bug with sensing nullable columns); * A prettier website; * Licensing -> BSD. Expect V0.3 in the next week or so with: * More view helpers; * An ORM which handles INSERT/UPDATE...; * A little CMS built using the ORM. Future release: * Separate the website out from the framework. For now, they're evolving together, so live together. ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Wait for *either* MVar to be set
Maybe this is not the correct mailing list to ask this question, but as a similar question was asked seemingly unanswered by Duncan Coutts in 2002 (http://markmail.org/message/kftpnulks7mbz2ij), and as this most likely has to do with the GHC runtime, I might have more luck to get an answer here... Sorry for the spam if this is inappropriate; please say so and I will resubscribe to the Haskell Cafe mailing list, not polluting this main list anymore... So here's my question. GHC provides MVar for nice lightweight concurrency synchronization. However, preemptive multitasking operating systems offer support for waiting for multiple "MVars", until *either* one of them returns (or timeouts). I see no way of achieving this with GHC's MVar, unless using Conal Elliott's unamb package on Hackage that emulates this by spawning and killing two threads (which might be an expensive operation, I'm not sure) Am I wrong in this? If so, is this something that might be considered as a future enhancement in the GHC libraries and runtime? Thanks very much, Peter Verswyvelen CTO - Anygma ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] ANN: "Real World Haskell", now shipping
I'd love it if people took a photo of the book arriving. With enough photos , I could put together a gallery of Haskell around the world :-) Here's my copy arriving last night, http://www.realworldhaskell.org/blog/2008/11/25/real-world-haskell-is-shipping/ And Dino's digital version, http://galois.com/~dons/images/20081121_dm_838.jpg Drop me a line with a photo of yours arriving, and your location, and I'll add it to the gallery. Cheers, Don donnie: >Mine arrives in two days; I can't wait! :) > >Thanks for all your hard work, and to all the members of the community >which provided comments/suggestions to improve the book. >__ >Donnie Jones > >On Wed, Nov 26, 2008 at 12:15 AM, Bryan O'Sullivan <[EMAIL PROTECTED]> >wrote: > > Good evening - > > John Goerzen, Don Stewart and I are delighted to announce the > availability of our book, "Real World Haskell". It is 710 pages long, > and published by O'Reilly Media. > > This is the first book to comprehensively cover modern Haskell > programming. From an introduction to functional programming, it > focuses on teaching through many worked examples. We discuss the > "awkward squad" of I/O, concurrency, and exceptions. We cover network > programming, databases, and system hacking. We motivate and work with > monoids, applicative functors, monads, and monad transformers. We show > you how to debug code, and how to ship well-tested software. > > Better yet, the book is available under a Creative Commons license, so > you can read as much of it as you please before you buy: > [2]http://book.realworldhaskell.org/ We developed this book with the > enthusiastic and voluble support of the Haskell community, and we are > proud to share our work in a fashion that will help newcomers to our > field. > > And best of all, if you order now (at least in North America), you can > have a copy of the book in your hands in a matter of days. > > Thank you from all of us to our friends in the Haskell world who have > been so generous with their feedback and kind words! > ___ > Haskell mailing list > [EMAIL PROTECTED] > [4]http://www.haskell.org/mailman/listinfo/haskell > > References > >Visible links >1. mailto:[EMAIL PROTECTED] >2. http://book.realworldhaskell.org/ >3. mailto:Haskell@haskell.org >4. http://www.haskell.org/mailman/listinfo/haskell > ___ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] Re: Help : A problem with IO
On 26 nov 2008, at 17:18, abdullah abdul Khadir wrote: Hi, The function getMyLine written by me is intended for getting a complete string from the standard input. import IO getMyLine :: IO [Char] getMyLine = do c <- getChar if(c == '\n') then return "" elsecs <- getMyLine return [c] However I keep getting the following error: io.hs:14:2: Parse error in pattern Failed, modules loaded: none. I fail to understand what the error is. I tried out various things such as changing the alignment and so on to no avail. The following program, however, compiled successfully though it has the same structure as the previous program. The "else" should be replaced by "else do". Probably you'll also want the last line to be "return (c:cs)". By the way, questions like these might be more appropriate on haskell- beginners or haskell-cafe. -chris checkd :: IO Bool checkd = do c <- getChar if(c=='d') thenreturn True elsereturn False Prelude> :load ./io.hs [1 of 1] Compiling Main ( io.hs, interpreted ) Ok, modules loaded: Main. *Main> checkd d True ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] Re: Help : A problem with IO
Hi Abdullah, On Wed, 2008-11-26 at 21:48 +0530, abdullah abdul Khadir wrote: > Hi, > > The function getMyLine written by me is intended for getting a > complete string from the standard input. > > import IO > > getMyLine :: IO [Char] > getMyLine = do > c <- getChar > if(c == '\n') > then return "" > elsecs <- getMyLine > return [c] a) you forgot a 'do' after 'else' b) your email would be answered quicker on haskell-beginners or haskell-cafe since haskell is mainly used for announcements. Axel. ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Re: Help : A problem with IO
Hi, The function getMyLine written by me is intended for getting a complete string from the standard input. import IO getMyLine :: IO [Char] getMyLine = do c <- getChar if(c == '\n') then return "" elsecs <- getMyLine return [c] However I keep getting the following error: io.hs:14:2: Parse error in pattern Failed, modules loaded: none. I fail to understand what the error is. I tried out various things such as changing the alignment and so on to no avail. The following program, however, compiled successfully though it has the same structure as the previous program. checkd :: IO Bool checkd = do c <- getChar if(c=='d') thenreturn True elsereturn False Prelude> :load ./io.hs [1 of 1] Compiling Main ( io.hs, interpreted ) Ok, modules loaded: Main. *Main> checkd d True ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] Help : A problem with IO
Hi, getMyLine :: IO [Char] getMyLine = do c <- getChar if(c == '\n') then return "" elsecs <- getMyLine return [c] ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Re: [Haskell] ANN: "Real World Haskell", now shipping
Very excited to receive my copy! Congrats to the 3 of you! On Tue, Nov 25, 2008 at 9:15 PM, Bryan O'Sullivan <[EMAIL PROTECTED]>wrote: > Good evening - > > John Goerzen, Don Stewart and I are delighted to announce the > availability of our book, "Real World Haskell". It is 710 pages long, > and published by O'Reilly Media. > > This is the first book to comprehensively cover modern Haskell > programming. From an introduction to functional programming, it > focuses on teaching through many worked examples. We discuss the > "awkward squad" of I/O, concurrency, and exceptions. We cover network > programming, databases, and system hacking. We motivate and work with > monoids, applicative functors, monads, and monad transformers. We show > you how to debug code, and how to ship well-tested software. > > Better yet, the book is available under a Creative Commons license, so > you can read as much of it as you please before you buy: > http://book.realworldhaskell.org/ We developed this book with the > enthusiastic and voluble support of the Haskell community, and we are > proud to share our work in a fashion that will help newcomers to our > field. > > And best of all, if you order now (at least in North America), you can > have a copy of the book in your hands in a matter of days. > > Thank you from all of us to our friends in the Haskell world who have > been so generous with their feedback and kind words! > ___ > Haskell mailing list > Haskell@haskell.org > http://www.haskell.org/mailman/listinfo/haskell > ___ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
[Haskell] First CFP: WWV 2009
[Apologies if you receive multiple copies] *** * CALL FOR PAPERS * * * * WWV 2009 * * Automated Specification and Verification of Web Systems * * 5th International Workshop * * * * Castle of Hagenberg, Austria. July 17, 2009 * * http://www.risc.uni-linz.ac.at/conferences/wwv09/ * * * * Part of the RISC Summer 2009 * * http://www.risc.uni-linz.ac.at/conferences/summer2009/ * *** IMPORTANT DATES Abstract Submission February 2, 2009 Full Paper Submission February 9, 2009 Acceptance Notification April 20, 2009 Camera Ready June 1, 2009 Workshop July 17, 2009 SCOPE The increased complexity of Web sites and the explosive growth of Web-based applications has turned their design and construction into a challenging problem. Nowadays, many companies have diverted their Web sites into interactive, completely-automated, Web-based applications (such as Amazon, on-line banking, or travel agencies) with a high complexity that requires appropriate specification and verification techniques and tools. Systematic, formal approaches to the analysis and verification can address the problems of this particular domain with automated and reliable tools that also incorporate semantic aspects. We solicit original papers on formal methods and techniques applied to Web sites, Web services or Web-based applications, such as: * rule-based approaches to Web site analysis, certification, specification, verification, and optimization * algebraic methods for verification and certification of Web systems * formal models for describing and reasoning about Web sites * model-checking, synthesis and debugging of Web sites * abstract interpretation and program transformation applied to the semantic Web * intelligent tutoring and advisory systems for Web specifications authoring * Web quality and Web metrics * Web usability and accessibility * Testing and evaluation of Web systems and applications The WWV series provides a forum for researchers from the communities of Rule-based programming, Automated Software Engineering, and Web-oriented research to facilitate the cross-fertilization and the advancement of hybrid methods that combine the three areas. The previous WWV editions were: WWV'08 (Siena, Italy), WWV'07 (Venice, Italy), WWV'06 (Paphos, Cyprus), and WWV'05 (Valencia, Spain). LOCATION WWV'09 will be held at the Research Institute for Symbolic Computation (RISC), which is an institute of the Johannes Kepler University in Linz. It is located in the Castle of Hagenberg, a romantic, medieval castle amidst the lovely, hilly landscape of the Mühlviertel region, 20 km north east of Linz, the provincial capital of Upper Austria, located halfway between Salzburg and Vienna. For more information about RISC, please visit: http://www.risc.uni-linz.ac.at/ The workshop is a part of the RISC Summer 2009 conference series: http://www.risc.uni-linz.ac.at/about/conferences/summer2009/ SUBMISSION PROCEDURE Submissions must be received by February 9, 2009. In addition, an ASCII version of the title and abstract must be submitted by February 2, 2009. Submitted papers should be prepared in LaTeX, formatted according to the Springer llncs style, and should not exceed 15 pages. Submission is web-based via this link: http://www.easychair.org/conferences/?conf=wwv09 PUBLICATION Accepted papers will be published in a preliminary proceedings volume, which will be available during the workshop. After the workshop, a special issue of the Journal of Symbolic Computation on the topic of the WWV workshop is planned. PROGRAM CO-CHAIRS Demis Ballis University of Udine, Italy Temur Kutsia Johannes Kepler University Linz, Austria WORKSHOP CO-CHAIRS Temur Kutsia Johannes Kepler University Linz, Austria Wolfgang SchreinerJohannes Kepler University Linz, Austria INVITED SPEAKERS François Bry Ludwig Maximilian University of Munich, Germany Axel Polleres National University of Ireland, Galway, Ireland PROGRAM COMMITTEE Maria Alpuente Technical University of Valencia, Spain Demis Ballis University of Udine, Italy Wlodzimierz Drabent Linköping University, Sweden, and Institute Of Computer Science, Polish Academy of Sciences, Poland Santiago Escobar Technical University of Valencia, Spain Moreno Falaschi University of Siena, Italy Mário FloridoUniversity of Porto, Portugal Temur Kutsia
[Haskell] Call for papers TAP 2009
[Apologize if you receive multiple copies] Call for Papers TAP: Tests And Proofs 2009 The Third International Conference on Tests And Proofs (TAP) will be held at ETH Zurich, Switzerland on 2 and 3 July 2009. It will be co-located with TOOLS Europe 2009. The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality. Purpose and Scope - To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs; to test a program is to run it with the expectation of discovering bugs. The two techniques seem contradictory: if you have proved your program, it's fruitless to comb it for bugs; and if you are testing it, that is surely a sign that you have given up on any hope to prove its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using rather different techniques and tools. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking has been one of the first signs that contradiction may yield to complementarity, but in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of incompatibility and taking instead the best of what each of these software engineering domains has to offer. The conference will include a mix of invited and submitted presentation, and a generous allocation of panels and informal discussions Topics --- Possible topics include (as an indicative rather than exhaustive list): - Generation of test data, oracles, or preambles by deductive techniques such as o theorem proving, o model checking, o symbolic execution, o constraint logic programming, etc. - Generation of specifications by deduction - Verification techniques combining proofs and tests - Program proving with the aid of testing techniques - Transfer of concepts from testing to proving (e.g., coverage criteria) - Automatic bug finding - Formal frameworks - Tool descriptions and experience reports - Case studies Invited speakers Boutheina CHETALI Security Labs, Technology & Innovation Gemalto - France Sriram K. Rajamani Microsoft Research India Contributions - Two kinds of contributions are expected: - Research papers: full papers of not more than 14 pages in LNCS format, which have to be original, unpublished and not submitted elsewhere. The research papers proceedings will be published in Springer's LNCS series. - Short presentations of work in progress, industrial experience reports and tool demonstrations. An extended abstract of not more than 3 pages is expected and will be reviewed. The accepted extended abstracts will be made available in supplementary proceedings. They will be presented during the cnference days. Important dates * Submission deadline: 15 February 2009 * Notification of acceptance: 22 March 2009 * Submission of final camera-ready version: 15 April 2009 The dates are firm; no extension will be granted. Web site - http://tap.ethz.ch/2009 Call for Papers TAP: Tests And Proofs 2009 The Third International Conference on Tests And Proofs (TAP) will be held at ETH Zurich, Switzerland on 2 and 3 July 2009. It will be co-located with TOOLS Europe 2009. The TAP conference is devoted to the convergence of proofs and tests. It combines ideas from both sides for the advancement of software quality. Purpose and Scope - To prove the correctness of a program is to demonstrate, through impeccable mathematical techniques, that it has no bugs; to test a program is to run it with the expectation of discovering bugs. The two techniques seem contradictory: if you have proved your program, it's fruitless to comb it for bugs; and if you are testing it, that is surely a sign that you have given up on any hope to prove its correctness. Accordingly, proofs and tests have, since the onset of software engineering research, been pursued by distinct communities using rather different techniques and tools. And yet the development of both approaches leads to the discovery of common issues and to the realization that each may need the other. The emergence of model checking has been one of the first signs that contradiction may yield to complementarity, but in the past few years an increasing number of research efforts have encountered the need for combining proofs and tests, dropping earlier dogmatic views of incompatibility and taking instead the best of what each of these software engineering domains has to offer. The conference will include a mix of invited and submitted presentation, an