New book: Real-World Haskell!

Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell. The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language. By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to: * design data structures * know how to write, and when to use, monads and monad transformers * use Haskells concurrency and parallelism abstractions * be able to write parsers for custom formats in Parsec. * be able to do IO and binary IO of all forms * be able to bind Haskell to foreign functions in C * be able to do database, network and gui programming * know how to do exception and error handling in Haskell * have a good knowledge of the core libraries * be able to use the type system to track and prevent errors * take advantage of tools like QuickCheck, Cabal and Haddock * understand advanced parts of the language, such as GADTs and MPTCs. That is, you should be able to just write Haskell! The existing handful of books about Haskell are all aimed at teaching programming to early undergraduate audiences, so they are ill-suited to people who already know how to code. And while theres a huge body of introductory material available on the web, you have to be both tremendously motivated and skilled to find the good stuff and apply it to your own learning needs. The time has come for the advanced, practical Haskell book. Heres the proposed chapter outline: 1. Why functional programming? Why Haskell? 2. Getting started: compiler, interpreter, values, simple functions, and types 3. Syntax, type system basics, type class basics 4. Write a real library: the rope data structure, cabal, building projects 5. Typeclasses and their use 6. Bringing it all together: file name matching and regular expressions 7. All about I/O 8. I/O case study: a DSL for searching the filesystem 9. Code case study: barcode recognition 10. Testing the Haskell way: QuickCheck 11. Handling binary files and formats 12. Designing and using data structures 13. Monads 14. Monad case study: refactoring the filesystem seacher 15. Monad transformers 16. Using parsec: parsing a bioinformatics format 17. Interfacing with C: the FFI 18. Error handling 19. Haskell for systems programming 20. Talking to databases: Data.Typeable 21. Web client programming: client/server networking 22. GUI programming: gtk2hs 23. Data mining and web applications 24. Basics of concurrent and parallel Haskell 25. Advanced concurrent and parallel programming 26. Concurrency case study: a lockless database with STM 27. Performance and efficiency: profiling 28. Advanced Haskell: MPTCs, TH, strong typing, GADTs 29. Appendices We're seeking technical reviewers from both inside and outside the Haskell community, to help review and improve the content, with the intent that this text will become the standard reference for those seeking to learn serious Haskell. If you'd like to be a reviewer, please drop us a line at book-review-interest@realworldhaskell.org, and let us know a little about your background and areas of interest. Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License! Well be publishing chapters incrementally, and seeking feedback from our reviewers and readers as we go. You can find more details and updates at the following locations: * The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/ -- Bryan O'Sullivan, Don Stewart and John Goerzen.

On Wednesday 23 May 2007 19:01, Donald Bruce Stewart wrote:
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
That's good news, Don. I look forward to it.
You can find more details and updates at the following locations:
* The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/
It might just be me, but I think there's something up with a redirect or something... I went to http://book.realworldhaskell.org/ then clicked the link to go to http://www.realworldhaskell.org/book/ I end up at http://book.realworldhaskell.org// the extra forward slash isn't a typo. No biggie, but I thought I'd let you know. Cheers Daniel

On Wed, 23 May 2007 17:01:28 +1000 dons@cse.unsw.edu.au (Donald Bruce Stewart) wrote: Hi! Congratualtions for your effort?
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
Anticipating great demand for the book and the fact I like to hold dead-tree version in my hands, I'm interested whether one can pre-order the book? I'd not like to miss a copy ;) Sincerely, Gour

On 23/05/07, Donald Bruce Stewart
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
That is fantastic news to hear. I realise this may be jumping the gun a bit but could you say anything about predicted timelines? Are you starting from a clean slate or have you been squirrelling away lots of material already? Fantastic news, and good luck guys. Dougal.

On Wed, 23 May 2007, Dougal Stanton wrote:
On 23/05/07, Donald Bruce Stewart
wrote: Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
A great idea. I guess there will also be some lines about how to write efficient code by using ByteString et. al.?
That is fantastic news to hear. I realise this may be jumping the gun a bit but could you say anything about predicted timelines? Are you starting from a clean slate or have you been squirrelling away lots of material already?
What about a public darcs repository where people can constantly download and review modifications? People could even send patches to the authors (editors?).

I'll condense my remaining replies to this thread into a single message, to save people a little noise. Henning Thielemann:
I guess there will also be some lines about how to write efficient code by using ByteString et. al.?
You bet!
What about a public darcs repository where people can constantly download and review modifications? People could even send patches to the authors (editors?).
We'll certainly consider those possibilities. I don't know how our publisher will feel about them, but they've been great so far. Alfonso Acosta:
Existential types are a must [...]
Yes, we'll be sure to cover existentials. Thanks for the nudge (and ndm, and others too). Hans van Thiel:
Compared to Erlang. While other functional languages are mentioned occoasionally on this list, Erlang is notably absent.
I'm reluctant to do comparisons with other languages; that's too easy to interpret as evangelism, a game I don't want to play. It also invites the plaintive cry that someone's favourite language was dissed through omission.
Number two on my wish list: interfacing with Java.
The temptation to cover new and exciting material is of course strong. LambdaVM is both, but it's also an in-progress one-person master's project. We think we'd do best to focus on libraries and extensions that are either distributed as standard or widely used.
How about 'Applying Haskell' or something like that as the working title; what is the 'real world' anyway?
The details may vary, but it's roughly this: newtype IO a = IO (State# RealWorld -> (# State# RealWorld, a #)) :-)

On Wed, May 23, 2007 at 10:48:38PM -0700, Bryan O'Sullivan wrote:
Number two on my wish list: interfacing with Java.
The temptation to cover new and exciting material is of course strong. LambdaVM is both, but it's also an in-progress one-person master's project. We think we'd do best to focus on libraries and extensions that are either distributed as standard or widely used.
I think he was probably talking about this: http://semantic.org/jvm-bridge/ which is much more widely used than LambdaVM. Thanks for the LambdaVM plug though. -Brian

