[Haskell-cafe] Cloud Haskell Appetiser: a taste of distributed programming in Haskell

2012-07-21 Thread Eric Kow
, `ProcessM` has since been renamed to `Process`), but it should
be fairly straightforwardly transferable to the new package. It's likely
we'll need a wider spectrum of documentation to bring more Cloud
Haskellers into the fold (early days, eh?).  Hopefully this word of the
month will help you get started, and maybe in turn write a blog post of
your own?  Happy Distributed Haskell'ing!

[ch-github]: https://github.com/jepst/CloudHaskell
[ch-pdf]: 
http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/remote.pdf
[ch-skills]: http://skillsmatter.com/podcast/home/haskell-cloud/js-4179
[chp]: http://www.cs.kent.ac.uk/projects/ofa/chp/
[dist-p]: https://github.com/haskell-distributed/distributed-process
[dp-announce]: 
https://groups.google.com/d/topic/parallel-haskell/dw5UPEg1ePI/discussion
[dp-haddock]: 
http://hackage.haskell.org/packages/archive/distributed-process/latest/doc/html/Control-Distributed-Process.html
[mh-actors]: 
http://sulzmann.blogspot.co.uk/2008/10/actors-with-multi-headed-receive.html
[phd-11]: http://www.well-typed.com/blog/67
[simple]: 
http://hackage.haskell.org/packages/archive/distributed-process-simplelocalnet/latest/doc/html/Control-Distributed-Process-Backend-SimpleLocalnet.html
 
[survey]: http://goo.gl/bP2fn

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] [***SPAM***] Parallel Haskell Digest 11

2012-07-06 Thread Eric Kow
Ooh, nice catch.  Fixed on the HTML version.
http://www.well-typed.com/blog/67

Subject line makes me wonder how often the digests get caught in people's spam 
filters

Oh and while I'm at it, I'll take the opportunity to plug the PH Digest survey 
(I'll be annoying and make a reminder post just about the survey next week)

http://goo.gl/bP2fn

I didn't design it very well, particularly as I failed to give a clear question 
for people who don't read the digest.  I think if you don't read the digest, 
the best thing for now is just to say so in the comments form.

I may add a I read the Parallel Haskell Digest question if it helps later.

On 6 Jul 2012, at 14:57, Sean Leather wrote:

 Hi Eric (et Café),
 
 On Thu, Jul 5, 2012 at 5:13 PM, Eric Kow wrote:
 *[Everybody should write everything in Go?][m7] (28 May)
 
  Ryan Hayes posted a small [snippet of Go][go-snippet] showing how
  friendly he found it for writing concurrent programs, “No
  pthread... not stupid crap... just works!”.  The program seems to
  create 4 threads which print out 1 to 100 each. What do Haskellers
  think? See the comments for some discussion between Haskell people
  like Simon Marlow, and some folks in the Go community about our
  respective approaches to the problem.
 
 [go-snippet]: https://gist.github.com/3010649
 [m7]: 
 https://plus.google.com/app/plus/mp/588/#~loop:view=activityaid=z13pwzbajpqeg3qmo23hgporhlywe1fd5
 
 The [m7] link didn't work for me, but the following appears to be the 
 referenced thread:
 https://plus.google.com/10955911385859313/posts/FAmNTExSLtz
 
 Regards,
 Sean

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Parallel Haskell Digest 11

2012-07-05 Thread Eric Kow
-snippet] showing how
 friendly he found it for writing concurrent programs, “No
 pthread... not stupid crap... just works!”.  The program seems to
 create 4 threads which print out 1 to 100 each. What do Haskellers
 think? See the comments for some discussion between Haskell people
 like Simon Marlow, and some folks in the Go community about our
 respective approaches to the problem.

*[Proposal: Control.Concurrent.Async][m8] (8 June)

 Deep into writing his book on Parallel Haskell, Simon Marlow
 proposes a higher-level concurrency API for the base package.
 The proposed [Control.Concurrent.Async][cc-async] would
 help make sure that exceptions in child threads are dealt with
 (returned or passed up), and that threads aren't accidentally left
 running in the background.
 
 A few Haskellers commented that they would prefer that base be
 kept minimal as possible, and have counter-proposed making it
 a package to be included in the Haskell Platform instead. See
 the thread for some discussion on the API itself.

StackOverflow and Reddit
--
* [What are the key differences between the Repa 2 and 3 APIs?][s1]
* [Does `par` create another thread?][s2]
* [How to improve performence of this Haskell code?][s3]
* [Haskell: Why was `par` defined the way it was?][s4]
* [Method for capturing monad stack state][s5]
* [Killing a thread when MVar is garbage collected][s6]
* [Improving simulation performance via concurrency][s7]
* [Haskell framework to parallelize non-threadsafe C++ lib][s8]
* [Thread-safe state with Warp/WAI][s9]

* [How to use multiple cores when compiling with GHC? : haskell][r1]

Help and Feedback
--
Well, this is the end of the Haskell Parallel Digest, but feedback
would still be much appreciated!  Get in touch with me,
Eric Kow, at paral...@well-typed.com.  Bye for now!

[ch-pdf]: 
http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/remote.pdf
[dist-p]: https://github.com/haskell-distributed/distributed-process
[downfall]: http://fpcomplete.com/the-downfall-of-imperative-programming/
[hiw]: http://www.haskell.org/haskellwiki/HaskellImplementorsWorkshop
[lab-exo]: http://community.haskell.org/~simonmar/lab-exercises-cadarache.pdf

[eden]: http://www.mathematik.uni-marburg.de/~eden
[chak1]: http://www.cse.unsw.edu.au/~chak/papers/KCLLP12.html
[chak2]: http://www.cse.unsw.edu.au/~chak/papers/LCKP12.html
[paraiso]: http://hackage.haskell.org/package/Paraiso
[gtalib]: http://hackage.haskell.org/package/GTALib
[gta]:http://research.nii.ac.jp/~hu/pub/esop12.pdf
[ghc3160]: http://hackage.haskell.org/trac/ghc/ticket/3160
[safesema]: http://hackage.haskell.org/package/SafeSemaphore/
[gproto]:  https://gist.github.com/2757253
[type-level]: http://hackage.haskell.org/package/type-level

[dp-docs]: https://github.com/haskell-distributed/distributed-process/wiki
[dph-lv]:   http://hackage.haskell.org/package/dph-lifted-vseg
[cc-async]: 
http://community.haskell.org/~simonmar/async-stm/Control-Concurrent-Async.html
[repa3-pdf]: 
http://www.cse.unsw.edu.au/~benl/papers/guiding/guiding-Haskell2012-sub.pdf
[ocm-pdf]: http://www.cs.hmc.edu/~stone/papers/ocm-unpublished.pdf
[go-snippet]: https://gist.github.com/3010649

[n1]: http://www.haskell.org/pipermail/haskell-cafe/2012-June/101579.html
[n2]: http://www.haskell.org/pipermail/haskell-cafe/2012-June/101632.html
[n3]: 
http://functionaljobs.com/jobs/111-3-year-postgraduate-rd-position-at-era7-bioinformatics
[n4]: http://tomschrijvers.blogspot.co.uk/2012/05/ifl-2012-call-for-papers.html

[t1]: https://plus.google.com/107890464054636586545/posts/LThYZELANCg
[t2]: http://dmwit.com/gtk2hs/

[b0]: http://www.haskell.org/pipermail/haskell-cafe/2012-June/101808.html
[b1]: http://apfelmus.nfshost.com/blog/2012/06/07-forklift.html
[b2]: http://neilmitchell.blogspot.co.uk/2012/06/flavours-of-mvar_04.html
[b3]: 
http://tumblr.justtesting.org/post/24399176080/being-more-clever-about-vectorising-nested-data
[b4]: 
http://tumblr.justtesting.org/post/24398752358/repa-3-more-control-over-array-representations-with
[b5]: http://www.yesodweb.com/blog/2012/05/next-conduit-changes
[b6]: 
http://breaks.for.alienz.org/blog/2012/05/20/generics-and-protocol-buffers/
[b8]: http://www.haskell.org/pipermail/haskell-cafe/2012-May/101313.html
[b9]: http://www.haskell.org/pipermail/haskell-cafe/2012-June/101567.html
[b10]: http://www.haskell.org/pipermail/haskell-cafe/2012-June/101649.html
[b12]: http://fpcomplete.com/asynchronous-api-in-c-and-the-continuation-monad/

[m1]: http://www.haskell.org/pipermail/haskell-cafe/2012-May/101318.html
[m2]: http://www.haskell.org/pipermail/haskell-cafe/2012-May/101359.html
[m3]: http://www.haskell.org/pipermail/haskell-cafe/2012-May/101454.html
[m4]: http://www.haskell.org/pipermail/haskell-cafe/2012-June/101573.html
[m5]: https

[Haskell-cafe] Parallel Haskell Digest 10

2012-05-18 Thread Eric Kow
, maybe
 worth digging through if you're struggled with Haskell performance
 before; or are member of the shadowy Haskell propaganda committee.
 For parallel Haskellers, I'll pick out a handful of sub-topics that
 came up.

 Ertugrul Söylemez makes a general comment to look at the bigger
 picture. While (currently) seldomly beats C/C++ for number
 crunching algorithms, “where [it] really gets beyond C and C++ is
 in concurrency.  Multithreaded network servers written in Haskell
 are not only a lot easier to write, but they also perform better
 than well written server programs in C/C++. This is because
 Haskell's concurrency goes well with its parallel execution model,
 where in machine code you don't really have a notion of procedures.
 You have thunks and they can not only be executed in parallel, but
 they can also be moved between threads freely.”

 As for automatic parallelisation, Simon Marlow points out that
 there isn't yet any fully implicit parallelism in Haskell. What
 Haskell does provide, on the other hand, is a “a guarantee that you
 can safely call any function in parallel… as long as the function
 does not have an IO type”. So while fully automatic parallelism
 isn't here (and may not ever be), you can at least take an
 arbitrary piece of Haskell code and use it with something like
 `parMap`, or call it from mulitple threads, and expect some sort of
 speedup from it; and safely, with a fully deterministic result and
 no nasty concurrency bugs to worry about.

 Finally, showing how it can be tricky to performance can be
 quite tricky, Ryan Newton had an example in his monad-par repo
 of a (rather C-ish) [aggressively optimised Haskell
 program][mandel] that was 6⨉ slower than its counterpart and worse
 9⨉ with the new LLVM backend (said backend has been helpful in
 other cases, though, eg. for Manuel Chakravarty). There's a happy
 ending behind this.  After some digging, Ryan uncovered a clever
 math trick used in the OCaml standard library. Porting it to
 Haskell makes his program not only faster than OCaml and Scheme but
 48% faster than C++ too!  Looks like we'll be getting a library
 patch from Ryan soon.  “The moral,” Ryan comments, “is that
 community members could do a great deal to help Haskell
 performance by simply microbenchmarking and optimizing library
 routines in base!”
 
StackOverflow and Reddit
--
This month saw quite a lot of activity on StackOverflow, largely from
[user Clinton][so-clinton] trying to puzzle through STM and other
concurrency issues. The STM and `atomicModifyIORef` series of questions
could be interesting, at the very least, to see what sorts of things
people wonder about when they first run into Haskell concurrency.

## General questions

* [Identifying the current HEC for a function in Haskell][s1]
* [Haskell parallel computation using an STArray][s2]
* [Slowdown when using parallel strategies in Haskell][s3]
* [Haskell parallel performance][s4]
* [“Monad-friendly” event-based IO][s5]
* [Haskell concurrency - is forkIO really nondeterministic?][s6]
* [TimeoutManager uses tryPutMVar to put nothing][s8]
* [Software transactional memory with a big, shared piece of data][s9]

## STM

* [How does TVar work?][sc11]
* [Container for Haskell TVars][s7]
* [Updating two or more TVars atomically. Possible?][sc10]
* [TVar: Preventing starvation][sc9]
* [TVar: orElse][sc8]
* [Concurrent generic data structure without deadlocks or resource 
starvation][sc7]
* [Concurrent data structure guidelines][sc2]
* [“Wait-free” data in Haskell][sc1]

## atomicModifyIORef

* [How does 'atomicModifyIORef' work?][sc6]
* [Concurrency using simple IORef?][sc5]
* [Atomic IO wrapper/laziness?][sc4]
* [Attempt at parallel `atomicModifyIORef` implementation][sc3]
* [Concurrent data structure guidelines][sc2]

## Reddit

* [SPJ talk: Towards Haskell in the Cloud : haskell][r1]
* [Revamped Haskell concurrency and parallelism libraries page: from parallel 
arrays to Cloud Haskell : haskell][r2]

Help and Feedback
--
If you'd like to make an announcement in the next Haskell Parallel
Digest, then get in touch with me, Eric Kow, at
paral...@well-typed.com. Please feel free to leave any comments and
feedback!

[lifted-base]: http://hackage.haskell.org/package/lifted-base 
[tutorial-sm]: http://community.haskell.org/~simonmar/par-tutorial.pdf
[ph-digest-6]: http://www.well-typed.com/blog/60 
[ph-digest-9]: http://www.well-typed.com/blog/65 
[so-clinton]:  http://stackoverflow.com/users/525980/clinton
[meta-par]:https://github.com/simonmar/monad-par/
[meta-par-paper]: 
http://www.cs.indiana.edu/~rrnewton/papers/meta-par_submission.pdf
[donscore]:
http://donsbot.wordpress.com/2007/11/29/use-those-extra-cores

Re: [Haskell-cafe] desactivate my Show instance implementations temporarily

2012-04-25 Thread Eric Kow
On 23 Apr 2012, at 17:49, Evan Laforge wrote:
 I use a custom Pretty class along with HughesPJ, ala ghc's Outputable.
 It means I can omit data or print it out in a more readable form
 (even just rounding floats to %.03f can help a lot), and also get nice
 layout and wrapping.


I think I do something similar, although not hooking it up with a proper pretty 
printing library (that manages indentation etc), but which just stupid builds 
strings à  la Show.

http://hackage.haskell.org/packages/archive/GenI/latest/doc/html/NLP-GenI-Pretty.html

I wish I knew about a Commonly Agreed Idiom (or library) for just recursively 
creating human-friendly text, but I suspect I only say this because I don't 
have a clear picture what I'm really wishing for.  Does everybody just use 
HughesPJ?

I'll also mention that it took me a while to untangle all the various notions 
of showing things in my code.  Now it's

* Show: Haskell
* GraphvizShow: dot
* GeniShow: outputting structures in my custom text format
* Pretty: for talking to humans

Embarrassing to say that until recently my code was a random mismash of uses 
and unclear thinking.  For example, it hadn't occurred to me that I shouldn't 
define GeniShow in terms of other things (but vice versa) because I don't want 
to accidentally change my file format just because I was trying to make 
something prettier.  Oops.

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Parallel Haskell Digest 9

2012-04-20 Thread Eric Kow
 the
 transfer. Manuel Chakravarty adds that the the `fromList` function
 is really just meant for testing, or for initialising small arrays.
 For anything bigger, going from vanilla lists is a bad idea, so
 have a look at `Data.Array.Accelerate.IO`.

*[Reasons for Super-Linear Speedup][m7] (5 Mar)

 Burak Ekici has parallelized RSA decryption and encryption schemes
 by using second generation strategies.  He's getting 10 times
 performance improvements… on a quad-core CPU (with an 8MB cache).
 Is this just mismeasurement, or are there some differences in how
 GHC handles serial/parallel of computation, say with respect to
 cache usage? Bardur Arantsson replies that the usual explanation
 for this sort of thing is that the working data suddenly fits
 within the per-CPU L2 cache when split up.

