[Haskell-cafe] Cloud Haskell Appetiser: a taste of distributed programming in Haskell
, `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
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
-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
, 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
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
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
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
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
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
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?
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. :)
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)
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)
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
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
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?
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
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.
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
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
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
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)
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?
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?
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?
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?
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!
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
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!
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)
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
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
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
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
- 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)
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)
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)
-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)
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)
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)
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
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
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
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!
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!
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
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!
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
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
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
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.
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
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
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
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
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
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
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
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!
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
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!)
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
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
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
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)
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
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?
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
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
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
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
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
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