bos:
I'll condense my remaining replies to this thread into a single message, to save people a little noise.
I'd just add that the response is literally overwhelming! Some 100-odd volunteers to review, and a lot of mail besides. Please bear with us as we try to surface under this mountain of correspondance -- I'll try to summarise some answers tomorrow. Yay, Haskell community! -- Don

What about a public darcs repository where people can constantly download and review modifications? People could even send patches to the authors (editors?).
I realise that everyone wants to eat their own dog food, but really, if you want the code samples to be available to the masses, you'll use Subversion instead of darcs. No offense to the darcs creators, but 1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it; 2) It's not suitable for medium- to large-scale software development (after 24 hrs+ of importing code for a project underway, still incomplete, I cancelled it and used Subversion, which completed its import in 45 minutes); 3) I can browse a Subversion repository with a web browser instead of having to download code from the repository from the command line (of course command line is still available). Sometimes viewing a version of a code sample online is all that is needed to answer a question, and in that case I prefer to look instead of downloading a file that I have to delete. --doug

3) I can browse a Subversion repository with a web browser instead of having to download code from the repository from the command line (of course command line is still available). Sometimes viewing a version of a code sample online is all that is needed to answer a question, and in that case I prefer to look instead of downloading a file that I have to delete.
Darcs does have Darcsweb that can be used for the same purpose, with the full array of Darcs viewing features. Darcsweb isn't nearly as widespread as ViewCVS and the like, but it exists and can be set up easily enough. For the 'I only want to check a file' scenario, you don't need any kind of software; just point your browser towards the file, in plain HTTP style. Anthony

Hi
3) I can browse a Subversion repository with a web browser instead of having to download code from the repository from the command line (of course command line is still available). Sometimes viewing a version of a code sample online is all that is needed to answer a question, and in that case I prefer to look instead of downloading a file that I have to delete.
Darcs does have Darcsweb that can be used for the same purpose, with the full array of Darcs viewing features. Darcsweb isn't nearly as widespread as ViewCVS and the like, but it exists and can be set up easily enough.
http://darcs.haskell.org/darcsweb/darcsweb.cgi?r=yhc;a=summary - most things on haskell.org have a darcsweb, thats the one for Yhc. Plus I suspect that darcs will be discussed in the book, for building a library, in which case its only sensible to dogfood your own stuff. Not that darcs is dogfood, more like a chocolate cake :) Thanks Neil

On Fri, 25 May 2007 19:39:19 +0100
"Neil Mitchell"
http://darcs.haskell.org/darcsweb/darcsweb.cgi?r=yhc;a=summary - most things on haskell.org have a darcsweb, thats the one for Yhc.
Plus I suspect that darcs will be discussed in the book, for building a library, in which case its only sensible to dogfood your own stuff. Not that darcs is dogfood, more like a chocolate cake :)
*puts on flameproof suit* Not really, due to the whole "bug #1" thing (broken merging). -- Robin

On Fri, 25 May 2007, Neil Mitchell wrote:
http://darcs.haskell.org/darcsweb/darcsweb.cgi?r=yhc;a=summary - most things on haskell.org have a darcsweb, thats the one for Yhc.
Nice, I have not seen this before. Not all of my packages at darcs.haskell.org are listed. How can I add more of them?

At Fri, 25 May 2007 12:23:24 -0500, "Doug Kirk"
I realise that everyone wants to eat their own dog food, but really, if you want the code samples to be available to the masses, you'll use Subversion instead of darcs.
No offense to the darcs creators, but
1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it;
I have to say, I think that's utter rubbish. Maybe five years ago, people were actually excited about subversion. Today however, the amount of attention that Git, Mercurial, Monotone and others gets really shows that people finally are comfortable with DVCS and happy to use it. I refer you to this post[0] by one of the lead Monotone developers, in particular the last paragraph: For whatever it's worth, I'm actually quite pleased with the result. I don't really see these systems as competing as much as co-evolving, and enabling massive increase in the rate of free software evolution. In the early 2000s, anyone I described this sort of tool to thought it was crazy and would never work. Merge *after* commit? Branches with *multiple* heads? *Content addresses* in history graphs? *No* canonical servers? Now all this is the standard, and we're quibbling over who does it fastest. Who cares? The battle is won: DVCS technology works fantastically well -- using the model we pioneered -- and free implementations of it are absorbing many major projects. That's cause for celebration. Lots of open source projects use Git, beyond the kernel. Mozilla has just switched to Mercurial. I know of lots of projects using Monotone (interestingly, many of these seem to be in-house commercial closed source projects). I don't know of anyone choosing subversion over a DVCS. (On the other hand, I don't know of anyone outside immediate "haskellers" using Darcs.) Matthew [0] http://lists.gnu.org/archive/html/monotone-devel/2007-04/msg00149.html -- Matthew Sackman http://www.wellquite.org/