StackOverflow and Reddit
--
* [Is there a way in Haskell to query thread state using ThreadID after a 
forkIO?][s1]
* [Are haskell channels `Control.Concurrent.Chan` safe for multiple 
readers/producers?][s2]
* [How to take F# measurements to get speedups][s3]
* [Using Haskell to program the GPU : haskell][r1]
* [The Downfall of Imperative Programming][r2]
* [Examples of easy parallelism in Haskell?][r3]

Help and Feedback
--
If you'd like to make an announcement in the next Haskell Parallel
Digest, then get in touch with me, Eric Kow, at
paral...@well-typed.com. Please feel free to leave any comments and
feedback!

[arswell]: 
http://arstechnica.com/business/news/2012/02/transactional-memory-going-mainstream-with-intel-haswell.ars
[chat-1]: https://github.com/joeyadams/haskell-chat-server-example
[chat-2]: https://github.com/qnikst/chat-server/blob/master/src/Main.hs
[dph]: 
http://ghc-simd.blogspot.co.uk/2012/04/adding-simd-support-to-data-parallel.html
[fun-aft]: http://sneezy.cs.nott.ac.uk/fun/2012-02
[numa]:   https://en.wikipedia.org/wiki/Non-Uniform_Memory_Access
[hs-perf]: http://www.berniepope.id.au/linuxPerfEvents.html
[pyzero]: http://nichol.as/zeromq-an-introduction
[stm-bc]: 
http://research.microsoft.com/en-us/um/people/simonpj/papers/stm/beautiful.pdf
[stm-05]: 
http://research.microsoft.com/en-us/um/people/simonpj/papers/stm/stm.pdf 
[stm-sm]: http://community.haskell.org/~simonmar/par-tutorial.pdf
[stm-rwh]: 
http://book.realworldhaskell.org/read/software-transactional-memory.html
[ph-8]: http://www.well-typed.com/blog/64
[simd-ghc]: http://hackage.haskell.org/trac/ghc/wiki/SIMD
[therac-25]: http://en.wikipedia.org/wiki/Therac-25

[g1]: 
http://parfunk.blogspot.co.uk/2012/02/potential-gsoc-haskell-lock-free-data.html
[g2]: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/dmitrydzhus/1002
[g3]: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/florianhartwig/1
[g4]: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/mathiasbartl/1
[g5]: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/lorehead/1
[g6]: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/refold/35002
[g7]: 
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/sajith/1

[b0]: http://fpcomplete.com/the-downfall-of-imperative-programming/
[b1]: 
http://adit.io/posts/2012-03-10-building_a_concurrent_web_scraper_with_haskell.html
[b2]: http://therning.org/magnus/archives/1009
[b3]: 
http://ghc-simd.blogspot.co.uk/2012/03/simd-support-for-vector-library.html
[b3b]: 
http://ghc-simd.blogspot.co.uk/2012/04/adding-simd-support-to-data-parallel.html
[b4]: 
http://tumblr.justtesting.org/post/19825349916/work-efficient-higher-order-vectorisation

[t1]: http://www.haskell.org/pipermail/haskell-cafe/2012-March/099805.html
[t2]: http://justtesting.org/gpu-computing-in-haskell-version-010-of-dataa
[t3]: http://www.cse.chalmers.se/edu/course/pfp/
[t4]: http://sneezy.cs.nott.ac.uk/fun/2012-02/coutts-2012-02-28.pdf

[m1]: http://www.haskell.org/pipermail/haskell-cafe/2012-February/099300.html
[m2]: http://www.haskell.org/pipermail/haskell-cafe/2012-February/099456.html
[m3]: http://www.haskell.org/pipermail/haskell-cafe/2012-February/099456.html
[m5]: http://www.haskell.org/pipermail/haskell-cafe/2012-February/099578.html
[m5b]: http://www.haskell.org/pipermail/haskell-cafe/2012-February/099584.html
[m6]: http://www.haskell.org/pipermail/haskell-cafe/2012-March/099830.html
[m7]: http://www.haskell.org/pipermail/haskell-cafe/2012-March/099890.html
[m9]: http://www.haskell.org/pipermail/haskell-cafe/2012-March/100349.html
[p1]: https://groups.google.com/d/msg/parallel-haskell/NI5qxYw-5RA/fTljjfXYWYUJ
[p2]: https://groups.google.com/d/msg/parallel-haskell/fsHrxz3ei70/FKe0kgV5mqcJ
[p3]: https://groups.google.com/d/msg/parallel-haskell/nxDoibiuGWE/N68MR19uu1kJ

[s1]: 
http://stackoverflow.com/questions/9475392/is-there-a-way-in-haskell-to-query-thread-state-using-threadid-after

[Haskell-cafe] Parallel Haskell Digest 8

2012-03-02 Thread Eric Kow
 to [Runtime support for multicore
 Haskell][rts-multicore], which says that threads within the run
 queue of a single HEC are scheduled in round-robin order; but does
 not talk about the threads as a whole.  This can lead, Andreas
 suggests, to unfair scheduling of threads if you have the situation
 where an HEC has a single always-runnable thread, and another HEC
 has lots of threads (see his follow-up for example code
 illustrating the problem). Simon Marlow both that threads are
 executed in the current HEC and that the described situation can
 happen (“It wouldn't be too hard to do something more sensible
 here”).  Simon suggests looking in rts/Schedule.c, particularly the
 function `schedulePushWork ()`.

*[Synchronizations in memory allocation?][p6] (11 Feb)

 Andreas has a program with several Haskell threads each
 reading a different TCP sockets.  He's investigating a problem
 where the performance of his program starts to degrade after
 20 cores.  Andreas suspects a scaling problem in allocating memory
 and has written a micro-benchmark to explore the issue.  The
 program forks some worker threads that just allocated some memory
 without trying to synchronise or share any data.  He is surprised
 to find that the benchmark takes longer using
 `mallocPlainForeignPtrBytes` the more threads he forks.  The
 benchmark makes for a good stress test — it allocates over 10 Gb/s
 — and as result of Andreas' investigations, Simon Marlow has
 modified the pinned memory allocator to “steal complete blocks
 from the nursery rather than allocating them from the global block
 allocator.”  The changes will show up in GHC 7.4.2.

 20 cores, eh? [There's no pleasing some people.][no-pleasing]

StackOverflow and Reddit
--
* [Installing dph-examples in Mac OS X 10.7.2][s1]
* [Programming language for functional parallelism: F# vs Haskell][s2]
* [Parallel IO Causes Random Text Output in Terminal][s3]
* [Repa Without Parallelization][s4]
* [what exactly is dynamic parallelism?][s5]
* [Writing “fib” to run in parallel: -N2 is slower?][s6]
* [How to use Parallel Strategies in Haskell][s7]
* [Parallel graphics processing in Haskell][s8]
* [Why is concurrent haskell non deterministic while parallel haskell 
primitives (par and pseq) deterministic?][s9]
* [Runtime performance degradation for C FFI Callback when pthreads are 
enabled][s10]
* [Memory footprint in threaded mode with forkIO when there is lot of 
contention for single MVar][s11]


Help and Feedback
--
If you'd like to make an announcement in the next Haskell Parallel
Digest, then get in touch with me, Eric Kow, at
paral...@well-typed.com. Please feel free to leave any comments and
feedback!

[chan]: 
http://www.haskell.org/ghc/docs/latest/html/libraries/base/Control-Concurrent-Chan.html
[dp-design]: 
https://github.com/haskell-distributed/distributed-process/wiki/New-backend-and-transport-design
[dp-github]:  https://github.com/haskell-distributed/distributed-process
[dph-ghci]: http://warmfuzzything.posterous.com/loading-dph-codes-in-ghci
[haskell-mem]: 
http://stackoverflow.com/questions/3254758/memory-footprint-of-haskell-data-types
[mvar-api]:  
http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.5.0.0/Control-Concurrent-MVar.html
 
[mvar-ezyang]: http://blog.ezyang.com/2011/02/all-about-mvars/
[mvar-rwh]:  
http://book.realworldhaskell.org/read/concurrent-and-multicore-programming.html
[no-pleasing]: https://plus.google.com/107890464054636586545/posts/VFaU1CNj1z4
[pcp-tutorial]: http://community.haskell.org/~simonmar/par-tutorial.pdf 
[ph2]: http://www.well-typed.com/blog/53
[pp-frp]: http://conal.net/papers/push-pull-frp/
[rts-multicore]: http://community.haskell.org/~simonmar/papers/multicore-ghc.pdf
[stm-channelize]: http://hackage.haskell.org/package/stm-channelize
[stm]: http://www.haskell.org/haskellwiki/STM
[suj-spell]: http://hpaste.org/63732
[ts-tour]: http://haskell.org/haskellwiki/ThreadScope_Tour
[ts-tour]: http://www.haskell.org/haskellwiki/ThreadScope_Tour
[twilight]: http://proglang.informatik.uni-freiburg.de/projects/twilight/
[zmq]: http://www.zeromq.org/

[n1]: http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/release-7-4-1.html
[n2]: http://www.haskell.org/pipermail/haskell/2012-February/023181.html
[n3]: http://www.haskell.org/pipermail/haskell-cafe/2012-January/098604.html
[n4]: 
http://blogs.cs.st-andrews.ac.uk/csblog/2011/11/17/funded-research-studentships/
[n5]: http://www11.i-grasp.com/fe/tpl_kent01.asp?newms=jjid=36123newlang=1

[v1]: 
http://channel9.msdn.com/Blogs/Charles/YOW-2011-Simon-Peyton-Jones-and-John-Hughes-Its-Raining-Haskell
[v2]: http://yow.eventer.com/events/1004/talks/1055
[v3]: https://www.youtube.com/watch?v=jBd9c1gAqWs
[v4]: http://youtu.be/tDgOBM29ny4

[b1]: 
http

[Haskell-cafe] Parallel Haskell Digest 7

2011-12-24 Thread Eric Kow
 in the context of the
 article.  While Mighttpd uses Haskell threads for concurrency; it
 does not go the traditional route of using the RTS `-Nx` argument
 to generate OS threads.  Instead it gets its parallelism from
 a prefork model that creates separate processes to balance user
 invocations (each process may itself be running multiple Haskell
 threads).  This unusual approach is chosen to avoid issues with
 garbage collection.

*[Where threadSleep is defined?][mt3] (6 Dec)

 Dmitri Kondratiev was looking for a function to make the current
 process (executing thread) go to sleep for a given time.  Felipe
 Almeida Lessa pointed to the `threadDelay` function in
 Control.Concurrent.

Stack Overflow and Reddit
--
* [Space analysis for parfib in monad-par example][s1]
* [Using the Par monad with STM and Deterministic IO][s2]
* [Haskell: thread blocked indefinitely in an STM transaction][s3]
* [How to install haskell Parallel on mac?][s4]
* [Mutable, (possibly parallel) Haskell code and performance tuning][s5]
* [Why does my concurrent Haskell program terminate prematurely?][s6]
* [Parallel Matrix Multiplication][s7]

* [Yo /r/haskell, I heard you like monads... : haskell][r1]
* [GHC commit: Allow the number of capabilities to be increased at runtime : 
haskell][r2]
* [Haswell processor (hardware transactional memory) : haskell][r3]


Help and Feedback
--
If you'd like to make an announcement in the next Haskell Parallel
Digest, then get in touch with me, Eric Kow, at
paral...@well-typed.com. Please feel free to leave any comments and
feedback!

[Bikeshed image][bikeshed] by banlon1964 available under a CC-NC-ND-2.0 license.

[acid-state]: http://hackage.haskell.org/package/acid-state
[afp08]: 
http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/AFP08-notes.pdf
[bh-intro]: 
http://mainisusuallyafunction.blogspot.com/2011/10/thunks-and-lazy-blackholes-introduction.html
[bikeshed]: http://www.flickr.com/photos/banlon1964/6337069654/
[bulldozer]: http://en.wikipedia.org/wiki/Bulldozer_%28processor%29
[ch-dp]: https://github.com/haskell-distributed/distributed-process
[ch-paper]: 
http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/remote.pdf
[conc-ffi]: http://community.haskell.org/~simonmar/papers/conc-ffi.pdf
[doc-refind]: http://kenta.blogspot.com/2004/07/document-refindingkey.html
[ertu-echo]: http://hpaste.org/52742
[ghc-gc-tune]: http://hackage.haskell.org/package/ghc-gc-tune
[hal6]: http://www.well-typed.com/Hal6/
[heist-tut]: http://www.nadineloveshenry.com/haskell/heistTutorial.html
[jd-bridge]: http://hpaste.org/52814
[mh-actor-pdf]: 
http://ww2.cs.mu.oz.au/~sulzmann/publications/multi-headed-actors.pdf
[mh-actor]: http://hackage.haskell.org/package/actor
[mr-kazu]: http://themonadreader.files.wordpress.com/2011/10/issue19.pdf
[ph-job]: 
http://www.haskell.org/pipermail/haskell-cafe/2011-November/097008.html
[safecopy]: http://hackage.haskell.org/package/safecopy
[SplitChan]: http://hackage.haskell.org/package/chan-split
[sps-par]: http://research.microsoft.com/apps/pubs/default.aspx?id=118795
[stm-danielw]: https://gist.github.com/1454995
[stm-ketil]: http://malde.org/~ketil/papers/stmcluster.pdf
[TCache]: http://hackage.haskell.org/package/TCache
[tv]: http://www.haskell.org/haskellwiki/TV
[wool]: http://www.sics.se/~kff/wool/

[b1]: http://hackage.haskell.org/package/remote
[b2]: 
http://jpembeddedsolutions.wordpress.com/2011/10/30/distributed-storage-in-haskell/
[b3]: http://www.haskell.org/pipermail/haskell-cafe/2011-October/095970.html
[b4]: http://sulzmann.blogspot.com/2011/10/haskell-actors.html
[b5]: 
http://factisresearch.blogspot.com/2011/10/stm-stats-retry-statistics-for-stm.html
[b6]: http://apfelmus.nfshost.com/blog/2011/10/11-frp-concurrent-events.html
[b7]: 
http://blog.melding-monads.com/2011/10/24/concurrency-and-foreign-functions-in-the-glasgow-haskell-compiler/
[b8]: https://plus.google.com/115372308262579808851/posts/PKrA4817zJB
[b9]: 
http://kenta.blogspot.com/2011/11/qkhsskbg-automatic-deparallelization.html
[b10]: http://comonad.com/reader/2010/introducing-speculation/
[b11]: 
http://mainisusuallyafunction.blogspot.com/2011/10/quasicrystals-as-sums-of-waves-in-plane.html
[b12]: https://groups.google.com/d/msg/parallel-haskell/ETUJFOjuspU/NVPKnNdL2gcJ
[b13]: http://www.haskell.org/pipermail/haskell-cafe/2011-November/097058.html

[mh1]: http://www.haskell.org/pipermail/haskell-cafe/2011-December/097428.html
[mh2]: http://www.haskell.org/pipermail/haskell-cafe/2011-December/097434.html

[mc1]: 
https://groups.google.com/forum/#!msg/parallel-haskell/8YelldrF0QI/TZaoFGjwZfUJ
[mc2]: http://www.haskell.org/pipermail/haskell-cafe/2011-October/095731.html
[mc3]: https://groups.google.com/d/msg/parallel-haskell/wUmoSxdAmhE/2fX7OmYtzlwJ
[mc4]: https://groups.google.com/d/msg

Re: [Haskell-cafe] Parallel Matrix Multiplication

2011-12-16 Thread Eric Kow
Hi Mukesh,

Great to hear you're trying parallel Haskell! I can't yet help debug your 
parallel performance, but maybe I can offer something for your last request.

Have you tried the Parallel Haskell portal?

http://www.haskell.org/haskellwiki/Parallel

You will find some links mainly aimed at helping people to get started, and 
also a list of parallel Haskell readings.

Hope this helps :-)

On 10 Dec 2011, at 18:14, mukesh tiwari wrote:
 I am trying to learn parallel Haskell and  I have gone through couple of 
 resources ( Real world Haskell and 
 http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/AFP08-notes.pdf
  ). I understood par and pseq and I wrote matrix multiplication using these 
 two function but it does not look.  Although I did not get all these details 
 but none of the sparks converted which is really important for parallel 
 programming.
 Could some one please tell me how to improve this.

 Also kindly recommend me some  literature for parallel programming in Haskell.

-- 
Eric Kow http://erickow.com



signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] wxHaskell for Haskell Platform 2011.2.0.1

2011-06-15 Thread Eric Kow
Hi all,

With green light from maintainer Jeremy O'Donoghue, I've uploaded a
trivial update to wxHaskell, relaxing the dependencies so that it builds
with the latest Haskell Platform and does not try to install other
versions of packages.

What is wxHaskell?
--
wxHaskell is a Haskell library for writing GUIs that work on multiple
platforms.

It provides a reasonable compromise between getting a native user
interface and saving effort.  It uses the wxWidgets library, which in
turn wraps around the native GUI toolkit for the target platform and
tries to follow platform-specific customs and conventions so that you
don't have to worry about them.  Here are the sort of results the minor
details wxWidgets seems to get right on Mac OS X:

 - system preferences are under the Preferences menu for the application
 - file open/save and print dialogues are the actual ones used by Mac
   applications instead of some half-baked Aqua coloured monstrosity

It may not be perfect, but it's not bad considering you don't even
have to think about it.

wxHaskell is available under a relaxed LGPL license, which basically
means you can release both open sourced and closed source with it.

About this release
--
This is just a minor release bumping some dependencies.

Installation comes in two basic steps:

1. Install wxWidgets 2.8

   - On MacOS X, Homebrew works well for me (if you update to get patches
 to build wxWidgets with Unicode enabled).
   - On Ubuntu/Debian, I use apt-get wxgtk.
   - I have not personally tried it on Windows, but I've hear reports that
 it's easy to install there as well.

2. cabal install wx

See http://www.haskell.org/haskellwiki/WxHaskell for more information

What's next?
--
Jeremy has been doing quite a lot of work on wxHaskell.  Among other
things [1], he's been:

- updating it for what will eventually be wxWidgets 3.0
- trying to resolve issues restarting the UI from GHCi
- improved Event handling (for Mac users, the upshot is that
  wxHaskell would work with the wxWidgets that ships with OS X, meaning
  cabal install wx from the HP would just work)

There are also mutterings about pushing for inclusion in the Haskell
Platform, but there is still a lot of work of to do before we get there
[2]. Help wanted :-)