On 26/05/07, Matthew Sackman
(On the other hand, I don't know of anyone outside immediate "haskellers" using Darcs.)
A lot of people in the Emacs subcommunity use darcs; many of them may have heard of Haskell but certainly wouldn't describe themselves as Haskellers. See http://www.emacswiki.org/cgi-bin/wiki/DaRcs for a few links. -- -David House, dmhouse@gmail.com

On 26/05/07, Matthew Sackman
(On the other hand, I don't know of anyone outside immediate "haskellers" using Darcs.)
Good idea to get some data on this, instead of speculating. Let's do that. A quick google reveals the Haskell crew is far from alone as users. http://www.google.com.au/search?hl=en&q=_darcs Here's the first 20 hits google finds: repo.nitroproject.org/_darcs/ darcs.pugscode.org/_darcs/ common-lisp.net/project/cffi/darcs/cffi/_darcs/ www.cymraeg.ru/repos/geiriadur/_darcs/current/ www.cse.unsw.edu.au/~dons/code/polymer/_darcs/ <-- Haskell www.cse.unsw.edu.au/~dons/code/goa/_darcs/ <-- Haskell zargon.hobbesnet.org/~squires/repos/torbutton/_darcs/ facets.rubyforge.org/src/_darcs/ www.n-heptane.com/nhlab/repos/cabalDebianTemplate/_darcs/ www.khjk.org/~sm/code/advopost/_darcs/ repetae.net/john/repos/GetOptions/_darcs/ <-- Haskell james.tooraweenah.com/darcs/netrek-server/_darcs/ users.tkk.fi/~ptotterm/darcs/macports/_darcs/ mumble.net/~campbell/darcs/slime48/_darcs/ galinha.ucpel.tche.br/chicken/_darcs/ mp3fs.sourceforge.net/mp3fs/_darcs/ www.scannedinavian.com/~eric/hpaste/_darcs/ <-- Haskell www.lshift.net/~tonyg/json-scheme/_darcs/ darcs.fh-wedel.de/hxt/_darcs/ <-- Haskell Of which only 5/20 are Haskell repos. -- Don

On 26/05/07, Donald Bruce Stewart
darcs.pugscode.org/_darcs/ www.n-heptane.com/nhlab/repos/cabalDebianTemplate/_darcs/ www.khjk.org/~sm/code/advopost/_darcs/
These are also Haskell repos that you missed, bringing the figure up to 8. Still, I wouldn't describe that as "just used by Haskellers". It's also interesting to note that there's a fairly large percentage of Ruby users using darcs. Perhaps we out to push more on this front? -- -David House, dmhouse@gmail.com

I didn't say there weren't others, simply that I didn't know of any
others (I don't just go looking for things online all the
time...having a real job really gets in the way of these things)! So I
wasn't really trying to disparage darcs. But here's another statistic:
http://www.google.com/search?rls=en&q=darcs+inurl:_darcs&ie=UTF-8&oe=UTF-8
Results 1 - 50 of about 54,100 for darcs inurl:_darcs. (0.38 seconds)
http://www.google.com/search?rls=en&q=svn+inurl:svn&ie=UTF-8&oe=UTF-8
Results 1 - 50 of about 995,000 for svn inurl:svn. (0.14 seconds)
That's 54,000 pages vs. 995,000 pages. That really was more my point.
(BTW, cvs is still [Results 1 - 50 of about 2,920,000 for cvs
inurl:cvs. (0.17 seconds)])
I *want* people (and companies) to move to Haskell; therefore, I want
to lower the entry "price". The goal is to introduce a new language,
not a new SCM tool. You certainly wouldn't want to leave the
impression that one MUST use darcs in order to use Haskell!
On 5/26/07, Donald Bruce Stewart
On 26/05/07, Matthew Sackman
wrote: (On the other hand, I don't know of anyone outside immediate "haskellers" using Darcs.)
Good idea to get some data on this, instead of speculating. Let's do that. A quick google reveals the Haskell crew is far from alone as users.
http://www.google.com.au/search?hl=en&q=_darcs
Here's the first 20 hits google finds:
repo.nitroproject.org/_darcs/ darcs.pugscode.org/_darcs/ common-lisp.net/project/cffi/darcs/cffi/_darcs/ www.cymraeg.ru/repos/geiriadur/_darcs/current/ www.cse.unsw.edu.au/~dons/code/polymer/_darcs/ <-- Haskell www.cse.unsw.edu.au/~dons/code/goa/_darcs/ <-- Haskell zargon.hobbesnet.org/~squires/repos/torbutton/_darcs/ facets.rubyforge.org/src/_darcs/ www.n-heptane.com/nhlab/repos/cabalDebianTemplate/_darcs/ www.khjk.org/~sm/code/advopost/_darcs/ repetae.net/john/repos/GetOptions/_darcs/ <-- Haskell james.tooraweenah.com/darcs/netrek-server/_darcs/ users.tkk.fi/~ptotterm/darcs/macports/_darcs/ mumble.net/~campbell/darcs/slime48/_darcs/ galinha.ucpel.tche.br/chicken/_darcs/ mp3fs.sourceforge.net/mp3fs/_darcs/ www.scannedinavian.com/~eric/hpaste/_darcs/ <-- Haskell www.lshift.net/~tonyg/json-scheme/_darcs/ darcs.fh-wedel.de/hxt/_darcs/ <-- Haskell
Of which only 5/20 are Haskell repos.
-- Don _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Tue, 2007-05-29 at 14:05 -0500, Doug Kirk wrote:
I *want* people (and companies) to move to Haskell; therefore, I want to lower the entry "price". The goal is to introduce a new language, not a new SCM tool. You certainly wouldn't want to leave the impression that one MUST use darcs in order to use Haskell!
Fair enough. But you do not want to leave the impression that one must use SVN in order to use Haskell (or any other language, for that matter) either? Anyway, I am sure that can be avoided by a reasonable phrasing of the relevant chapter - caveat scriptor. Now, darcs is: a) really simple to get started with b) ubiquitous for Haskell programs - if you download something to install yourself, you will - as likely as not - use darcs to do the downloading. c) written in Haskell, serving as both an example of a 'real world' application, and as a possible target for the enterprising hacker. You could make a similar argument for the build system - should a Haskell book teach "make" instead of Cabal, just because it is more familar? -k

On Wednesday 30 May 2007 06:58:36 Ketil Malde wrote:
On Tue, 2007-05-29 at 14:05 -0500, Doug Kirk wrote:
I *want* people (and companies) to move to Haskell
As a complete noob considering making a commercial venture into Haskell, may I ask what people's opinions are on this? Are there many Haskell products? Our expertise is in scientific, numerical and graphical computing. Our product catalog should elucidate this: http://www.ffconsultancy.com/products/ I'd like to know how feasible it would be to rewrite some of these products in Haskell. For example, our time-frequency add-on for Mathematica might sell a lot better if it were a standalone cross-platform GUI application or even a web application. Is it feasible to write such a thing in Haskell? Are any core Haskell libraries non-free for commercial use? Also, would anyone be interested in a Haskell for Scientists book, following our OCaml for Scientists and forthcoming F# for Scientists books? -- Dr Jon D Harrop, Flying Frog Consultancy Ltd. OCaml for Scientists http://www.ffconsultancy.com/products/ocaml_for_scientists/?e

jon:
On Wednesday 30 May 2007 06:58:36 Ketil Malde wrote:
On Tue, 2007-05-29 at 14:05 -0500, Doug Kirk wrote:
I *want* people (and companies) to move to Haskell
As a complete noob considering making a commercial venture into Haskell, may I ask what people's opinions are on this? Are there many Haskell products?
Have a look at the industry page for the larger businesses using Haskell, http://haskell.org/haskellwiki/Haskell_in_industry -- Don

Jon Harrop wrote:
On Wednesday 30 May 2007 06:58:36 Ketil Malde wrote:
On Tue, 2007-05-29 at 14:05 -0500, Doug Kirk wrote:
I *want* people (and companies) to move to Haskell
As a complete noob considering making a commercial venture into Haskell, may I ask what people's opinions are on this? Are there many Haskell products?
Our expertise is in scientific, numerical and graphical computing. Our product catalog should elucidate this:
http://www.ffconsultancy.com/products/
I'd like to know how feasible it would be to rewrite some of these products in Haskell. For example, our time-frequency add-on for Mathematica might sell a lot better if it were a standalone cross-platform GUI application or even a web application. Is it feasible to write such a thing in Haskell? Are any core Haskell libraries non-free for commercial use?
Also, would anyone be interested in a Haskell for Scientists book, following our OCaml for Scientists and forthcoming F# for Scientists books?
I didn't read these books but I would if one exists on Haskell. But I expect that you will first have to convince scientists that Haskell can be efficient in numerical analysis (both memory and speed). My guess is that it can be efficient if missing efficient data structures are provided. This has been solved for strings so I guess it can be done for other data structures as well but it seems to be a huge work. If the target is only to wrap the GSL or equivalent, then I expect that it will only be considered as a curiosity. a+, ld.

On Fri, 25 May 2007, Doug Kirk wrote:
What about a public darcs repository where people can constantly download and review modifications? People could even send patches to the authors (editors?).
I realise that everyone wants to eat their own dog food, but really, if you want the code samples to be available to the masses, you'll use Subversion instead of darcs.
Code samples? I want darcs for the whole content of the book, preferably LaTeX!

Doug Kirk wrote:
No offense to the darcs creators, but
1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it;
If that is true, then they have missed the point. DVC is a real win for most workflows. The applicable alternatives to darcs are : bzr, git, mercurial, tla. They have different pros and cons which are discussed at length on various blogs. svn just doesn't make the list; it's not a comparable project, because it's centralised. SVK is more plausible but since it is essentially a hack to implement decentralisation on top of centralisation, it has different design constraints than things designed from the bottom-up as decentralised. Jules

On 29/05/07, Jules Bean
Doug Kirk wrote:
No offense to the darcs creators, but
1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it;
If that is true, then they have missed the point. DVC is a real win for most workflows.
The applicable alternatives to darcs are : bzr, git, mercurial, tla. They have different pros and cons which are discussed at length on various blogs.
svn just doesn't make the list; it's not a comparable project, because it's centralised. SVK is more plausible but since it is essentially a hack to implement decentralisation on top of centralisation, it has different design constraints than things designed from the bottom-up as decentralised.
How do the differing design constraints make svk not comparable? As far as I understood it, it's a decentralised version control system that happens to layer over a very popular existing system, and which therefore gets some of its goodies like working over http. osfameron

I dunno about SVK as I've never used it. I was talking about
Subversion, abbreviated svn on the command line.
Sorry to everybody for perhaps touching a nerve; I really was just
desiring to "lower the bar" to Haskell newbies that the book might
attract.
It's hard enough coming from an imperative background and learning the
concepts, syntax, and semantics of Haskell without having to also
learn a new SCM tool. That, and I find Subversion / CVS ubiquitous in
the corporations (that you would recognize the names of) in which I've
contracted over the last 13 years (obviously cvs until svn came
along).
On 5/29/07, Hakim Cassimally
On 29/05/07, Jules Bean
wrote: Doug Kirk wrote:
No offense to the darcs creators, but
1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it;
If that is true, then they have missed the point. DVC is a real win for most workflows.
The applicable alternatives to darcs are : bzr, git, mercurial, tla. They have different pros and cons which are discussed at length on various blogs.
svn just doesn't make the list; it's not a comparable project, because it's centralised. SVK is more plausible but since it is essentially a hack to implement decentralisation on top of centralisation, it has different design constraints than things designed from the bottom-up as decentralised.
How do the differing design constraints make svk not comparable? As far as I understood it, it's a decentralised version control system that happens to layer over a very popular existing system, and which therefore gets some of its goodies like working over http.
osfameron _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Jules Bean wrote:
No offense to the darcs creators, but
1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it;
If that is true, then they have missed the point. DVC is a real win for most workflows.
We are indeed using darcs, so this discussion is a bit moot. Regards,