Enjoy!

Eric

[1] http://thread.gmane.org/gmane.comp.lang.haskell.wxhaskell.devel/612
[2] http://thread.gmane.org/gmane.comp.lang.haskell.wxhaskell.devel/616 

-- 
Eric Kow http://erickow.com


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


Re: [Haskell-cafe] Distributing Haskell GUI apps for Windows/MacOS?

2011-06-07 Thread Eric Kow
On Tue, Jun 07, 2011 at 11:58:52 +0100, Pedro Vasconcelos wrote:
 Are there any easy ways of making installers for Windows/MacOS
 (preferably using free or open source tools)?

On MacOS X, applications typically do not come with installers.
Instead you have some kind of disk image (a tarball will do,
but it's customary to create .dmg files) containing an application
bundle (ie. directory) which users mv to a directory of their choice.
In GUI terms, this consists in dragging and dropping the icon into your
Applications folder.

To create an application bundle, try Andy Gimblett's cabal-macosx
  https://github.com/gimbo/cabal-macosx 

Maybe cabal-macosx could come with a dmg helper. I just use a shell
script which I can fish out later if you want.

Note that this was originally created for wxhaskell projects [1], but I
believe it should also be applicable to other GUI libraries.

Hope this helps,

Eric

[1] http://sourceforge.net/mailarchive/message.php?msg_id=24625975

-- 
Eric Kow http://erickow.com


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


Re: [Haskell-cafe] Computational Semantics w/ Functional Programming, Jan van Eijck and Christina Unger, 2010. It's in #Haskell. :)

2011-05-03 Thread Eric Kow
On Sat, Apr 30, 2011 at 21:21:04 -0400, cas...@istar.ca wrote:
 This may have already been mentioned but it is worth mentioning n times:
 Computational Semantics w/ Functional Programming, Jan van Eijck and  
 Christina Unger, 2010. It's in #Haskell. :)

Here's a link to the book homepage
  http://homepages.cwi.nl/~jve/cs/

You may also be interested in /Natural Language Processing for the
Working Programmer/ by Daniël de Kok and Harm Brouwer, which is a
work in progress
  http://nlpwp.org/book/

Finally, there is a small but growing community of people who are
into Natural Language Processing and Haskell.  We have a mailing
list that you may want to sign up to
  http://projects.haskell.org/cgi-bin/mailman/listinfo/nlp

Right now, people generally use the list for announcing their NLP and
Computational Linguistics related Haskell packages.  But the list
could be much more!  I think we're slowly creeping up to a point where
the list will sort of explode into being.  The thing I'm most looking
forward to is people making combined use of packages, joining up work by
two completely unrelated groups.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


[Haskell-cafe] darcs hacking sprint #6 (1-3 April, Paris)

2011-03-04 Thread Eric Kow
Hi everybody,

Following up on my last message, the date and venue for the sixth Darcs
Hacking sprint has been confirmed.

Get out your berets everybody, because we're going to Paris!

Here are three things to know

1. Everybody is welcome to join us.  We'd love to have you, whatever
   your Haskell or Darcs hacking experience.  Also, if you've got a
   wacky idea for the future of version control, or a cool use for the
   Darcs library, you should join us too :-)

2. Please let us know if you're attending.  Just add your name to
   http://wiki.darcs.net/Sprints/2011-04 and you're good to go.
   You can also send us an email.

3. We can reimburse travel costs (within reason!).  Let us know if you'd
   like a reimbursement, and save your receipts.

   Many thanks to everybody who participated in our fundraising drives
   or who gave money on the side.  Thanks also to the Software Freedom
   Conservancy for making fundraising and reimbursements so painless!
   If you can't join us in person, but you'd like to cheer us on,
   say hello at http://darcs.net/donations.html!

Looking forward to seeing you!

Eric

PS. Berets optional.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


[Haskell-cafe] darcs hacking sprint #6 (March, April, or May 2011)

2011-02-24 Thread Eric Kow
Hello Haskellers!

We are starting to organising the next Darcs Hacking Sprint,
most likely in Paris in this spring.

If you fancy a weekend of hacking Haskell on a really neat real 
world project, come join us!  If you'd like to attend, please
add yourself to http://wiki.darcs.net/Sprints/2011-04 .
We will fix the date by March 1st, and there's only about 10+ spaces
left, so sign up now!

If you want to know what is exactly a Darcs Sprint, have a look at:

http://wiki.darcs.net/Sprints
http://blog.darcs.net/search/label/sprints

The event is open to everybody, even if you're new to Darcs or to
Haskell.  We have an ample supply of enthusiasm and ProbablyEasy bugs to 
help you get started.  See http://wiki.darcs.net/Recruitment for some
ideas and also have a look at http://wiki.darcs.net/Development to see 
how to start coding on Darcs.

Looking forward to see you!

Guillaume and Eric

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


Re: [Haskell-cafe] [darcs-users] Darcs failure

2010-12-22 Thread Eric Kow
Andrew,

Thanks for your report. Indeed, please direct future reports
to darcs-users or b...@darcs.net

  darcs: bug at src/URL.hs:246 compiled Sep 12 2010 20:24:56
  Another possible bug in URL.waitNextUrl:  curl_multi_perform() - no running
  handles
  See http://wiki.darcs.net/BugTracker/Reporting for help on bug reporting.

I think this was resolved in darcs-2.5 [1].  If not, it's at least
resolved in what will become Darcs 2.8.

Unfortunately, our release notes don't mention it [2], so I'm not 100%
sure

Cheers,

Eric

[1] http://bugs.darcs.net/issue1770
[2] http://wiki.darcs.net/Releases/2.5

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


[Haskell-cafe] darcs hacking sprint 5 report

2010-11-03 Thread Eric Kow
Hi everybody,

Here's a little report from the most recent Darcs hacking sprint (held
15-17 October in Orleans)

http://blog.darcs.net/2010/10/darcs-hacking-sprint-5-report.html

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


pgpuNGxOJETHb.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Make your Darcs repositories hashed?