OTOH, I work for companies, and they really value their assets,
especially software assets. So they *want* centralized stuff, so they
can ensure they have consistent backups (in the U.S.A. there is a lot
of regulation under Sarbanes-Oxley that requires this stuff). Right
now we're using ClearCase, which I abhor because it's so
heavyweight...but it is centralized control.
And as for the workflow, svn plugins are "built in" (as in free beer!) to:
-Xcode
-Eclipse
-TextMate
-Mac OS X (via DAV)
-HTML browser
and for
-Windows (if I really MUST use it)
via a download/install. So I can usually view, edit, and commit files
(or my favorite svn feature, a set of files atomically) from wherever
I happen to be working.
On 5/29/07, Jules Bean
Doug Kirk wrote:
No offense to the darcs creators, but
1) Only current Haskellers use it; everyone else either uses Subversion or is migrating to it;
If that is true, then they have missed the point. DVC is a real win for most workflows.
The applicable alternatives to darcs are : bzr, git, mercurial, tla. They have different pros and cons which are discussed at length on various blogs.
svn just doesn't make the list; it's not a comparable project, because it's centralised. SVK is more plausible but since it is essentially a hack to implement decentralisation on top of centralisation, it has different design constraints than things designed from the bottom-up as decentralised.
Jules

On 5/29/07, Doug Kirk
OTOH, I work for companies, and they really value their assets, especially software assets. So they *want* centralized stuff, so they can ensure they have consistent backups (in the U.S.A. there is a lot of regulation under Sarbanes-Oxley that requires this stuff). Right now we're using ClearCase, which I abhor because it's so heavyweight...but it is centralized control.
Interestingly, using a decentralized version control does not rule out the possibility of centralized control and development. For example, darcs itself has a very centralized development even though the tool allows decentralization. The advantage is that people working on, for example, a feature branch can easily share patches via cherry picking. When the feature branch is ready to be merged darcs handles this in a way superior to svn[1] by doing the merge almost completely transparently. We're currently developing a feature branch at work under svn and every merge is a book keeping headache and at least one day of lost development time. In this respect, svn seems primitive, tedious and error-prone. Just check the svn red bean book for details on merging in svn. We have learned you need to manually track version numbers so you don't merge things twice. Perhaps my argument is more about svn vs. darcs, but those are the two version control systems I know best. [1] I will happily concede that darcs is not currently perfect in it's automated merging, especially in the case of conflicting patches. Just ask the ghc developers if this is a problem for them. But, that is also why there is a summer of code project this year to fix the problem. With a fair bit of retooling, darcs will handle this case better in the future and I'm confident this will become a problem of the past. Jason

Dougal Stanton wrote:
That is fantastic news to hear. I realise this may be jumping the gun a bit but could you say anything about predicted timelines?
Not just yet, but it will be a much faster process with three seasoned verbmonkeys at work than if we had just one.
Are you starting from a clean slate or have you been squirrelling away lots of material already?
A bit of both.

Donald Bruce Stewart wrote:
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
I have absolutely no doubt that I'm gonna love the book :) -Niko

On Wed, 2007-05-23 at 17:01 +1000, Donald Bruce Stewart wrote:
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language. By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to:
* design data structures * know how to write, and when to use, monads and monad transformers * use Haskells concurrency and parallelism abstractions * be able to write parsers for custom formats in Parsec. * be able to do IO and binary IO of all forms * be able to bind Haskell to foreign functions in C * be able to do database, network and gui programming * know how to do exception and error handling in Haskell * have a good knowledge of the core libraries * be able to use the type system to track and prevent errors * take advantage of tools like QuickCheck, Cabal and Haddock * understand advanced parts of the language, such as GADTs and MPTCs.
That is, you should be able to just write Haskell!
The existing handful of books about Haskell are all aimed at teaching programming to early undergraduate audiences, so they are ill-suited to people who already know how to code. And while theres a huge body of introductory material available on the web, you have to be both tremendously motivated and skilled to find the good stuff and apply it to your own learning needs.
The time has come for the advanced, practical Haskell book. Great, this surely meets a demand and I'll buy it, for sure.
Here's my wish list:
Heres the proposed chapter outline:
1. Why functional programming? Why Haskell?
2. Getting started: compiler, interpreter, values, simple functions, and types 3. Syntax, type system basics, type class basics 4. Write a real library: the rope data structure, cabal, building projects 5. Typeclasses and their use 6. Bringing it all together: file name matching and regular expressions 7. All about I/O 8. I/O case study: a DSL for searching the filesystem 9. Code case study: barcode recognition 10. Testing the Haskell way: QuickCheck 11. Handling binary files and formats 12. Designing and using data structures 13. Monads 14. Monad case study: refactoring the filesystem seacher 15. Monad transformers 16. Using parsec: parsing a bioinformatics format All great! 17. Interfacing with C: the FFI Number two on my wish list: interfacing with Java. Not because of the language, but the many libraries. For instance, there is a Java library to interface with the open document format, something I'd like to do. I know there is a Haskell Java interface, but it seems to be outside of
18. Error handling 19. Haskell for systems programming 20. Talking to databases: Data.Typeable Yes. 21. Web client programming: client/server networking 22. GUI programming: gtk2hs 23. Data mining and web applications 24. Basics of concurrent and parallel Haskell 25. Advanced concurrent and parallel programming 26. Concurrency case study: a lockless database with STM 27. Performance and efficiency: profiling 28. Advanced Haskell: MPTCs, TH, strong typing, GADTs 29. Appendices Number one on my wish list: maybe this will be covered in the chapters so far, but what about lazy versus strict? I understand the importance of laziness to define infinite lists and other data structures, but not
Compared to Erlang. While other functional languages are mentioned occoasionally on this list, Erlang is notably absent. This while the Erlang processes seem to be very useful, especially for concurrency and embedded systems programming. Is Haskell useful for embedded systems at all? the mainstream and hardly documented. Or am I wrong? the impact on performance and what to look out for when writing code. Similarly safe and unsafe and memoization. Could this be a separate chapter?
We're seeking technical reviewers from both inside and outside the Haskell community, to help review and improve the content, with the intent that this text will become the standard reference for those seeking to learn serious Haskell.
A critical note here. Before you can learn 'serious' Haskell you'll have to learn basic Haskell. I'm sure it is unintentional, but avoid any impression of superiority. Writing a good text book is very hard and very time consuming, and succesful communication with an audience is a separate skill. How about 'Applying Haskell' or something like that as the working title; what is the 'real world' anyway? But I'll be looking forward to the book, whatever its name! Regards, Hans van Thiel
If you'd like to be a reviewer, please drop us a line at book-review-interest@realworldhaskell.org, and let us know a little about your background and areas of interest.
Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License! Well be publishing chapters incrementally, and seeking feedback from our reviewers and readers as we go.
You can find more details and updates at the following locations:
* The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/
-- Bryan O'Sullivan, Don Stewart and John Goerzen.