2010-10-12 Thread Eric Kow
Hey Haskellers (and darcs-users CC'ed)

On Sat, Oct 09, 2010 at 23:08:12 +, Jason Dagit wrote:
 I answered you immediate question in a different email.  Now I'll do a bit
 of explanation on why people want hashed.

Thanks to Jason for the explanation.

I've linked to it from http://wiki.darcs.net/RepositoryFormats so that
we'll have an easier time in the future encouraging people to move to
the hashed format.

Also: If you don't have darcs 2.4.4, you can upgrade to the hashed
format by doing:

  cd /srv/code/myrepo 
  darcs get . ~/myrepo-hashed 

  rm -rf ~/myrepo-hashed/_darcs/prefs 
  cp -R _darcs/prefs ~/myrepo-hashed/_darcs/prefs 

  mv ~/myrepo-hashed/_darcs _darcs.new 
  mv _darcs _darcs.old
  mv _darcs.new _darcs 

  rm -rf ~/myrepo-hashed 
  rm -rf _darcs.old

I may put this on the wiki. We had pruned this sort of thing away in
favour of the optimize --upgrade command, in the interest of tidiness,
but getting recent Darcs into people's hands takes a while.

Also, the maintainers behind code.haskell.org are aware about the need
for a Darcs 2.4.4 upgrade (I filed a request on 15 Sep).  We're looking
into an easy way to do this on Debian Etch.

See also

* http://wiki.darcs.net/RepositoryFormats
  The three formats in a nutshell

* http://wiki.darcs.net/DarcsTwo#hashed-repository-format
  More about hashed repositories (covers a lot of the same stuff Jason did)

* http://lists.osuosl.org/pipermail/darcs-users/2010-August/024941.html
  Discussion on eventually retiring support for old-fashioned repositories

  I can guarantee that at least Darcs 2.5 (the upcoming release) will
  continue to provide full support for old-fashioned repositories. But
  they are going away eventually so that we can focus on making Darcs
  better.

Thanks!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


[Haskell-cafe] darcs hacking sprint 15-17 Oct, Orleans

2010-10-05 Thread Eric Kow
Hi everybody,

Just a quick reminder that the fifth Darcs hacking sprint is taking
place in just ten days (Orleans, France, 15-17 Oct):

http://wiki.darcs.net/Sprints/2010-10

It's still possible to attend, but you should contact Florent Becker
(CC'ed) as soon as possible to confirm there are still spaces.

Hope to see you there!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


Re: [Haskell-cafe] I still cannot seem to get a GUI working under Windows.

2010-10-01 Thread Eric Kow
On Wed, Sep 29, 2010 at 09:51:14 +, cas...@istar.ca wrote:
 I still cannot seem to get a GUI working under Windows.

Maybe this will help:

http://wewantarock.wordpress.com/2010/05/05/haskell-platform-2010-1-0-0-and-wxhaskell-on-windows/

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


[Haskell-cafe] darcs in 2010: talk/video online

2010-09-12 Thread Eric Kow
Dear Haskellers,

Derek asked me if I could give a 5 minute talk at AngloHaskell last
Friday about the Darcs project.  It took an hour and a half.

I've redone the talk on YouTube, basically just stepping through the
slides and talking over them.  It's about an hour long and you
can watch it here:
   http://www.youtube.com/watch?v=iUytayyTGTU
 
You may also prefer to just zoom through the slides yourself
(about 10 minutes):
   http://prezi.com/is5nzudw8jxq/darcs-in-2010/
 
Many thanks to Derek for organising the AngloHaskell event and for
thinking hard about how to make it work better!

Thanks also to the Darcs hackers who did the actual work behind this
talk, and to the user community for all your support and feedback.

Eric

PS: the talk segments are:
1. http://www.youtube.com/watch?v=iUytayyTGTU
2. http://www.youtube.com/watch?v=ZXjTmWD81JA
3. http://www.youtube.com/watch?v=1lXOD3fLwU8
4. http://www.youtube.com/watch?v=aueSoZShobo
5. http://www.youtube.com/watch?v=-JxJKMSRmBY
6. http://www.youtube.com/watch?v=zdImEqRmw7I

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


pgpFQGGAJlkYN.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: darcs in 2010: talk/video online

2010-09-12 Thread Eric Kow
On Sun, Sep 12, 2010 at 19:33:56 +0100, Eric Kow wrote:
 PS: the talk segments are:

I missed a segment!

1. http://www.youtube.com/watch?v=iUytayyTGTU
2. http://www.youtube.com/watch?v=ZXjTmWD81JA
3. http://www.youtube.com/watch?v=1lXOD3fLwU8
4. http://www.youtube.com/watch?v=aueSoZShobo
5. http://www.youtube.com/watch?v=emYcgR94RR0 -- missing segment
6. http://www.youtube.com/watch?v=-JxJKMSRmBY
7. http://www.youtube.com/watch?v=zdImEqRmw7I

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


pgpfjdD59CNRw.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: [darcs-users] ANNOUNCE: darcs 2.5 beta 4

2010-08-25 Thread Eric Kow
On Wed, Aug 25, 2010 at 13:01:59 +0200, Benjamin Franksen wrote:
 I found that the build uses ghc-6.8.3 which, I think, is no longer supported 
 for building darcs, IIRC.
 
 Sorry for the noise.

Not noise because it resulted in http://bugs.darcs.net/patch365
which attempts to enforce this dependency by raising the base
package floor from = 3 to =4, which I imagine is not a mistake.

I'm keeping the haskell-cafe CC because I was puzzled for a while about
how to make Darcs explicitly depend on GHC 6.10 and wanted to share the
steps I eventually took:

1. visit GHC download page (we're looking for older versions)
   http://www.haskell.org/ghc/download.html

2. scroll down to earliest GHC 6.10

3. click on release notes

4. search for 'base package'

Maybe somebody will shout if this turns out to be the wrong way to
approach things, or if it's fundamentally unwise.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, try +44 (0)1273 64 2905 or
xmpp:ko...@jabber.fr (Jabber or Google Talk only)


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


[Haskell-cafe] ANNOUNCE: Darcs hacking sprint (15-17 Oct, Orleans)

2010-08-14 Thread Eric Kow
Hello Haskellers!

The Darcs Team will soon be hosting its fifth hacking sprint
this October.  We would be delighted if you could join us.

http://wiki.darcs.net/Sprints/2010-10

Details
---
When:  15-17 October 2010

Where: Orleans, France

WhoAnybody who wants to hack on Darcs (or Camp, Focal, etc)
   Beginners especially welcome!

Why:   Darcs aims to have bi-annual hacking sprints so that we can
   get together on a regular basis, hold design discussions,
   hack up a storm and have a lot fun.

What:  We'll be starting work on the next release after the upcoming
   Darcs 2.5. Could we see a much fast darcs over networks?
   Friendlier darcs annotate?  Exciting times ahead...

   We intend to set aside at least one Darcs hacker for mentoring
   beginners, so if you're new to Haskell or to Darcs hacking,
   here's a good chance to plunge in and start working on a real
   world project.

How:   Email me ko...@darcs.net to let me know you're interested!
   Keep in mind that we do have funds to help pay for travel
   expenses; just let me know if you'd like to come :-)

Thanks
--
Thanks to team Florent Becker and University of Orleans for
generously offering to host this event!

Thanks also to donors from the fundraising drive this year.  We'll be
using that money to help Darcs hackers get to Orleans

Supporting Darcs

Darcs is a very happy member of the Software Freedom Conservancy.  Among
other things, the Software Freedom Conservancy makes it easy for open
source projects to raise funds and hold assets (as part of a legal
entity).  For more information on supporting Darcs, see
http://darcs.net/donations.html

See you there!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, please try +44 (0)1273 64 2905.


pgpUc8l7r1aOe.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Techniques for ensuring parser correctness?

2010-07-26 Thread Eric Kow
On Mon, Jul 26, 2010 at 03:01:54 +, Jason Dagit wrote:
 I think the grammar is fairly simple, although I'm not confident classifying
 it.  I know it can be parsed with just a simple pass over the data.  The
 only uses of backtracking are just to figure out what is next, like a peek
 at the next token.  Let me give you some samples of what the input looks
 like.

For the interested, I think you can view

 http://darcs.net/src/Darcs/Patch/Read.hs

or better yet darcs get --lazy http://darcs.net

 Here are three entries from the inventory they correspond to PatchInfos:
 [TAG 2.4
 Reinier Lamers tux_roc...@reinier.de**20100226180900
  Ignore-this: 36ce0456c214345f55a7bc5fc142e985
 ]

If it turns out to be a sufficiently low-powered grammar, we should
probably write it up formally and stick it in the source code for
documentation.

Eric

PS. We've been making little bits of progress trying to document Darcs
on a technical high level, eg.

- http://wiki.darcs.net/DarcsInternals/Record
- http://wiki.darcs.net/DarcsInternals/CacheSystem

Such a grammar would be a nice addition to the
good-enough-that-you-could-rewrite-Darcs-in-Fortran aspiration.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
For a faster response, please try +44 (0)1273 64 2905.


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


[Haskell-cafe] transliteration with Haskell iconv?

2010-04-09 Thread Eric Kow
Hi all,

I'd like transliterate a UTF-8 text to ASCII.

With iconv(1), I would do

  iconv -f UTF-8 -t ASCII//TRANSLIT foo

I've tried using Duncan's iconv library, but it seems to give me more
question marks than iconv(1) would, which seems odd if it's the same
library underneath.

In other words, transliterating

  Aonach Mòr is a mountain in the Highlands of Scotland.
  On va boire un petit café si ça te dit.

gives me with iconv(1)

  Aonach Mor is a mountain in the Highlands of Scotland.
  On va boire un petit cafe si ca te dit.

but with my attempts at using Codec.Text.IConv and
examples/hiconv -f utf-8 -t ascii --transliterate, I get
  
  Aonach M?r is a mountain in the Highlands of Scotland.
  On va boire un petit caf? si ?a te dit.

Anybody run into this and know what to do?

Thanks!

PS. I'm on Ubuntu 9.04 if it makes any difference...

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: transliteration with Haskell iconv?

2010-04-09 Thread Eric Kow
On Fri, Apr 09, 2010 at 17:40:37 +0100, Eric Kow wrote:
 I'd like transliterate a UTF-8 text to ASCII.
 
 but with my attempts at using Codec.Text.IConv and
 examples/hiconv -f utf-8 -t ascii --transliterate, I get
   
   Aonach M?r is a mountain in the Highlands of Scotland.
   On va boire un petit caf? si ?a te dit.

I had completely neglected to Google before writing my email (sigh)

It seems like this Gnome hacker was suffering the same thing I was
  http://taschenorakel.de/mathias/2007/11/06/iconv-transliterations/

Hmm...

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] wxHaskell ease of installation?

2010-04-03 Thread Eric Kow
Hi Anthony,

On Fri, Apr 02, 2010 at 12:59:48 +, Anthony Cowley wrote:
 I have a GUI app that I deploy on Mac and Linux that uses OpenGL and
 wxHaskell. It has been a pretty good experience, but getting wx set up
 on every development machine is hairier than cabal install.

Is it still hairy with the 0.12 series of wxHaskell?

Whereas the 0.11 series wraps around a configure/make/make install
process with its Cabal file, the 0.12 series on hackage is 100%
Cabal based

On Ubuntu Linux, I think it was just a matter of

sudo aptitude libwxgtk2.8-dev
cabal install wx

On MacOS X with GHC 6.10 I could just install wxWidgets (native UI)
with MacPorts and cabal install wx

On MacOS X with GHC 6.12, things got a little hairier with the whole
iconv/MacPorts deal and I had to build my own wxWidgets and scrupulously
avoid any MacPorts usage.  Hopefully this is something Greg (who
maintains the Haskell stuff on MacPorts) can solve in time.

Thanks!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] darcs hacking sprint (ZuriHac) info!

2010-03-15 Thread Eric Kow
Hi everybody,

Just some quick information for those of you who are interested in
working on Darcs at ZuriHac

Pre-sprint meeting - Fri 12:00; pizzeria
-
We'll be meeting for lunch at Friday noon at the Pizzeria Santa Lucia
Niederdorf (Marktgasse 21), near the City Backpacker hostel.

Details on http://wiki.darcs.net/Sprints/2010-03

This will be a great chance for introductions (especially for new or
potential Darcs hackers).  On the agenda:

 - prioritising ProbablyEasy bugs for new Darcs hackers
 - plans for the sprint (news, other meetings, discussions, etc)

Get your laptops ready!
---
You'll have more fun if you can hit the ground running, so
please make sure you can do all of these things:

  1. darcs get --lazy http://darcs.net
  2. cabal configure; cabal build
  3. darcs send (your patch should wind up on the tracker)

#3 is especially important.  Here's the quick start

  3a. create a test patch (see http://darcs.net/report.html )
  3b. see http://wiki.darcs.net/Msmtp
  3c. darcs send
  3d. wait 10 minutes
  3e. check the patch tracker http://bugs.darcs.net (Patches  Show Open)

Travel reimbursements possible
--
Thanks to a successful fundraising effort, we will be able to reimburse
travel costs for folks working on Darcs.

Do let me know if you're interested, and please save your receipts!  If
you have electronic tickets, I think that's fine (perhaps even better);
please email them to me.

More information on the wiki
---
Information about the sprint, including meetings and maps will be on
  http://wiki.darcs.net/Sprints/2010-03

It may be a good idea to darcs get --lazy http://wiki.darcs.net before
you leave so that you have an up to date version of the wiki :-)

Thanks to our donors for making this sprint possible and to Johan and
the Zurich/Google crew for setting up this massive hackathon.

Whee!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: [wxhaskell-users] Building/installing OS X application bundles for GUIs - cabal-macosx

2010-02-24 Thread Eric Kow
On Wed, Feb 24, 2010 at 12:54:51 +, Andy Gimblett wrote:
 That raises the question: what is the right place?  It seems to me  
 that the defaults are not the right defaults for this case.  --global  
 should probably go to /Applications, and --user should perhaps go to ~/ 
 Applications (though I'm less sure about that).  Of course, end-users  
 can explicitly set this on a per-install basis, but it seems that for  
 bundles we'd want to override the default.

Just to give some background to this:

I won't claim this is the right place, but the GenI setup script
(distant/fond ancestor of cabal-macosx) copies the app bundle to
wherever Cabal normally wants to put binaries, and then dumps out a
shell script for people who still want a command line interface to their
GUI app.

So you get

  ~/.cabal/bin/geni.app # application bundle
  ~/.cabal/bin/geni # shell script that calls geni.app/Contents/MacOS/geni

Again, not sure if that's the right thing to do, but it works for setups
where you still expect cabal install GenI to work the same way as, say
cabal install darcs, would.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Darcs fundraising 2010 - success!

2010-02-15 Thread Eric Kow
Hi everybody,

Here's the final report on our Darcs 2010 fundraising effort.  In a
word, success!  I wasn't sure we could pull it off, but thanks to all of
your contributions, we reached our target of $2000.

Thanks, everyone!

We'll be using this money to fund travel expenses for our bi-annual
Darcs hacking sprints.  I'm looking forward to seeing what kind of
impact this has, how much easier this makes it for us to bring our
community together (literally).

Finally, I think this would be a good time to call your attention to our
new thank-you page http://www.darcs.net/thanks.html.  This is just a
small way for us to make a note of all the ways that you have helped the
Darcs project, and how much we appreciate your contributions (your
feedback, patches, support).  Most recently, I've added a new section to
this page, which makes a nod to some of ours larger donors.  They also
had some rather nice things to say about Darcs, so do have a look :-)

Rah!

Eric

PS. Please let me know if you'd like to make a travel claim for ZuriHac

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpSNzKUP1S9h.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Darcs fundraising 2010 - send us to ZuriHac! ($792 more by 15 Feb)

2010-02-08 Thread Eric Kow
Hi everybody,

Only one more week of fundraising to go!  We've raised $1208 so far,
which gives us another $792 to go in our final push.

Can we do it?  I sure hope so.  Even if we do not, we'll still have
raised more than we did last year, so thanks to all!
  
If you're still thinking of helping out, now is the perfect time :-)
Otherwise, stay tuned at http://darcs.net/donations.html for our
progress.

Eric

PS. If you send me an email telling me how much you donated, I
can update the donations site immediately so that folks can
watch our progress bar obsessively :-)

Donating by Google Checkout
--
Donating via Google Checkout puts more of your donation to work, since
Google charges no Checkout fees to 501(c)(3) organizations.

Please visit http://darcs.net/donations.html for more details.

Donating by check (USA)
--
The next best option is to donate by check if you have a US bank
account.  Checks should be made payable to Software Freedom
Conservancy, Inc., with Directed donation: Darcs in the memo. They
can be mailed to

Software Freedom Conservancy
1995 BROADWAY FL 17
NEW YORK NY 10023-5882 USA

Donating by Paypal
--
Please visit http://darcs.net/donations.html for more details.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpSm4x3XMdJd.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Idea for a very simple GUI llibrary

2009-11-23 Thread Eric Kow
Minor aside.

 - Could be the first GUI to build on hackage :)

If you have wxWidgets installed, the new fully Cabalised wxHaskell
builds just fine.  It's quite handy/refreshing for 'cabal install wx' to
finally just work :-)

Unless you mean build on the Hackage server which should also be
possible in principle, although the wxHaskell folks may want to have
a quick look at
http://hackage.haskell.org/packages/archive/wxcore/0.12.1.2/logs/failure/ghc-6.10

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] getting ready to sprint! darcs: 14-15 Nov, Portland/Vienna

2009-11-08 Thread Eric Kow
Hi everybody,

We're less than one week away from the third Darcs Hacking Sprint, taking place
in Portland and in Vienna on 14-15 November.

Everybody is welcome (Haskell and Darcs newbies included), but please do let us
know if you're thinking of attending!

Preflight checklist
---
We've got our work cut out for us, so we want to make sure that we can hit the
ground running.  Here are three things each participant can do to help:

 1. Request a code.haskell.org account
http://community.haskell.org/admin/

 2. Build Darcs (install the Haskell Platform if needed)

cabal install darcs
darcs get --lazy http://darcs.net darcs
cd darcs
cabal install

 3. Tell Eric your code.haskell.org login
This is so that I can add you to the Darcs group

Vienna Friday
-
There's going to be quite a few of us arriving in Vienna on Friday.

I propose we meet up at the Hostel Ruthensteiner, say at 11:00 for morning
arrivals and 16:30 for those of us getting there in the afternoon.  Perhaps we
could walk around a bit, have a nice relaxed chat, find some food :-)

  http://www.hostelruthensteiner.com/

Meetings

There are few things we'll be talking about over the sprint (eg, darcs 2.4, SVN
integration, filecache).  If you're interested in joining in, please put your
name down on the wiki so that we can work out a rough schedule.

  http://wiki.darcs.net/Sprints/2009-11

Nothing formal.  Maybe just lunch and me scribbling in a notebook.  Or maybe
Darcs Hackers gesticulating wildly in front a white board.

See you there
--
That's all for now.  Please shout if you have any questions or last minute
comments.  Otherwise, I'm really excited about this and looking forward to
seeing you all this weekend!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpdnONYghQZU.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANNOUNCE: Darcs Hacking Sprint - 14-15 November Vienna

2009-09-23 Thread Eric Kow
Dear Haskellers,

The Darcs Team will soon be hosting its third hacking sprint.

Details
---
When : 14-15 November 2009

Where: University of Technology, Vienna, Austria

Who  : Anybody who wants to hack on Darcs (or Camp, Focal, SO6, etc)
   Beginners especially welcome!

Why  : Darcs aims to have bi-annual hacking sprints so that we can
   get together on a regular basis, hold design discussions,
   hack up a storm and have a lot fun.

What : We plan to put some finishing touches on Darcs-2.4.
   Darcs 2.4 is a pretty exciting release because we expect it
   to offer nice performance enhancements from Petr's Google
   Summer of Code Project, and also a nice new 'hunk splitting'
   feature.

   We also intend to set aside at least one Darcs hacker for
   mentoring beginners, so if you're new to Haskell or to Darcs
   hacking, here's a good chance to plunge in and start working
   on a real world project.

How:   Add yourself to http://wiki.darcs.net/Sprints/2009-11
   or email me to let me know you're interested!

Thanks
--
Thanks to our local team David Markvica and Benedikt Huber for
generously offering to host this event!

Thanks also to donors from the last fundraising drive.  We'll be using
that money to help Darcs hackers get to Vienna.

Supporting Darcs

Darcs is a very happy member of the Software Freedom Conservancy.  Among
other things, the Software Freedom Conservancy makes it easy for open
source projects to raise funds and hold assets (as part of a legal
entity).  For more information on supporting Darcs, see
http://darcs.net/donations.html

See you there!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: ANN: gitit 0.6.1

2009-08-25 Thread Eric Kow
 - the darcs team, for using gitit/darcsit for http://wiki.darcs.net,
   giving gitit a real-world test,

I think other Darcs hackers will agree with me when I say that we're
pretty thrilled with gitit (ahem, darcsit as Jason points out).

Thanks to fantastic response by John and Gwern, we were able to work
through the initial web spider hiccups.

It's great to be able to just
  darcs get --lazy http://wiki.darcs.net
and go!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Edinburgh Meetup (Sat 29 Aug) and Hack Day (Sun 30 Aug)

2009-08-14 Thread Eric Kow
Dear Haskellers,

Just a quick reminder that we will be having a Hack Day in Edinburgh
on Sunday 30 August (ICFP venue).  That's in two weeks!

For the interested, we will also be meeting up the day before 09:30
Saturday 29 August just outside the RCPE (ie. the ICFP venue again).
We'll have a quick wander and hopefully find some nice places to sit and
chat, whip out the occasional laptop and fling a lambda or not being
careful not to injure the passers-by.

For more details, see
  http://www.haskell.org/haskellwiki/Hac7

And do send me an email if you're interested in attending.  It'll
help us to get an idea how many people will be there.

See you soon! :-)

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: [darcs-users] cheap in-repo local branches (just needs implementation)

2009-07-22 Thread Eric Kow
On Wed, Jul 22, 2009 at 16:48:39 +0100, Grant Husbands wrote:
 Overall, I'd say this just feeds back into my original point, though;
 I fully expected that many points could be answered, and I think I can
 raise more, given a bit of thought. (I won't unless I'm asked to,
 though, as I'm trying to raise a useful point, not trying to wield
 pedantry to kill a project.)

I think it's quite useful that you're doing this, thanks.  The hope was
to solicit discussion, after all!