The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language.
Amen to that! Too many people seem to think Hasekll is some sort of "pretend language" that is only useful for defining quicksort and other trivial excersises in CS.
By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to:
* design data structures * know how to write, and when to use, monads and monad transformers * use Haskells concurrency and parallelism abstractions * be able to write parsers for custom formats in Parsec. * be able to do IO and binary IO of all forms * be able to bind Haskell to foreign functions in C * be able to do database, network and gui programming * know how to do exception and error handling in Haskell * have a good knowledge of the core libraries * be able to use the type system to track and prevent errors * take advantage of tools like QuickCheck, Cabal and Haddock * understand advanced parts of the language, such as GADTs and MPTCs.
That is, you should be able to just write Haskell!
Hmm, interesting. I didn't know half of that stuff was *possible*! o_O
Heres the proposed chapter outline:
That's a fairly impressive loadout - if it ever happens... Hope you guys have *a lot* of time to finish all that! ;-)
You can find more details and updates at the following locations:
* The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/
I will be watching this one with some interest...

What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already! Donald Bruce Stewart wrote:
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language. By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to:
* design data structures * know how to write, and when to use, monads and monad transformers * use Haskells concurrency and parallelism abstractions * be able to write parsers for custom formats in Parsec. * be able to do IO and binary IO of all forms * be able to bind Haskell to foreign functions in C * be able to do database, network and gui programming * know how to do exception and error handling in Haskell * have a good knowledge of the core libraries * be able to use the type system to track and prevent errors * take advantage of tools like QuickCheck, Cabal and Haddock * understand advanced parts of the language, such as GADTs and MPTCs.
That is, you should be able to just write Haskell!
The existing handful of books about Haskell are all aimed at teaching programming to early undergraduate audiences, so they are ill-suited to people who already know how to code. And while theres a huge body of introductory material available on the web, you have to be both tremendously motivated and skilled to find the good stuff and apply it to your own learning needs.
The time has come for the advanced, practical Haskell book.
Heres the proposed chapter outline:
1. Why functional programming? Why Haskell? 2. Getting started: compiler, interpreter, values, simple functions, and types 3. Syntax, type system basics, type class basics 4. Write a real library: the rope data structure, cabal, building projects 5. Typeclasses and their use 6. Bringing it all together: file name matching and regular expressions 7. All about I/O 8. I/O case study: a DSL for searching the filesystem 9. Code case study: barcode recognition 10. Testing the Haskell way: QuickCheck 11. Handling binary files and formats 12. Designing and using data structures 13. Monads 14. Monad case study: refactoring the filesystem seacher 15. Monad transformers 16. Using parsec: parsing a bioinformatics format 17. Interfacing with C: the FFI 18. Error handling 19. Haskell for systems programming 20. Talking to databases: Data.Typeable 21. Web client programming: client/server networking 22. GUI programming: gtk2hs 23. Data mining and web applications 24. Basics of concurrent and parallel Haskell 25. Advanced concurrent and parallel programming 26. Concurrency case study: a lockless database with STM 27. Performance and efficiency: profiling 28. Advanced Haskell: MPTCs, TH, strong typing, GADTs 29. Appendices
We're seeking technical reviewers from both inside and outside the Haskell community, to help review and improve the content, with the intent that this text will become the standard reference for those seeking to learn serious Haskell. If you'd like to be a reviewer, please drop us a line at book-review-interest@realworldhaskell.org, and let us know a little about your background and areas of interest.
Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License! Well be publishing chapters incrementally, and seeking feedback from our reviewers and readers as we go.
You can find more details and updates at the following locations:
* The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/
-- Bryan O'Sullivan, Don Stewart and John Goerzen. _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I really hope they choose the flying squirrel.
On 5/23/07, Dan Weston
What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
Donald Bruce Stewart wrote:
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language. By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to:
* design data structures * know how to write, and when to use, monads and monad transformers * use Haskells concurrency and parallelism abstractions * be able to write parsers for custom formats in Parsec. * be able to do IO and binary IO of all forms * be able to bind Haskell to foreign functions in C * be able to do database, network and gui programming * know how to do exception and error handling in Haskell * have a good knowledge of the core libraries * be able to use the type system to track and prevent errors * take advantage of tools like QuickCheck, Cabal and Haddock * understand advanced parts of the language, such as GADTs and MPTCs.
That is, you should be able to just write Haskell!
The existing handful of books about Haskell are all aimed at teaching programming to early undergraduate audiences, so they are ill-suited to people who already know how to code. And while theres a huge body of introductory material available on the web, you have to be both tremendously motivated and skilled to find the good stuff and apply it to your own learning needs.
The time has come for the advanced, practical Haskell book.
Heres the proposed chapter outline:
1. Why functional programming? Why Haskell? 2. Getting started: compiler, interpreter, values, simple functions, and types 3. Syntax, type system basics, type class basics 4. Write a real library: the rope data structure, cabal, building projects 5. Typeclasses and their use 6. Bringing it all together: file name matching and regular expressions 7. All about I/O 8. I/O case study: a DSL for searching the filesystem 9. Code case study: barcode recognition 10. Testing the Haskell way: QuickCheck 11. Handling binary files and formats 12. Designing and using data structures 13. Monads 14. Monad case study: refactoring the filesystem seacher 15. Monad transformers 16. Using parsec: parsing a bioinformatics format 17. Interfacing with C: the FFI 18. Error handling 19. Haskell for systems programming 20. Talking to databases: Data.Typeable 21. Web client programming: client/server networking 22. GUI programming: gtk2hs 23. Data mining and web applications 24. Basics of concurrent and parallel Haskell 25. Advanced concurrent and parallel programming 26. Concurrency case study: a lockless database with STM 27. Performance and efficiency: profiling 28. Advanced Haskell: MPTCs, TH, strong typing, GADTs 29. Appendices
We're seeking technical reviewers from both inside and outside the Haskell community, to help review and improve the content, with the intent that this text will become the standard reference for those seeking to learn serious Haskell. If you'd like to be a reviewer, please drop us a line at book-review-interest@realworldhaskell.org, and let us know a little about your background and areas of interest.
Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License! Well be publishing chapters incrementally, and seeking feedback from our reviewers and readers as we go.
You can find more details and updates at the following locations:
* The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/
-- Bryan O'Sullivan, Don Stewart and John Goerzen. _______________________________________________ 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
-- Tom Harper Computer Science Major '07 Syracuse University +1 949 235 0185 Public Key: http://aftereternity.co.uk/rth.asc