I'd particularly appreciate it if we could summarise any results from
this on the bug tracker in the end
http://bugs.darcs.net/issue555

 However, take even just the above into account and things are now more
 complicated. We're no longer simply switching a pristine and an
 inventory here and there, we're applying and unapplying patches for
 the working copy (which is non-trivial if you want to get the contexts
 correct), and rolling back on failure (something even Darcs has
 historically had trouble with). We're extending the added GC roots to
 include the full inventory chain (and whatever else comes up). We're
 doing something interesting with a new kind of context to make patch
 migration between branches work. I think it will become at least as
 much work as it would take to implement the right mechanisms in Darcs
 itself.

Another option to consider: though this may be straying from the idea of
implementing a standalone tool, but it seems that darcs-branch could
outsource any clever bits to the Darcs library (and that we'd have to
think carefully through extensions to the Darcs library and not just
hashed-storage to make this work).

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] cheap in-repo local branches (just needs implementation)

2009-07-21 Thread Eric Kow
-branch 
operations may make more obvious.)

At a high-level, a ``darcs-branch`` tool would provide core commands to:

1) Store the current repository state as a new branch by copying the 
current inventory and inserting a new pristine root for the branch. 
(``darcs-branch new`` or ``darcs-branch freeze``, perhaps)

2) Switch to a previously stored branch, by making the branch's 
inventory the new current inventory and the branch's pristine root the 
new current pristine root; updating the working directory as necessary. 
(``darcs-branch switch``)

Additionally, there would be other useful management tools 
(``darcs-branch list``, ``darcs-branch remove`` (or unfreeze)). I think 
that these four commands could be done with no darcs interaction at all 
(unless the branch being switched to has an incomplete/lazy pristine).

Useful commands that would need darcs interaction for patch management 
would be things like ``darcs-branch push`` to push patches between named 
branches (equivalent at a high level to ``darcs send -o new.dpatch 
--context branchB.context; darcs-branch switch branchB; darcs apply 
new.dpatch``), and ``darcs-branch obtain`` to obtain new in-repo local 
branches from an existing context file, remote/external-local 
repository, tag, or other matcher (that is, darcs get from one in-repo 
branch to a new one).

I doubt that a ``darcs-branch get`` to download all of the branches 
other than current (or HEAD, if you prefer, or main as I prefer) of 
a remote repository would need any darcs interaction (downloading the 
inventories and then many/most/all of the pristine objects). We can bet 
that darcs' usual lazy patch-getting behavior should work out of the box 
even for multiple branches.

Well, that's the general idea, at least. I believe that a willing 
volunteer and a bit of help from Petr could build such a tool 
relatively quickly and hopefully might even possibly work with today's 
darcs as it is.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Haskellers at University of Edinburgh? (hackathon)

2009-06-29 Thread Eric Kow
Hi Haskellers,

I'm looking for people at the University of Edinburgh who have a swipe
card with access to the Informatics Forum and could hang around on 29
August (or perhaps 6 Sep).

Thanks!

PS. You may also be interested in some Hackathon news: we've reserved a
room at the ICFP venue suitable for up to 50 people, but we can only
have it for 30 August.  I'm still holding out for a two-day space, but
if I don't hear back by mid-week, we'll settle for a single Haskell Hack
Day, preceded by a more informal Haskell Hacking Expedition the day
before (for example, camping in in a wifi-enabled pub for the day).

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] who's up for a hackathon? (ICFP, late Aug, early Sept)

2009-06-10 Thread Eric Kow
Dear Haskellers,

ICFP 2009 takes place from Monday 31 August to Wednesday 2 September,
with the Haskell Symposium following it on 3 September.

Would anybody be interested having a Haskell Hackathon during this?  My
thinking is that to catch people who are only going to the Haskell
Symposium, the best time is the following weekend (4-6 September).
Otherwise, the weekend before (29-30 August) is also an option and has
the benefit of catching people before they get tired :-)

Rah, rah, hackathon!

1. If possible, I'd like get a idea if there is any interest in attending
   such a Hackathon if it were to take place.

2. For rah-rah Hackathon to work, we need people!  Could I get one kind
   (and local) soul to act as an organiser for this?

Thanks!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] code reviewers wanted for hashed-storage (darcs)

2009-06-02 Thread Eric Kow
Dear Haskellers,

Will you have a few spare hours this summer?
The Darcs team needs your help!

Summary
---
We need two volunteers to help us review the standalone hashed-storage
module, which will be used by Darcs in the future.

Background
--
Darcs supports 'hashed' repositories in which each file in the pristine
cache is associated with a cryptographic hash.  Hashed repositories help
Darcs to resist some forms of corruption and also allow for nice
features such as a global patch cache and lazy patch fetching.
Unfortunately, our implementation can be rather slow.

Petr has some nice ideas for making these repositories work a lot
faster.  He will be producing a library he calls 'hashed-storage' which
generalises the idea of storing files associating them with a
cryptographic hash and furthermore improves on the current
implementation used by Darcs.  The hashed-storage library is general
purpose and may find a use in other applications that need to manage a
large number of files.

I'm excited about this project because if it succeeds, we can finally
start hammering home the point that yes, Darcs *can* be a fast revision
control system.  It may not fix all our problems -- we'll still need a
Darcs 3 -- but it should alleviate at least some of the practical day to
day issues.

I want to ensure that Petr's project is a success.  One thing in
particular is that I would like him to get regular code review from the
Haskell community, perhaps from folks who aren't already on the Darcs
team.  Do you think you can help?

Two volunteers needed
-
I'm looking for just two volunteers this summer:

1. Do you have one hour per week this summer?

   We need somebody to track and make comments on changes to
   hashed-storage over this summer.  The current library has only 8
   modules, with less than 1400 lines of code, so it should be
   relatively easy to get started :-)

2. Do you have a spare weekend in August?

   Towards the end of the summer, it would be nice to have somebody
   examine the final version of hashed-storage and give us their
   thoughts.

Again, no Darcs experience is needed, as this is a standalone module.
In fact, a fresh perspective would be very helpful.

More information

You can download hashed-storage from hackage from his darcs repository:
  darcs get http://repos.mornfall.net/hashed-storage
For more information about his project, see
  http://web.mornfall.net/blog/summer_of_code.html

Please get in touch with me if you can help.

Thanks!

Eric

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgphUQDmGStl4.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] darcs hacking sprint 2 and hac5 report

2009-04-24 Thread Eric Kow
Dear darcs users and Haskellers,

Here's our report from the 2nd darcs hacking sprint, held as part of the
Haskell Hackathon.

http://blog.darcs.net/2009/04/darcs-hacking-sprint-2-report.html

Thanks very much to the Hac5 team, to Hac5 sponsors, darcs donors, and
to all participants at the Hackathon.  We really enjoyed meeting
everybody and hope to see you soon at the next event!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Petr Ročkai's darcs project accepted for Haskell GSoC

2009-04-20 Thread Eric Kow
Hi everybody,

I'm pleased to announce that Petr Ročkai's project on optimising darcs
has been accepted for Google Summer of Code.

More details can be found here:
  http://socghop.appspot.com/org/home/google/gsoc2009/haskell

Petr's project fits into an ongoing effort by the darcs community to
improve our performance so that one day we will able to recommend darcs
for medium sized and larger projects.  Until early 2008, we have been
focused on darcs 2: which provides the darcs 2 theory (to solve most of
the exponential merge problems), and also the hashed format
repositories (including darcs 2).

The project for this summer will allow us to complete the work on hashed
repositories.  In their current state, hashed format repositories make
darcs a lot more robust and also allow us to fetch repositories faster
(with darcs get --lazy and with a global patch cache).  But in their
current form, hashed repositories can can also slow down day-to-day
operations like darcs whatsnew and darcs record.  Petr has identified
the cause of these delays has provided a work plan which we think will
get hashed storage right.  If his project is successful, future versions
of darcs should make operations like darcs record and whatsnew much more
comfortable in practice.

Congratulations and good luck to Petr!  And many thanks to the darcs and
Haskell communities for their support.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpnAFiBOvhlW.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [darcs-users] [Haskell-cafe] Reverting to any old version using Darcs

2009-04-05 Thread Eric Kow
On Wed, Apr 1, 2009 at 11:25 PM, Claus Reinke claus.rei...@talk21.comwrote:
  Perhaps the rumours refer to non-tagged versions? In conventional
  non-distributed version control systems, one
  might go back to the version on a specific date, while with
  darcs, that only makes sense wrt a specific repo (I think?).

On Wed, Apr 01, 2009 at 23:43:36 +0200, Peter Verswyvelen wrote:
 Yes, that might be the rumor indeed, it surely sounds like it :)
 Darcs is really very different, so it takes a while to get used to it when
 coming from other systems.

This has been said in one of the earlier responses, but I thought it was
worth repeating: darcs has a notion of context files which can be used to
retrieve exactly another version of a repository with darcs get
--context name-of-file.

You can generate such files by invoking darcs changes --context.  For
that matter, patch bundles (as created by darcs send) can also be used
as context files.  It's sometimes quite handy to do something like darcs
get --context foo.dpatch to retrieve exactly the version of the
repository a patch bundle was meant to apply to.

This is one of the little known features of darcs, and should probably
appear in some kind of darcs tips series of blog articles :-)

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpajaZ83hl21.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] darcs fundraising drive - THANK-YOU!

2009-03-16 Thread Eric Kow
Dear darcs users and Haskellers,

I wanted to thank you all for your contributions to our first darcs
fundraising drive.  We've done it!  We managed to raise $1000, over two
weeks with contributions from 22 donors.  This means that we will able
to help our programmers travel to the darcs hacking sprint.

This fundraising drive is over, but donations will still be gratefully
accepted.  In the long term, we hope to raise another $5000 to pay for a
summer project ($4000) and also to pay for travel (another $1000) to the
third hacking sprint this October or November.

Again, thank-you!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] darcs fundraising drive - only $720 left to go!

2009-03-14 Thread Eric Kow
Hi everybody,

Just a quick update on the fundraising drive.

We are trying to raise $1000 to help pay for travel to the upcoming
Haskell hackathon (the second of our biannual darcs hacking sprints).
So far we have raised $280, so we're almost a third of the way there.
Think you can help?

Details on this page

  http://www.darcs.net/donations.html

Many thanks!

Eric

PS. Ultimately, what we are trying to buy is *time*.  So if you have a
few spare moments in your week, the most generous donation you can make
is by offering us a little of your time.  Come join us in Utrecht, 17-19
April or on #darcs!  Otherwise, we accept Paypal :-) 

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpYXMhGigKZ2.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: a newbies confusion with repositories - darcs or git

2009-03-07 Thread Eric Kow
Hi again,

I wanted to echo Iavor's comment that you shouldn't feel 'obliged' to
use darcs out of Haskell brand loyalty.

Try both systems out and see how they feel.  My enthusiasm is really
about what I find to be a great and very comfortable workflow.  You'll
have to see for yourself what suits you best.

More importantly...

On Sun, Mar 01, 2009 at 10:40:46 +, Eric Y. Kow wrote:
 Why I love darcs
 

One of the darcs team members, Thorkil Naur, felt that in my enthusiasm I
was not being sufficiently forthright about darcs's shortcomings.

First, I would like to express my gratitude to Thorkil for calling me
out.

Second, I wanted to state unequivocally that darcs, no matter how much I
love it, is not perfect.

 It's not just that it's written in Haskell; it's that the whole thing
 is driven by something which is very clean, powerful and which
 delivers a concrete impact in the real world.

When I said this, I was focusing on one idea: namely that most of the
darcs user interface is just as straightforward consequence of two
operations: patch inverse and patch commutation.  In my eyes, that was
very clean, the whole of darcs basically just boils down to these two
operations.

What I failed to add is that /defining/ how patches should commute is
not so beautiful.  The problem occurs when patches conflicts; the
question of how patches should commute when they conflict is still not
completely well understood.  We have some working ideas: code for
darcs-1 and darcs-2 patch theories which seems to work reasonably well.
But to call it clean and elegant would definitely be a stretch.

Furthermore, darcs has bugs, some of which are fairly deep (where
conflicts or duplicate patches are involved).  Some of these bugs are
documented and some we have only recently discovered, and some may be
looming just around the corner.  So far, these bugs have not affected a
lot of repositories, and in those cases, it has been fairly
straightforward to recover from them.  But know that they are there.

 We now have a stable and more sustainable development team (I'm working on 20%
 darcs time at my job with the University of Brighton and have committed myself
 to spending no more than 8 hours a week on darcs to avoid burnout; a lot of 
 our
 jobs have been assigned to dedicated managers -- hello!) and are adopting some
 new practices (hacking sprints, 6-month time based release schedule) to keep
 development running more smoothly.

Another reason to be concerned about the darcs team is that since David
Roundy retired from darcs life, we do not have anybody who deeply
understands darcs, that is, all the way down to the inner workings of a
darcs repository (for example the manipulation of the pending patch) and
to its patch theory core.

We have folks like me who have a rudimentary understanding of patch
theory (i.e. who grasp the relationship between commutation, inversion
and merging and who also understand some of what darcs-1 conflicts are),
but what we lack are people who deeply understand the darcs-2 core (Ian
Lynagh's work on camp is actually quite similar to darcs 2, so in a
sense, he does understand it), especially as it's implemented.

This puts us in an awkward position, one of not being able to quickly
work through any fundamental bugs if they should arise.  We would have
to scamper up that learning curve fairly quickly.

But I'm still optimistic over the long term.  These things will come.
We've made a lot of progress building up our community infrastructure, 
and we are learning how to make better use of our time.

For what it's worth, a few of us on the team will be focusing on darcs
fundamentals during the sprint.  We need more testing, we need to look
at our deep bugs more closely and we need to learn our way through
darcs's guts.  And I think we can do it.

Thanks,

Eric

PS. We have started a fundraising effort to get folks to the darcs
hacking sprint.  More details on that shortly.
 
-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgp1oNLfX90zU.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Google Summer of Code 2009 - mentors wanted!

2009-02-28 Thread Eric Kow
Hi everybody,

Just a reminder that darcs will be applying to be a mentoring
organisation for the Google Summer of Code project 2009.

Anybody interested in mentoring a project?  Darcs hackers?  Haskellers
in general?  According to the GSoC FAQ, mentoring should take about 5
hours a week http://code.google.com/opensource/gsoc/2009/faqs.html.

It would be a wonderful way to contribute to the darcs and Haskell
communities and a fun learning experience to boot.

Haskellers in general, if you've been thinking about contributing to
darcs, give mentoring a try!  Or if you're already working on a more
general project like Grapefruit or Haskeline, you could think about
mentoring as a way to turn darcs into one of your customers :-)

Eric

PS. Students and project ideas wanted too.
Also, see you at the Hackathon! 17-19 April, Utrecht

Previous discussions

* http://lists.osuosl.org/pipermail/darcs-users/2009-February/017766.html
* http://lists.osuosl.org/pipermail/darcs-users/2009-February/017865.html

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: [darcs-users] darcs and Google Summer of Code

2009-02-27 Thread Eric Kow
Hi,

(carefully avoiding your name :-P)

On Mon, Feb 23, 2009 at 16:08:18 +0100, Wolfgang Jeltsch wrote:
 Tomorrow, I will discuss with the first half of my student project students 
 (3 students) about what exact topic they will pursue. My idea is to let them 
 start a Grapefruit-based darcs GUI. They should not use the currenct darcs 
 interface directly where it doesn’t fit GUI frontends well. Instead they 
 should write a wrapper around the “ugly” parts which exposes a “nice” 
 interface. Later, one could merge this wrapper into the darcs codebase so 
 that darcs exports the “nice” interface then. The GUI code wouldn’t have to 
 change much then.

It would be interesting to see how they get on writing their wrapper
around the darcs library as opposed to making darcs invocations
(although if you were to go the latter route, I noticed that the
patch-tag folks have uploaded a 'DarcsHelpers' package which may be
of some use.

 In April, the second half of the students will start with their project. If 
 there is some graphics support in Grapefruit at that time then they might 
 work on a patch viewer.
 
 What do you think about that?

In addition to my previous suggestion that the students hang out in
#darcs, maybe they could start some sort of blog detailing their
progress, and with the occasional screenshot?  It would be a great
addition to the darcs planet:

  http://planet.darcs.net

Thanks!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: [darcs-users] darcs and Google Summer of Code

2009-02-21 Thread Eric Kow
Hi Wolgang,

On Wed, Feb 18, 2009 at 12:53:23 +0100, Wolfgang Jeltsch wrote:
 What do you mean with “something which will make it much easier for third 
 parties to write a GUI in the future”?

Kari's example of GUI-friendly optimisations might be one thought.

More generally, I was thinking of some kind of darcs library design
work: now that we have exposed all our modules in a sort of darcs
library, how we can grow this into a proper library that people can
safely use (safe in the sense that the library makes it very clear
what kinds of operations are read-only, or to what extent operations are
atomic, preferably with atomic repository-manipulating functions only
being exposed and not their underlying substeps).  The library could
also tackle issues like darcs sending messages back to the user (right
now, we just putStrLn, but what if we want them to go a special Window?)

Sorry if these are vague thoughts.  In general, it would be nice to see
a some summer of code projects that emphasised foundational work.

  I'll note that last year, we had a few interested students for this year and
  a potential mentor (Shelarcy from wxHaskell).  Hopefully we can call on
  them again this year?  There is also some work by Wolgang Jeltsch
 
 Wol*f*gang, please. :-) 

Argh, after looking Jeltsch up to make sure I got that right, I had to
go make a typo on the easy part.  :-D

 How can I get write access for this page?

Very sorry for the delayed response:
  http://wiki.darcs.net/index.html/UserPreferences

 I’ve put myself as a potential mentor on the old Haskell SoC ticket 
 (http://hackage.haskell.org/trac/summer-of-code/ticket/17).

Thanks!

 However, one or two years ago I was told that mentoring is a very
 time-consuming thing (and to my knowledge, you don’t get any payments
 for that, at least for Haskell projects).

While the darcs project would be grateful if you wanted to donate us
your mentor payment, we certainly do not want to make you feel obliged
to do so.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] darcs and Google Summer of Code

2009-02-18 Thread Eric Kow
Dear Haskellers,

Recently, there has been a suggestion that darcs apply to be a mentoring
organisation for Google Summer of Code in its own right.  Thanks!  I
think we will definitely try this out!

Ideas: GUI and hashed-storage
-
So far, we have two active projects, active in the sense that there are
interested students and mentors.

The first is to work towards a sort of graphical interface for darcs (as
has been suggested on this list).  I suspect that we what we will likely
do with this idea is to refine it into something that may either be
part of a GUI (like a patch dependency viewer), or which will make it
much easier for third parties to write a GUI in the future.  I'll note
that last year, we had a few interested students for this year and a
potential mentor (Shelarcy from wxHaskell).  Hopefully we can call on
them again this year?  There is also some work by Wolgang Jeltsch and
students that we could talk about extending into a GSoC project.

The second idea is to continue our performance work.  Petr Ročkai has
done some very interesting work in optimising the way that darcs stores
files for its hashed and darcs-2 format repositories.  In one of his
tests, he reports having a possible tenfold speed-up in darcs whatsnew
times, and a halving of the number of filesystem calls in one his tests.
http://bugs.darcs.net/issue1202.  It would be very interesting to see
Petr continue this sort of work and perhaps tie it into of some of the
other optimisations the darcs community have in mind.

Anyway, you may be interested to know that we have a parallel discussion
going on about this on the darcs-users list:

  http://lists.osuosl.org/pipermail/darcs-users/2009-February/017766.html

We are also keeping a summary of this discussion here with our active
ideas:

  http://wiki.darcs.net/index.html/GoogleSummerOfCode

Hackathon
-
Finally, darcs will be holding its second hacking sprint within the
Haskell Hackathon, April 17-19, Utrecht.  There's already at least 5 of
us from darcs/camp, and we would love to see more of you.  Or if you're
already planning on joining Hac5, come hack a little darcs while you're
there!

  http://wiki.darcs.net/index.html/Sprints/2009-04

Hope to see you soon,

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] [ANNOUNCE] First release candidate of darcs 2.2.

2009-01-12 Thread Eric Kow
Dear Haskellers,

I would like to forward this announcement on behalf of Petr Ročkai
(the current darcs Release Manager).

Darcs 2.2 is scheduled for release in 2009-01-15, only three days from
now!  This is the first of our biannual time-based releases.  We hope
you'll like it, and to help us ensure that you will like it, please help
us test our the release candidate.

Thanks!

Eric

Petr's words follow:

8-
I am pleased to announce that darcs 2.2 is coming along nicely. I would like to
ask everyone to give a ride to darcs 2.2, release candidate 1. This release
again comes in two flavours:

1) The source tarball, http://repos.mornfall.net/darcs/darcs-2.2.0rc1.tar.gz,
which can be built using the traditional autoconf-based buildsystem. This is
the fully supported version. After downloading and unpacking, you can issue:

$ ./configure
$ make
$ ./darcs --version

or

# make install

More detailed instructions inside the tarball (file README).

2) Cabalised source. You can either download a tarball from
http://repos.mornfall.net/darcs/darcs-2.1.99.0.tar.gz and build manually (see
the build instructions in README inside the tarball), or, alternatively, you
can use cabal-install to obtain a copy (the release candidate is now available
on hackage):

$ cabal update
$ cabal install darcs

This should give you a darcs binary in ~/.cabal/bin -- you should probably add
that to your PATH.

This is a preliminary changelog since version 2.1.2 (released last November):

  * In interactive record, it is now possible to get a list of
currently selected hunks (command 'l'). (Christian Kellermann)
  * It is now possible to specify --in-reply-to when using darcs send, to
generate correct references in the mail header.  (Pavel Shramov)
  * New repositories with --no-pristine-tree can no longer be
created. This only has effect on legacy darcs-1 repositories.
  * Improvements in Windows support. (Salvatore Insalaco)
  * Performance improvements in `darcs repair` and robustness improvements in
`darcs check`. (Petr Ročkai)

  * Extensive manual and online help improvements. (Trent W. Buck)

  * Support for GHC 6.10.

  * Overhaul of the make-based build system. (Trent W. Buck)
  * Cabal is now supported as a build method for darcs. (Duncan Coutts, Petr
Ročkai, Gwern Branwen)

  * First stab at libdarcs -- when building through Cabal, all of darcs
implementation is now exposed in modules. No API guarantees
whatsoever. (Eric Kow)
  * Additions to Haddock documentation of the existing darcs modules for
improved development experience.

  * Improvements in the testing infrastructure. (Christian Kellermann, Gwern
Branwen)

  * Low-level optimisations in filesystem code. (Ganesh Sittampalam)
  * Numerous major and minor bug fixes, refactorings and cleanups by David
Roundy, Eric Kow, Jason Dagit, Dmitry Kurochkin, Thorkil Naur, Salvatore
Insalaco, Christian Kellerman, Florent Becker, Duncan Coutts, Reinier
Lamers, Ganesh Sittampalam, Petr Ročkai.

Preliminary list of issues that have been fixed in darcs since version 2.1.2:

1223sporadic init.sh test failure (2.1.1rc2+472)
525 amend-record = darcs patches show duplicate additions
1247make TAGS is broken
1273renameFile: does not exist (No such file or directory)
1165get should print last gotten tag
12492.1.2 (+ 342 patches) local drive detection on Windows error
1238wish: darcs help setpref should list all prefs
1199Backup files darcs added after external merge
1043pull = mergeAfterConflicting failed in geteff (2.0.2+)
1117Whatsnew should warn on non-recorded files
1101darcs send --cc recipient not included in success message

Thanks to Thorkil Naur for compiling this list.

I would like to thank all contributors -- developers, testers, bystanders --
for helping darcs get along further. It's been hard times recently for darcs,
as many of you probably know. Nevertheless, we are regaining confidence in
future darcs development. No way are we going to leave darcs fall by the
road. I am sure that this one time, I speak for everyone in our developer and
user community.

Yours,
   Petr.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


Re: [Haskell-cafe] Compilers

2008-11-30 Thread Eric Kow
Hi Daniel,

On Sun, Nov 30, 2008 at 08:31:15 -0500, [EMAIL PROTECTED] wrote:
 [EMAIL PROTECTED]:~/lhc darcs get --partial http://code.haskell.org/lhc
 Invalid repository:  http://code.haskell.org/lhc
 
 darcs failed:  failed to fetch: http://code.haskell.org/lhc/_darcs/inventory 
 ExitFailure 1
 
 There's a hashed_inventory in lhc/_darcs, but no inventory.
 Is that a darcs2 vs. darcs1 incompatibility and I'm just screwed or is the 
 repo broken?

There are two issues here.  One is that the LHC repository is indeed a
darcs 2 repository and you appear to have darcs 1 on your machine.  I
think upgrading to darcs 2 would be a very good idea, and I'm sure the
darcs community would be happy to help you with this.

The second issue is that our forward-compatibility detector was likely
buggy in darcs 1.0.9.  The response darcs 1.0.9 should have given you
was something like this:

  darcs failed:  Can't understand repository format: hashed
  darcs failed:  Can't understand repository format: darcs-2

Unfortunately, the relationship between hashed and darcs 2 repositories
is slightly confusing.  Basically you need a darcs 2 client if you see
hashed_inventory, but it does not necessarily mean there is an
incompatibility.  I hope that the following snippet from the darcs 2.1.0
release announcement can help clear this up:

What should I do?
-
Upgrade! Binary versions should be available shortly, either from your
favourite package distributor or by third party contributors.

Other than installing the new darcs, no action is required on your part to
perform this upgrade. Darcs 2, including this particular version, is 100%
compatible with your pre-existing repositories.

If you have not done so already, you should consider using the hashed
repository format in place of your current old-fashioned repositories.
This format offers greater protection against accidental corruption,
better support for case insensitive file systems. It also provides some
very nice performance features, including lazy fetching of patches and a
global cache (both optional).

If darcs 1 compatibility is not a concern, you could also upgrade your
repositories all the way to the darcs 2 format. In addition to the
robustness and performance features above, this gives you the improved
merging semantics and conflicts handling that give darcs 2 its name.

More details about upgrading to darcs 2 here:
http://wiki.darcs.net/index.html/DarcsTwo

Another clarification
-
To be clear, we say that hashed repositories are backward-compatible.
This means that darcs 2 clients can pull and push patches between
them and old-fashioned repostiories.  On the other hand, interacting
with the hashed repositories themselves requires a darcs 2 client.

Thanks!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


Re: [Haskell-cafe] Compilers

2008-11-30 Thread Eric Kow
On Sun, Nov 30, 2008 at 17:45:55 +0100, Daniel Fischer wrote:
 I am now a proud owner of darcs-2.1.2, the source distribution built without 
 problems :), make test said All tests successful! three times :D
 Sorry to deprive you of the pleasure of helping.

:-)

darcs failed:  Can't understand repository format: hashed
darcs failed:  Can't understand repository format: darcs-2
 
 I've always found darcs' predictive powers somewhat lacking.
 Seriously, it might be a good idea to have an error message like

This was just a bug in darcs.  The feature has been there for a while,
but was not sufficiently well tested.  Anyway, it's been fixed since
May.
 
 darcs failed: Can't understand repository format, may be new format or broken.

I think we would welcome some kind of patch to rephrase the messages
above to hint that that the reason it could not understand these
format elements was because they may be new.

  Upgrade! Binary versions should be available shortly, either from your
  favourite package distributor or by third party contributors.
 
 Please, do not drop source distributions anyone, binaries tend to work on a 
 much smaller set of systems, source can build against more library versions.

The darcs team will always release a source tarball on its releases
(the next one scheduled for mid January)

Cheers,

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: [darcs-users] workarounds for Codec.Compression.Zlib errors in darcs

2008-11-27 Thread Eric Kow
On Wed, Nov 26, 2008 at 14:38:33 +, Eric Kow wrote:
 In principle, the same advice applies for Windows users, with more
 details hopefully to follow on how the C libz in a GHC-accesible
 location.  Details to follow.

As promised, here are the details for installing darcs using our
old internal binding to libz on Windows.  Again, the instructions
are either to

  cabal configure -f -external-zlib

(Or to wait for darcs 2.1.2.3 to appear on hackage)

Thanks to Salvatore Insalaco, our Windows Czar!

--

There're two zlib versions for Windows: one compiled with ccall
convention, and one with stdcall convention. We need the ccall one, at
the address:
http://gnuwin32.sourceforge.net/packages/zlib.htm

The other one will *appear* to work, but darcs will segfault as soon
as the first call to zlib is made.

This is the step-by-step howto:
1) Download the binary from
http://gnuwin32.sourceforge.net/downlinks/zlib-bin-zip.php and unzip
it.
2) Copy the zlib1.dll file in bin directory in ghc's gcc-lib
directory, and then rename it libz.dll.
3a) Copy the zlib1.dll file in c:\windows directory, WITHOUT renaming it.
OR
3b) If you don't want to pollute your windows directory, just copy it
in whatever directory is in the search PATH, or in the one you'll
place darcs.exe binary.

That's all. The cabal install will then just work.
By the way: that's similar to the how-to for making curl work. Maybe
we can update the windows building instructions providing a
pre-install instructions to make cabal install darcs just work.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] workarounds for Codec.Compression.Zlib errors in darcs

2008-11-26 Thread Eric Kow
Hi everybody,

This advisory is for people who have installed darcs 2.1.2 via the
Cabal build method.  As you may have noticed, the cabalised darcs
sometimes fails with errors like

  Codec.Compression.Zlib: incorrect data check

Why this happens

Older versions of darcs can to produce gzipped files with broken CRCs.
We never noticed this because our homegrown wrapper around the C libz
library does not pick up these errors.  Lately, we have been working on
adopting the Haskell zlib wrapper, which is made available by default in
darcs.cabal.  This new wrapper is more stringent and fails when it
encounters these files.

Workaround 1 : use C libz instead of Haskell zlib
-
So how can you work around these errors?  If you are building darcs on
any Unix-y operating system (e.g. Linux or MacOS X), you can cabal
configure darcs to use the old C libz binding:

  cabal configure -f external-zlib