That's pretty baa-aa-aad. Mike brad clawsie wrote:
On Wed, May 23, 2007 at 12:40:58PM -0700, Dan Weston wrote:
What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
"lamb"-da? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

* Dan Weston
What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
I'd like to suggest the Mantis shrimp because they have excellent vision, they're long lived and they pack a punch. I haven't checked, but it's almost certainly not already used. http://en.wikipedia.org/wiki/Mantis_shrimp

On Wed, May 23, 2007 at 15:22:05 -0700, Scott Cruzen wrote:
* Dan Weston
[070523 12:41]: What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
I'd like to suggest the Mantis shrimp because they have excellent vision, they're long lived and they pack a punch.
I haven't checked, but it's almost certainly not already used.
They have their menagerie online[1] so it's easy to check what animals that have been used already. Personally I think a sloth would be suited for a lazy language like Haskell :-) /M [1]: http://www.oreilly.com/animals.html -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus

Magnus Therning wrote:
On Wed, May 23, 2007 at 15:22:05 -0700, Scott Cruzen wrote:
* Dan Weston
[070523 12:41]: What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
I'd like to suggest the Mantis shrimp because they have excellent vision, they're long lived and they pack a punch.
I haven't checked, but it's almost certainly not already used.
They have their menagerie online[1] so it's easy to check what animals that have been used already. Personally I think a sloth would be suited for a lazy language like Haskell :-)
Oh that has *got* to be used already! ;-)

On Thu, May 24, 2007 at 20:37:12 +0100, Andrew Coppin wrote:
Magnus Therning wrote:
On Wed, May 23, 2007 at 15:22:05 -0700, Scott Cruzen wrote:
* Dan Weston
[070523 12:41]: What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
I'd like to suggest the Mantis shrimp because they have excellent vision, they're long lived and they pack a punch.
I haven't checked, but it's almost certainly not already used.
They have their menagerie online[1] so it's easy to check what animals that have been used already. Personally I think a sloth would be suited for a lazy language like Haskell :-)
Oh that has *got* to be used already! ;-)
I thought so too, but it doesn't seem to be. However, it seems the list I pointed to isn't complete. There's an O'Reilly book about OpenSSL that has sea lions and seals on the cover, however I couldn't find it among the titles. /M -- Magnus Therning (OpenPGP: 0xAB4DFBA4) magnus@therning.org Jabber: magnus.therning@gmail.com http://therning.org/magnus

Scott Cruzen wrote:
I'd like to suggest the Mantis shrimp because they have excellent vision, they're long lived and they pack a punch.
They certainly do. An excellent choice. Personally, I'd like to see the Giant Sea Bass., just because they're so stately: http://week.divebums.com/2006/Sep05-2006/index.html http://week.divebums.com/2006/Aug28-2006/index.html Actually, I'd like to see my favorite fish, the Sarcastic Fringehead, but I'm trying to be somewhat realistic: http://week.divebums.com/2006/Oct02-2006/fringehead_steve-murvine.jpg

Clifford Beshers wrote:
Scott Cruzen wrote:
I'd like to suggest the Mantis shrimp because they have excellent vision, they're long lived and they pack a punch.
They certainly do. An excellent choice.
Personally, I'd like to see the Giant Sea Bass., just because they're so stately:
http://week.divebums.com/2006/Sep05-2006/index.html http://week.divebums.com/2006/Aug28-2006/index.html
Actually, I'd like to see my favorite fish, the Sarcastic Fringehead, but I'm trying to be somewhat realistic:
http://week.divebums.com/2006/Oct02-2006/fringehead_steve-murvine.jpg
While we're on fish, what's wrong with the humble Haddock? :-) Cheers, Simon