This will restore our homegrown wrapper which ignores the broken CRCs
(note that the darcs head no longer *produces* these broken files,
thanks to debugging by Matthias Andree and to a bugfix by David Roundy;
http://bugs.darcs.net/issue844 for details).

In principle, the same advice applies for Windows users, with more
details hopefully to follow on how the C libz in a GHC-accesible
location.  Details to follow.  In the meantime, you can either build
darcs using the old configure and make technique (assuming you have
MSYS and related tools), or use a binary that does not use the Haskell
zlib wrapper (for example, by downgrading to
http://www.haskell.org/~simonmar/darcs-2.0.2+75.zip )

Workaround 2 : fix your broken gzipped files

If you have control over the repositories with broken gzipped files, it
should be possible to repair these files by gunzipping them and then
redo-ing the gzip.  We think that the attached script should help.
Please report back if this is not the case.

How we will fix this problem in the long term
-
I'm very sorry for the grief this has caused.  To begin with, we will
ensure that the 2.2 release gets more testing before releasing it in
January.

It will also handle these broken CRCs more gracefully.  Our plan is to
 - either extend darcs repair or provide a Haskell script to fix
   these broken files
 - detect the broken files and advise users to run darcs repair (or the
   script) as needed
 - somewhere in the future, disallow broken CRC files whilst still
   advising users on how to fix their files.

Many thanks!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] Re: workarounds for Codec.Compression.Zlib errors in darcs

2008-11-26 Thread Eric Kow
On Wed, Nov 26, 2008 at 14:38:32 +, Eric Kow wrote:
 Workaround 2 : fix your broken gzipped files
 
 If you have control over the repositories with broken gzipped files, it
 should be possible to repair these files by gunzipping them and then
 redo-ing the gzip.  We think that the attached script should help.
 Please report back if this is not the case.

No advisory is complete without a forgotten attachment.  Here it is.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


fix-darcs-crc.sh
Description: Bourne shell script


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


[Haskell-cafe] Re: workarounds for Codec.Compression.Zlib errors in darcs

2008-11-26 Thread Eric Kow
On Wed, Nov 26, 2008 at 14:38:32 +, Eric Kow wrote:
 Workaround 1 : use C libz instead of Haskell zlib
 -
 So how can you work around these errors?  If you are building darcs on
 any Unix-y operating system (e.g. Linux or MacOS X), you can cabal
 configure darcs to use the old C libz binding:
 
   cabal configure -f external-zlib

My advice here is incorrect.  We want the /opposite/

   cabal configure -f -external-zlib

Although note that a new version of darcs 2.1.2.3 will be soon on
hackage with the new default (unfortunately this makes darcs a bit
harder to build on Windows unless you're willing to use Workaround
#2 of actually fixing your .gz files)

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] announcing darcs 2.1.1rc2

2008-11-10 Thread Eric Kow
Hi everybody,

The release candidate for darcs 2.1.1 is now available at
  http://darcs.net/darcs-2.1.1rc2.tar.gz

This release is very much intended to be darcs 2.1.0 plus GHC 6.10.1
support.  We have also thrown in some simplifications to the regression
testing suite and a Windows bugfix (which we pulled in because of a
dependency and retained because it was a small and useful).

Please give this a try, especially those of you on GHC 6.10 or Windows,
and let us know how things work out.

Because we have only selected a very small subset of changes to include
(using darcs's cherry-picking abilities, of course!), I am confident
that we can get by on a reduced release cycle.  If all goes well, the
official release date for darcs 2.1.1 will be 2008-11-17.

Thanks!

Eric

darcs (2.1.1rc2)

  * Portability: Removed accidental QuickCheck 2.1 configure check.
Note that it may be required in a future version of darcs.

 -- Eric Kow [EMAIL PROTECTED]  Mon, 10 Nov 2008 11:17:00 GMT

darcs (2.1.1rc1)

  * Portability: GHC 6.10.1 support (Petr Ročkai, Eric Kow)

  * Bug Fix: Fix file handle leak and check for exceptions on process
running on Windows (issue784, Salvatore Insalaco)

  * Quality Assurance: Consolidated regression test suites using
shell scripts only (Eric Kow, Tommy Petterson, Matthias Kilian)

 -- Eric Kow [EMAIL PROTECTED]  Mon, 10 Nov 2008 09:49:00 GMT

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpZvPr8RH3iA.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] darcs hacking sprint TOMORROW!

2008-10-24 Thread Eric Kow
Hi all,

Just pointing out that the darcs hacking sprint is taking place
tomorrow (Saturday and Sunday 25-26 October)!

Our Brighton and Portland venues are still open, so if you are
thinking of dropping by, let us know :-)

http://wiki.darcs.net/index.html/Sprints

Cheers,

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] ANNOUNCE: darcs 2.1.0

2008-10-09 Thread Eric Kow
Hi all,

I am delighted to announce the release of darcs 2.1.0, available at

  http://darcs.net/darcs-2.1.0.tar.gz

What has changed?
-
This version provides over 40 bug fixes and 20 new features since
darcs 2.0.2.  The most notable changes are:

 * Defaulting to darcs-2.  The darcs initialize command now creates
   darcs-2 format repositories by default.  This change will make the
   the improved conflict handling and merging semantics from darcs 2
   available to more users.  Note that no action is required on your
   part.  Darcs will continue working with all pre-existing
   repositories.  You can explicitly request an old-fashioned repository
   if needed.

 * Better HTTP support.  Dmitry Kurochkin has refined our HTTP support
   and fixed several http-related bugs from darcs 2.0.2.  There is also
   an experimental --http-pipelining feature you can enable on the
   command line (or in your defaults file) for faster downloading.
   Note: --http-pipelining is enabled by default for libwww, and also
   for libcurl 7.19.1 (not yet released at the time of this writing)

 * Repository correctness.  David Roundy has resolved a longstanding
   'pending patch' regression (originally reported on 2008-02).
   Needless to say the offending case has been moved to our regression
   testing suite

See the attached ChangeLog for more details.

What should I do?
-
Upgrade! Binary versions should be available shortly, either from your
favourite package distributor or by third party contributors.

Other than installing the new darcs, no action is required on your part
to perform this upgrade.  Darcs 2, including this particular version, is
100% compatible with your pre-existing repositories.

If you have not done so already, you should consider using the hashed
repository format in place of your current old-fashioned repositories.
This format offers greater protection against accidental corruption,
better support for case insensitive file systems.  It also provides
some very nice performance features, including lazy fetching of patches
and a global cache (both optional).

If darcs 1 compatibility is not a concern, you could also upgrade your
repositories all the way to the darcs 2 format.  In addition to the
robustness and performance features above, this gives you the improved
merging semantics and conflicts handling that give darcs 2 its name.

More details about upgrading to darcs 2 here:
  http://wiki.darcs.net/index.html/DarcsTwo

What comes next?

We will now be shifting to a time based release model, with the next
darcs release planned for January 2009.

For the next release of darcs, we will be focusing on optimising darcs's
day to day performance issues.  We want darcs to fetch repositories as
fast as it possibly can over a network, and we especially want to
rehabilitate known slow commands like darcs annotate.  We believe that a
few simple and practical changes can really improve the darcs experience
for most users.

Think you can help?  We would love to hear from you.  In fact, the first
darcs hacking sprint (25-26 October) is fast approaching!  We have three
venues available: Brighton, Paris and Portland and everybody is invited
to come hack.  See http://wiki.darcs.net/index.html/Sprints for details.

Thanks everybody, and enjoy!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9
darcs (2.1.0)

 -- Eric Kow [EMAIL PROTECTED]  Sun, 09 Oct 2008 12:05:32 GMT

  * Bug Fix: Eliminate a 'same URLs with different parameters' error when
fetching files over HTTP (issue1131, Dmitry Kurochkin)

  * User Experience: Corrections to the default boring file (Ben Franksen)

  * Bug Fix: Fix the %a option in darcs send --sendmail-command (Ben Franksen)

  * Bug Fix: Do not obscure the SSH prompts or text editor output with
progress reporting (issue1104, issue1109, Dmitry Kurochkin, David Roundy)

  * Bug Fix: pull --intersection work now works as advertised (Tommy
Pettersson)

darcs (2.1.0pre3)

 -- Eric Kow [EMAIL PROTECTED]  Sun, 02 Oct 2008 09:12:41 GMT

  * Bug Fix: Eliminate an error merging repeated conflicts in darcs-2
repositories (issue1043, David Roundy)

  * New Feature: Hide 'Ignore-this:' lines which will be generated by future
versions of darcs to prevent patch-id collisions. (issue1102, Eric Kow,
David Roundy)

  * Bug Fix: Support darcs repositories which have symbolic links in their
paths (issue1078, Dmitry Kurochkin)

  * Bug Fix: Make ssh connection sharing (darcs transfer-mode) work with
old-fashioned repositories (issue1003, David Roundy)

darcs (2.1.0pre2)

 -- Eric Kow [EMAIL PROTECTED]  Sun, 25 Sep 2008 08:10:49 GMT

  * IMPORTANT: Create darcs-2 repositories by default in darcs init (issue806,
David Roundy)

  * User Experience: Do not allow users to add files to a darcs repository if
their filenames would be considered invalid under Windows. This can be
overridden

[Haskell-cafe] ANNOUNCE: darcs 2.1.0 (corrected!)

2008-10-09 Thread Eric Kow
This is a correction to my previous announcement.  I had misgrepped the
ChangeLog.  There are only 20 bug fixes and 7 new features since 2.0.2.

Sorry!

==


Hi all,

I am delighted to announce the release of darcs 2.1.0, available at

  http://darcs.net/darcs-2.1.0.tar.gz

What has changed?
-
This version provides over 20 bug fixes and 7 new features since
darcs 2.0.2.  The most notable changes are:

 * Defaulting to darcs-2.  The darcs initialize command now creates
   darcs-2 format repositories by default.  This change will make the
   the improved conflict handling and merging semantics from darcs 2
   available to more users.  Note that no action is required on your
   part.  Darcs will continue working with all pre-existing
   repositories.  You can explicitly request an old-fashioned repository
   if needed.

 * Better HTTP support.  Dmitry Kurochkin has refined our HTTP support
   and fixed several http-related bugs from darcs 2.0.2.  There is also
   an experimental --http-pipelining feature you can enable on the
   command line (or in your defaults file) for faster downloading.
   Note: --http-pipelining is enabled by default for libwww, and also
   for libcurl 7.19.1 (not yet released at the time of this writing)

 * Repository correctness.  David Roundy has resolved a longstanding
   'pending patch' regression (originally reported on 2008-02).
   Needless to say the offending case has been moved to our regression
   testing suite

See the attached ChangeLog for more details.

What should I do?
-
Upgrade! Binary versions should be available shortly, either from your
favourite package distributor or by third party contributors.

Other than installing the new darcs, no action is required on your part
to perform this upgrade.  Darcs 2, including this particular version, is
100% compatible with your pre-existing repositories.

If you have not done so already, you should consider using the hashed
repository format in place of your current old-fashioned repositories.
This format offers greater protection against accidental corruption,
better support for case insensitive file systems.  It also provides
some very nice performance features, including lazy fetching of patches
and a global cache (both optional).

If darcs 1 compatibility is not a concern, you could also upgrade your
repositories all the way to the darcs 2 format.  In addition to the
robustness and performance features above, this gives you the improved
merging semantics and conflicts handling that give darcs 2 its name.

More details about upgrading to darcs 2 here:
  http://wiki.darcs.net/index.html/DarcsTwo

What comes next?

We will now be shifting to a time based release model, with the next
darcs release planned for January 2009.

For the next release of darcs, we will be focusing on optimising darcs's
day to day performance issues.  We want darcs to fetch repositories as
fast as it possibly can over a network, and we especially want to
rehabilitate known slow commands like darcs annotate.  We believe that a
few simple and practical changes can really improve the darcs experience
for most users.

Think you can help?  We would love to hear from you.  In fact, the first
darcs hacking sprint (25-26 October) is fast approaching!  We have three
venues available: Brighton, Paris and Portland and everybody is invited
to come hack.  See http://wiki.darcs.net/index.html/Sprints for details.

Thanks everybody, and enjoy!

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] announcing darcs 2.1.0pre3

2008-10-02 Thread Eric Kow
Hi everybody,
 
The third pre-release of darcs 2.1 is now available at
http://darcs.net/darcs-2.1.0pre3.tar.gz

Since the last pre-release, we have resolved two of the items on our
work list and a recently discovered darcs 2 bug.

On the other hand, we have discovered a new regression from darcs 2.0.2
and some performance issues in our recent work for issue971.  We are
confident that we can resolve these within the upcoming week, but since
regressions are involved, I think it might be prudent to delay the
release so that we at least have one week to test these changes.  At the
very latest, darcs 2.1 should be released on 17 October, but I hope we
will be able to get it out soon after the tenth.

We are now very close to the finish line.  More news in a week!

Upcoming release schedule
-
2008-10-10: darcs 2.1.0pre4 
2008-10-17: darcs 2.1.0

Work remaining
--
* Backing out http://bugs.darcs.net/issue971 (Petr Ročkai)
  We have observed a performance regression in the newer, more robust
  version of the darcs repair code and will be postponing this feature
  for next release.  The work for this week consists of undoing the
  relevant changes and auditing the undo.
  
* http://bugs.darcs.net/issue1095
  Darcs sometimes crashes in darcs send.  It is clear to us why the
  crash happens and how to fix it.  The work for this week consists
  of creating a minimal test case for our regression testing suite
  and implementing the relevant changes.

* http://bugs.darcs.net/issue1026
  Improve the error messages for 'bug in get_extra' errors, which can
  happen if darcs is fooled into thinking that two patches are the same.

Changes since the last pre-release
--
* Bug Fix: Eliminate an error merging repeated conflicts in darcs-2
  repositories (issue1043, David Roundy)

* New Feature: Hide 'Ignore-this:' lines which will be generated by future
  versions of darcs to prevent patch-id collisions. (issue1102, Eric Kow,
  David Roundy)

* Bug Fix: Support darcs repositories which have symbolic links in their
  paths (issue1078, Dmitry Kurochkin)

* Bug Fix: Make ssh connection sharing (darcs transfer-mode) work with
  old-fashioned repositories (issue1003, David Roundy)

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpuBe50V7jSe.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] announcing darcs 2.1.0pre2

2008-09-25 Thread Eric Kow
Hi everybody,

The second pre-release of darcs 2.1 (formerly known as 2.0.3) is now
available at http://darcs.net/darcs-2.1.0pre2.tar.gz

We have increased the version number since the last pre-release because
we are adopting an important new behaviour:

  The darcs initialize command now creates darcs-2 format
  repositories by default

This will help new repositories to benefit from the improved handling of
duplicate patches and to avoid the exponential time conflicts problem.

Upcoming release schedule
-
2008-10-03: darcs 2.1.0pre3
2008-10-10: darcs 2.1.0

Work remaining
--
* http://bugs.darcs.net/issue971 (Petr Ročkai)
  When using hashed or repositories, allow darcs check to deal with filenames
  that differ only in case when run on a case-insensitive filesystem.  Petr
  has done 90% of the work for this -- he has implemented this for darcs
  repair -- so this shall largely be a question of refactoring.

* http://bugs.darcs.net/issue1003
  Allow darcs-transfer mode to deal with a specific set of missing files
  (namely _darcs/format) so that users can benefit from ssh connection
  sharing even if the remote end uses an old-fashioned repository.  In
  the meantime, a simple workaround is to touch the _darcs/format file in
  the remote repoistory
  
* http://bugs.darcs.net/issue1078
  Fix a corner case in paths handling that makes darcs overly
  cautious if the repository is a symbolic link

* http://bugs.darcs.net/issue1026
  Improve the error messages for 'bug in get_extra' errors, which can
  happen if darcs is fooled into thinking that two patches are the same.

Changes since the last pre-release
--
* User Experience: Do not allow users to add files to a darcs repository if
  their filenames would be considered invalid under Windows. This can be
  overridden with the --reserved-ok flag (issue53, Eric Kow)

* Bug Fix: Do not leave behind a half-gotten directory if darcs get fails
  (issue1041, Vlad Dogaru, David Roundy)

* User Experience: notice when you are trying to pull from a seemingly
  unrelated repository, that is one with a sufficiently different history.
  This can be overridden with the --allow-unrelated-repos flag (Dmitry
  Kurochkin, David Roundy)

* Bug Fix: Fix hang after a user input error (for example, EOF) (Judah
  Jacobson)

* Quality Assurance: Improvements to documentation and online help (Simon
  Michael)

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


pgpUwYX1m4b3t.pgp
Description: PGP signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] announcing darcs 2.0.3pre1

2008-09-18 Thread Eric Kow
Hi everybody,

I am very pleased to announce the first pre-release of darcs 2.0.3,
available at http://www.darcs.net/darcs-2.0.3pre1.tar.gz

This pre-release includes a few major bug fixes and a handful of
interesting features.  I expect darcs 2.0.3 to be more reliable than its
predecessors.  We have better HTTP support, safer handling of the
pending patch and a more solid implementation of common flags (for
example, darcs get --to-match or darcs diff --patch).  For more details,
see the attached list.