Last time I read O'Reilly's policy, it stated that you're free to
suggest an animal, but that they have a full-time person that makes
the decision on which animal is on the book.
However, the bigger issue is that anybody familiar with O'Reillys
product lines knows that their "Real World" series doesn't have any
animals at all!
On 5/23/07, Dan Weston
What power animal have you chosen for the cover of your O'Reilly book? Alas, most of the good ones are gone already!
Donald Bruce Stewart wrote:
Bryan O'Sullivan, Don Stewart and John Goerzen are pleased, and frankly, very excited to announce that were developing a new book for O'Reilly, on practical Haskell programming. The working title is Real-World Haskell.
The plan is to cover the major techniques used to write serious, real-world Haskell code, so that programmers can just get to work in the language. By the end of the book readers should be able to write real libraries and applications in Haskell, and be able to:
* design data structures * know how to write, and when to use, monads and monad transformers * use Haskells concurrency and parallelism abstractions * be able to write parsers for custom formats in Parsec. * be able to do IO and binary IO of all forms * be able to bind Haskell to foreign functions in C * be able to do database, network and gui programming * know how to do exception and error handling in Haskell * have a good knowledge of the core libraries * be able to use the type system to track and prevent errors * take advantage of tools like QuickCheck, Cabal and Haddock * understand advanced parts of the language, such as GADTs and MPTCs.
That is, you should be able to just write Haskell!
The existing handful of books about Haskell are all aimed at teaching programming to early undergraduate audiences, so they are ill-suited to people who already know how to code. And while theres a huge body of introductory material available on the web, you have to be both tremendously motivated and skilled to find the good stuff and apply it to your own learning needs.
The time has come for the advanced, practical Haskell book.
Heres the proposed chapter outline:
1. Why functional programming? Why Haskell? 2. Getting started: compiler, interpreter, values, simple functions, and types 3. Syntax, type system basics, type class basics 4. Write a real library: the rope data structure, cabal, building projects 5. Typeclasses and their use 6. Bringing it all together: file name matching and regular expressions 7. All about I/O 8. I/O case study: a DSL for searching the filesystem 9. Code case study: barcode recognition 10. Testing the Haskell way: QuickCheck 11. Handling binary files and formats 12. Designing and using data structures 13. Monads 14. Monad case study: refactoring the filesystem seacher 15. Monad transformers 16. Using parsec: parsing a bioinformatics format 17. Interfacing with C: the FFI 18. Error handling 19. Haskell for systems programming 20. Talking to databases: Data.Typeable 21. Web client programming: client/server networking 22. GUI programming: gtk2hs 23. Data mining and web applications 24. Basics of concurrent and parallel Haskell 25. Advanced concurrent and parallel programming 26. Concurrency case study: a lockless database with STM 27. Performance and efficiency: profiling 28. Advanced Haskell: MPTCs, TH, strong typing, GADTs 29. Appendices
We're seeking technical reviewers from both inside and outside the Haskell community, to help review and improve the content, with the intent that this text will become the standard reference for those seeking to learn serious Haskell. If you'd like to be a reviewer, please drop us a line at book-review-interest@realworldhaskell.org, and let us know a little about your background and areas of interest.
Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License! Well be publishing chapters incrementally, and seeking feedback from our reviewers and readers as we go.
You can find more details and updates at the following locations:
* The web site, http://www.realworldhaskell.org/blog/welcome/ * The authors, http://www.realworldhaskell.org/blog/about/ * The blog, http://www.realworldhaskell.org/blog/
-- Bryan O'Sullivan, Don Stewart and John Goerzen. _______________________________________________ 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

Hello Doug, Friday, May 25, 2007, 9:30:15 PM, you wrote:
Last time I read O'Reilly's policy, it stated that you're free to suggest an animal, but that they have a full-time person that makes the decision on which animal is on the book.
full-time person! i want to have such hard job :))) -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Donald Bruce Stewart wrote:
Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License!
Neat! "Which one?" (see e.g. Creative Commons in http://www.gnu.org/philosophy/license-list.html#OtherLicenses , http://en.wikipedia.org/wiki/Creative_Commons_licenses ) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGVe3kHgcxvIWYTTURAhDQAJ4oJteAFibZuvjSSh06HAALR2HgxwCeJcqp /nRWFsPKLqh0IQRD72h3Uus= =3Sry -----END PGP SIGNATURE-----

On 25/05/07, Isaac Dupree
Donald Bruce Stewart wrote:
Finally, a very exciting aspect of this project is that O'Reilly has agreed to publish chapters online, under a Creative Commons License! Neat! "Which one?" (see e.g. Creative Commons in http://www.gnu.org/philosophy/license-list.html#OtherLicenses , http://en.wikipedia.org/wiki/Creative_Commons_licenses )
Hopefully one which allows free use of the example source code in applications; or alternatively the example source could be dual-licensed as BSD3 or similar? http://wiki.creativecommons.org/FAQ#Can_I_use_a_Creative_Commons_license_for... cheers, Conrad.
participants (36)
-
ajb@spamcop.net
-
Andrew Coppin
-
Anthony Chaumas-Pellet
-
brad clawsie
-
Brian Alliet
-
Bryan O'Sullivan
-
Bulat Ziganshin
-
Clifford Beshers
-
Conrad Parker
-
Creighton Hogg
-
Dan Weston
-
Daniel McAllansmith
-
David House
-
dons@cse.unsw.edu.au
-
Doug Kirk
-
Dougal Stanton
-
Gour
-
Hakim Cassimally
-
Hans van Thiel
-
Henning Thielemann
-
Isaac Dupree
-
Jason Dagit
-
Jon Harrop
-
Jules Bean
-
Ketil Malde
-
Laurent Deniau
-
Magnus Therning
-
Malte Milatz
-
Matthew Sackman
-
Michael Vanier
-
Neil Mitchell
-
Niko Korhonen
-
Robin Green
-
Scott Cruzen
-
Simon Marlow
-
Tom Harper