So what are we working on to get darcs 2.0.3 out the door?  Aside from
the usual testing, I hope that we can round out our improved reliability
with a few small user interface enhancements, mostly to help users avoid
some common pitfalls of real world version control:

 - issue53:   detection of Windows reserved device names
 - issue971:  hashed darcs check
 - issue1003: more tolerant darcs-transfer mode
 - issue1039: detection of seemingly unrelated repositories
 (see http://bugs.darcs.net for details)

In the meantime, please give darcs 2.0.3pre1 a try and let us know
how things go!

Thanks,

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9
  * New Feature: Optional readline-like functionality when compiled with the
haskeline package (Gaetan Lehmann)

  * Bug Fix: No more spurious pending patches (issue709, issue1012, David
Roundy)

  * Bug Fix: darcs get --to-match now works with hashed repositories
(issue885, David Roundy)

  * User Experience: Catch mistakes in _darcs/prefs/defaults (issue691, Dmitry
Kurochkin)

  * User Experience: Improved support for darcs send over http (see also
tools/upload.cgi) (Dmitry Kurochkin, David Roundy)

  * Bug Fix: Recognize [EMAIL PROTECTED]: as an ssh path, that is, not
requiring a path after the server component. (David Roundy)

  * New Feature: Accept an optional directory argument in darcs send
--output-auto-name (Dmitry Kurochkin)

  * User Experience: New --no-cache option to help debug network issues
(issue1054, Dmitry Kurochkin)

  * Performance: New --http-pipelining and --no-http-pipelining flags. Passing
--http-pipelining to darcs can make darcs get and pull faster over HTTP.
Due to a libcurl bug, this is not the default option unless darcs is
compiled with libcurl 7.19.1, due 2008-11. (Dmitry Kurochkin)

  * Bug Fix: Eliminate hanging and crashes while fetching files over HTTP
(issue920, issue977, issue996, issue1037, Dmitry Kurochkin)

  * Security: Fix some insecure uses of printfs in darcs.cgi (Steve Cotton)

  * Bug Fix: Handle filepaths in a simpler and more robust fashion. This fixes
relative filepaths and recognition of symbolic links and avoids possible
future bugs (issue950, issue1057, David Roundy, Dmitry Kurochkin)

  * Bug Fix: Make darcs diff --patch work even if the patch is within a tag
(issue966, darcs 2 regression, Dmitry Kurochkin)

  * Quality Assurance: Extend use of Haskell's GADTs to most of the darcs
code, fixing many potential bugs along the way (Jason Dagit, David Roundy)

  * Quality Assurance: Several improvements to darcs code quality (Petr
Ročkai)

  * Bug Fix: Correct assumptions made by darcs about Windows file size types
(issue1015, Simon Marlow, Ganesh Sittampalam)

  * Bug Fix: Support case insensitive file systems using hashed repositories
in darcs repair (partial issue971, Petr Ročkai)

  * Quality Assurance: Simplify building darcs on Windows by optionally using
the zlib and terminfo Haskell packages (Ganesh Sittampalam, Petr Ročkai)

  * User Experience: Better error reporting when patches that should commute
fail to do so. (Jason Dagit)

  * New Feature: --match touch filenames, for example --match 'touch
foo|bar|splotz.*(c|h)' (issue115, Dmitry Kurochkin)

  * User Experience: Improve debugging and error messages in HTTP code (Dmitry
Kurochkin, David Roundy)

  * Bug Fix: Ensure that darcs responds to Ctrl-C on Window, even if compiled
with GHC  6.10 (issue1016, Simon Marlow)

  * New Feature: darcs changes --context now also works with --human-readable
and --xml-output (issue995, Dmitry Kurochkin)

  * Bug Fix: Always darcs send with context, as if --unified flag were used
(was implemented in 2.0.2, but not consistently) (David Roundy)

  * Bug Fix: Make sure that darcs get --tag works even when the user hits
Ctrl-C to get a lazy repository (Dmitry Kurochkin)

  * Quality Assurance: Improvements to documentation and online help, most
crucially, user-focused help on upgrading to darcs 2. (Trent Buck, Lele
Gaifax, Simon Michael, Max Battcher)

  * New Feature: darcs changes --number associates each patch with number,
counting backwards (see the --index feature) (David Roundy)

  * New Feature: ability to match patches on index, for example, darcs changes
--index=3-6 shows the last three to six patches (David Roundy)

  * User Experience: slightly reduce the verbosity

[Haskell-cafe] Re: darcs hacking sprint, venues confirmed! (25-26 October)

2008-09-12 Thread Eric Kow
On Sat, Sep 06, 2008 at 08:12:04 +0100, Eric Y. Kow wrote:
 Earlier I wrote an announcement for the darcs hacking sprint on 25-26
 October.  Tonight, I am delighted to announce that we have two venues
 confirmed for the sprint and one serious offer.

Just to add to that: the Paris venue is now confirmed as well!

  * CONFIRMED: Brighton, UK (University of Brighton)
  * CONFIRMED: Portland, USA(Galois Connections)
  * CONFIRMED: Paris,France (Université Paris Diderot)

This is for the weekend of 25-26 October.

http://wiki.darcs.net/index.html/Sprints

Thanks!

P.S. If you wish to participate at the Paris venue, please
 notify Nicolas Pouillard at least one week in advance.

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9


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


[Haskell-cafe] darcs weekly news #1

2008-08-27 Thread Eric Kow
Hi everybody,

I thought it would be useful if we got back into the habit up
summarising our weekly darcs activities.  This is the first
entry of what I hope to be Darcs Weekly News.

Note that I have also Bcc'ed the Haskell Cafe; which I
will not be doing everytime, but just this once :-)

News and discussions

hacking sprint (25/26 October)
  We are now planning three sites for the upcoming darcs hacking sprint:
  Brighton (moved from Cambridge), Paris and Portland.  More news as we
  finalise the venues in the next two weeks!

performance benchmarking
  Eric is working on integrating performance regression testing into the
  darcs buildbot.  The progress is slow but steady!

darcs 2 real world comparison
  Jason analyses a comparison of darcs push between 1.0.9 and 2.0.2.
  
http://blog.codersbase.com/2008/08/21/darcs-2-real-world-push-performance-evaluation/

darcs weekly news
  Most of darcs weekly news is automated, but we still need human
  editors! To help out,
  darcs get http://code.haskell.org/darcs/darcs-news

Issues resolved in the last two weeks (5)
-
* issue115 (Dmitry Kurochkin)
  match patches touching given files.
  http://bugs.darcs.net/issue115

* issue823 (Dmitry Kurochkin)
  do not exit on keyboard interrupt when getting patches.
  http://bugs.darcs.net/issue823

* issue936 (Dmitry Kurochkin)
  fix type witnesses configure check.
  http://bugs.darcs.net/issue936

* issue950 (David Roundy)
  fix fix_filepath to work with --repodir (and add test demonstrating this).
  http://bugs.darcs.net/issue950

* issue995 (Dmitry Kurochkin)
  changes --context : {--human-readable,--xml-output} have no effect.
  http://bugs.darcs.net/issue995

Patches applied in the last two weeks (69)
--
2008-08-25 Jason Dagit
 minor refator to get_extra improve comments

2008-08-25 Eric Kow
 Same ChangeLog entries since 2.0.2
 Some more globally ignored changes.

2008-08-24 David Roundy
 Simplify filepath handling, cutting lots of hardly-used code.
 don't bother computing path when checking prereqs (since we now can
handle looking at beginning/ending working directories).
 resolve issue950: fix fix_filepath to work with --repodir (and add
test demonstrating this).
 eliminate fix_flag.
 add new framework for ensuring that certain arguments are converted
to absolute paths.
 make Darcs.Lock functions accept FilePathLike arguments.
 refactor maybeMkSubPath very slightly.
 refactor repoPath very slightly.
 make makeAbsolute behavior match comment.

2008-08-22 Dmitry Kurochkin
 Fix makeAbsolute to work with '../foo' paths.

2008-08-22 David Roundy
 move withCurrentDirectory, withTempDir and withPermDir
 rewrite mkAbsolutePath to be safe.

2008-08-22 Eric Kow
 Changelog (ignore 'Add a test entries')

2008-08-22 David Roundy
 resolve conflicts.

2008-08-19 Dmitry Kurochkin
 Resolve issue936: fix type witnesses configure check.
 Use forkIO in URL module as suggested by Simon Marlow.
 Remove HTTP.copyUrl, integrate it to URL module.
 More URL module refactoring.

2008-08-22 Eric Kow
 Canonize Nathaniel Filardo and Simon Marlow.
 Add test case for issue966 (from Dan Pascu's bug report)

2008-08-21 David Roundy
 remove trailing whitespace.

2008-08-21 Dmitry Kurochkin
 Documentation for match touch primitive.
 Resolve issue115: match patches touching given files.

2008-08-22 Eric Kow
 Remove unused FileSystem module.

2008-08-20 David Roundy
 fix type witnesses in with_selected_patch_from_repo.
 clean up bugs functions (eliminate darcsBug.h).

2008-08-19 Jason Dagit
 Fix a bug with incorrectly specified with_selecte_patch_from_repository.

2008-08-19 Dmitry Kurochkin
 Remove HTTP.exists, use Autoconf.have_HTTP instead.

2008-08-19 David Roundy
 fix improper use of bug in HTTP.

2008-08-19 Dmitry Kurochkin
 Do not import HTTP module in Darcs.Bug, use bug and debugFail for
error reporting in HTTP module.

2008-08-19 David Roundy
 fix incompatibility with ghc 6.6.
 make scan_bundle create a lazy patch bundle.
 resolve conflicts with Darcs.Ordered change.

2008-08-15 Jason Dagit
 replace separate_middle_last_from_first and
separate_last_from_first_middle with get_choices
 correct a bug in with_selected_patches_from_repository
 refine type witnesses in SelectChanges
 make WhatsNew work with type witnesses
 major refactor of SelectChanges to work with type witnesses

2008-08-16 [EMAIL PROTECTED]
 Move Darcs.Patch.Ordered to Darcs.Ordered since it isn't patchy

2008-08-19 Simon Marlow
 Fix use of threadWaitRead on Windows
 Fix Windows build

2008-08-17 Dmitry Kurochkin
 URL module refactoring.
 Do not compile curl support if libwww is enabled.
 URL.hs: always import debugFail, again.
 URL.hs: call debugFail when download fails.
 URL.hs: debug messages.
 Spacing in Darcs/Commands/Changes.lhs
 Rename catchInt to catchInterrupt, better message when get is interrupted.
 Resolve issue995: changes --context : {--human-readable,--xml-output

[Haskell-cafe] poll: how can we help you contribute to darcs?

2008-08-01 Thread Eric Kow
Dear Haskellers,

I would like to take an informal poll for the purposes of darcs
recruitment.  Could you please complete this sentence for me?

   I would contribute to darcs if only...

The answers I am most interested in hearing go beyond ... I had more
time.  For instance, if you are contributing to other Haskell/volunteer
projects, why are you contributing more to them, rather than darcs?







The context:

Lately, darcs has suffered a setback: the GHC team has decided that it
is now time to switch to a different system, like git or Mercurial.
This is probably a good thing for GHC and for us.  By the way, good
luck to them, and thanks for everything! (better GHC == better darcs)

But where is darcs going?  For now, we are going to have to focus on
what we do best, providing precision merging and a consistent user
interface for small-to-medium sized projects.  I want more, though!  I
want to see darcs 2.1 come out next year, performance enhanced out the
wazoo, and running great on Windows.  And I want to see Future Darcs,
the universal revision control system, seamlessly integrating with
everybody else.

We need to learn to do better so that darcs can achieve this kind of
wild success.  For example, whereas darcs suffers from the day job
problem, xmonad has had to turn developers away!

As Don mentions, this is partly thanks to their extreme accessibility
(better self-documentation).  But does anyone have more specific ideas
about things we need to change so that you can contribute to darcs?
How do we hit critical hacker mass?

I have jotted down some other thoughts here regarding recruitment here:
  http://wiki.darcs.net/index.html/Recruitment

In the meantime, if you have been discouraged from hacking on darcs,
we want to know why, and how we can change things!

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


Re: [wxhaskell-users] [Haskell-cafe] ANNOUNCE: wxHaskell 0.10.3 rc1

2008-03-20 Thread Eric Kow
On 20/03/2008, Don Stewart [EMAIL PROTECTED] wrote:
 I created a summer of code ticket for generic wxHaskell work,

 http://hackage.haskell.org/trac/summer-of-code/ticket/1550

  Perhaps the wxhaskell team would like to fill this out, and perhaps
  approach the wxWidgets SoC organisation, to see if work on wxHaskell
  could be funded under their umbrella?

Thanks, Don!  I have updated the ticket with some ideas from the
mailing list discussions on the matter.

Anybody else from the team have something to add?

Users?  Potential users?

By the way, we do have a potential mentor lined up, this being Kido
Takahiro (shelarcy)

-- 
Eric Kow http://www.nltg.brighton.ac.uk/home/Eric.Kow
PGP Key ID: 08AC04F9
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Re: Avoiding boilerplate retrieving GetOpt

2007-07-27 Thread Eric Kow
 For starters, you could squish these down into something like

  flagToString :: Flag - Maybe String
  flagToString (Filter s) = Just s
  flagToString (DateFormat s) = Just s
  ...
  flagToString _ = Nothing

What am I saying?! This wouldn't work!  Sorry for the noise.

-- 
Eric Kow http://www.loria.fr/~kow
PGP Key ID: 08AC04F9 Merci de corriger mon français.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: Re[2]: [Haskell-cafe] i need wxHaskell compiled for ghc 6.6.1 on Windows

2007-07-22 Thread Eric Kow

 Please try the darcs version
   darcs get http://darcs.haskell.org/wxhaskell

thanks. should i follow building instructions from homepage/ directory
or there are another one?


I don't remember if this is documented anywhere, sadly:

It's

./configure
make
make install
make wx
make wx-install

--
Eric Kow http://www.loria.fr/~kow
PGP Key ID: 08AC04F9 Merci de corriger mon français.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Literate Haskell source files. How do I

2007-01-15 Thread Eric Kow

Hi,


On 30/12/06, Michael T. Richter [EMAIL PROTECTED] wrote:



  Are there any tools which I can use to render .lhs files readable?  I'm fine 
with having them converted into documented source (i.e. source code embedded in 
documentation) or as pure Haskell source (but without the huge whitespace gaps) -- 
but I can't figure out how to get either.


The darcs code is a bit different in that the LaTeX comments are
actually the user's manual (for the most part).  The code is normally
hidden when you compile the pdf.  To see the code, you can apply the
attached darcs patch.  (You could also do it by hand; it's just a
couple of changes).

When you run make manual/darcs.ps, you will have a ps file that is
simultaneously the darcs manual, and various bits of darcs code
interspersed and highlighted in blue.

(This is  300 pages of literate darcs, mind you.  Maybe just browsing
it in a text editor is simpler)

--
Eric Kow http://www.loria.fr/~kow
PGP Key ID: 08AC04F9 Merci de corriger mon français.


literate-darcs.dpatch
Description: Binary data
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] implementing a csv reader

2006-08-22 Thread Eric Kow

Now I need to find something else for practice.


How about writing a CiteULike plugin?  For example, what could be
really useful is if somebody wrote one for the French open archive
HAL.  This will give you a nice chance to play maybe with parsing
stuff, or one of the HTML/XML libraries, or maybe even simple regular
expressions.

See:
http://www.citeulike.org/faq/all.adp
http://hal.inria.fr/index.php?langue=en

--
Eric Kow http://www.loria.fr/~kow
PGP Key ID: 08AC04F9 Merci de corriger mon français.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe