Editorial = Just "Lots of news to report after a break due to Hac '07 and POPL.", Announce [ Item "lhs2tex 1.12" "Andres Loeh" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14733 announced] lhs2TeX version 1.12, a preprocessor to generate LaTeX code from literate Haskell sources. [http://www.iai.uni-bonn.de/~loeh/lhs2tex/ lhs2TeX] includes the following features: highly customized output; liberal parser; generate multiple versions of a program or document from a single source; active documents: call Haskell to generate parts of the document (useful for papers on Haskell); a manual explaining all the important aspects of lhs2TeX.", Item "hscom" "Krasimir Angelov" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14743 announced] the [http://darcs.haskell.org/packages/hscom/ hscom library]. This is a FFI library for Microsoft COM. It is far from complete and it doesn't have automatic IDL to Haskell translator but if you have ever thought to start writing you own COM library for Haskell then please take a look. It is designed to be as close as possible to the standard FFI library for C.", Item "DeepArrow 0.0: Arrows for 'deep application'" "Conal Elliott" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14753 announced] the birth of [http://haskell.org/haskellwiki/DeepArrow DeepArrow], a Haskell library for composable 'editors' of pure values. DeepArrow enables 'deep function application' in two senses: deep application of functions and application of deep functions. These tools generalize beyond values and functions, via the DeepArrow subclass of the Arrow type class.", Item "Phooey 0.1: functional user interface library" "Conal Elliott" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14754 announced] version 0.1 of [http://haskell.org/haskellwiki/phooey Phooey], an arrow-based functional user interface library. New in version 0.1: documentation, text input, boolean input/output, mtl. Phooey is now used in [http://haskell.org/haskellwiki/TV TV].", Item "TV 0.0: Tangible Values" "Conal Elliott" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14755 announced] TV, a library for composing tangible values (TVs): values that carry along external interfaces. In particular, TVs can be composed to create new TVs, and they can be directly executed with a friendly GUI, a process that reads and writes character streams, or many other kinds interfaces. Values and interfaces are combined for direct use, and separable for composability. [http://haskell.org/haskellwiki/TV See the project page].", Item "polyparse 1.00" "Malcolm Wallace" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14777 announced] the release of [http://www.cs.york.ac.uk/fp/polyparse PolyParse], a collection of parser combinator libraries in Haskell. They were all previously distributed as part of HaXml, but are now split out to make them more widely available.", Item "Data.Binary: binary serialisation" "The Binary Strike Force" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14800 announced] the release of [http://www.cse.unsw.edu.au/~dons/binary/Data-Binary.html Binary], a high performance, pure binary serialisation library for Haskell. It is available from [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/binary/0.2 Hackage] and [http://darcs.haskell.org/binary darcs]. The 'binary' package provides efficient serialisation of Haskell values to and from lazy ByteStrings. ByteStrings constructed this way may then be written to disk, written to the network, or further processed (e.g. stored in memory directly, or compressed in memory with zlib or bzlib).", Item "DrIFT 2.2.1: support for Data.Binary" "John Meacham" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14802 announced] that [http://repetae.net/~john/computer/haskell/DrIFT/ DrIFT 2.2.1] is out and now has support for the Data.Binary module.", Item "A History of Haskell" "Simon Peyton-Jones" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14793 mentioned] that the paper 'A History of Haskell: being lazy with class', authored by Paul Hudak, John Hughes, Phil Wadler and Simon, is finally done. [http://research.microsoft.com/~simonpj/papers/history-of-haskell/index.htm You can get a copy now!]", Item "piggybackGHC 0.1" "Martin Grabmueller" "[http://article.gmane.org/gmane.comp.lang.haskell.cafe/18461 announced] the release 0.1 of [http://uebb.cs.tu-berlin.de/~magr/projects/piggybackGHC/doc/ piggybackGHC], a small utility package for using GHC for lexing and parsing Haskell source code. The library uses the GHC library for all the hard stuff, so all supported GHC extensions are available.", Item "regex-tdfa 0.20" "Chris Kuklewicz" "[http://article.gmane.org/gmane.comp.lang.haskell.cafe/18553 announced] regex-tdfa, a 'tagged' DFA regular expression backend in pure Haskell, along with a suite of updates to the existing regex packages.", Item "hpaste.org" "Eric Mertens" "[http://article.gmane.org/gmane.comp.lang.haskell.cafe/18565 announced] 'hpaste', the [http://hpaste.org Haskell Pastebin]. Developed over a few days by many of the members of the Haskell irc channel, it provies a reliable paste bot with Haskell-specific capabilities." ], HaskellPrime [ Link "http://thread.gmane.org/gmane.comp.lang.haskell.general/14766" "Views in Haskell", Link "http://thread.gmane.org/gmane.comp.lang.haskell.prime/1992" "Pattern guards", Link "http://thread.gmane.org/gmane.comp.lang.haskell.prime/2002/focus=2026" "Help from the community", Link "http://thread.gmane.org/gmane.comp.lang.haskell.prime/2002" "Polymorphic Components" ], Libraries [ Link "http://article.gmane.org/gmane.comp.lang.haskell.libraries/6108" "Splitting up the crypto package", Link "http://article.gmane.org/gmane.comp.lang.haskell.libraries/6108" "Cofunctors", Link "http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6144" "System.Timeout module for base", Link "http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6152" "Unsafe aspects of ByteString", Link "http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6172" "Add Data.String containing IsString(fromString) to base", Link "http://thread.gmane.org/gmane.comp.lang.haskell.libraries/6174" "Make StateT in mtl lazy" ], Conferences Nothing [ ], Discussion [ Item "Beautiful concurrency" "Simon Peyton-Jones" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14739 announced] that the revised draft of 'Beautiful concurrency' is now [http://haskell.org/haskellwiki/Talk:SantaClausProblemV2 online], and feedback is welcome.", Item "Even higher-order abstract syntax: typeclasses vs GADT" "Oleg Kiselyov" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14764 demonstrated] a typeclass implementation of the canonical use case for GADTs: a higher-order abstract-syntax-based embedding of a language in Haskell, with implement static and dynamic semantics of the language. The interpreter of the language is tagless and statically assured: only well-typed terms may be evaluated, and the evaluation of those does not get stuck.", Item "JHC call for volunteers" "John Meacham" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14798 mentioned] that Jhc has recently gotten a ghc back end, making it much closer to mainstream use as an optimizing 'front end' to ghc. In addition to some of jhc's crazy optimizations, it implements several extensions to the language which will likely prove interesting to play with to some. John would like to welcome any volunteers who would like to help develop the ghc back end while I work on improving the grin back end and optimizations in general, to make JHC a viable alternative compiler for Haskell.", Item "State monad strictness" "Yitzchak Gale" "[http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18276 pondered] strictness in State monads.", Item "Using PAPI to measure performance with CPU events" "Alexey Yakushev" "[http://article.gmane.org/gmane.comp.lang.haskell.cafe/18315 described] how to use the new PAPI library together with GHC to gather performance information from your CPU (cache misses, branch misprediction). At present only cache miss information is supported in a platform independent way (though not tested). Also, this implementation separates the performance information for the garbage collector and the mutator so it is quite useful if you are implementing an optimisation.", Item "Simple proof-carrying code in Haskell 98" "Oleg Kiselyov" "[http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18375 demonstrated] a datatype `Terminates' that can hold only an assuredly terminating (strongly normalizable) term in untyped lambda-calculus. Furthermore, the values of the datatype `Terminates' contain all and only those untyped lambda-calculus terms with that property. To create the value `Terminates', the user submits the term in question and the proof of its termination. The proof will be verified -- and if it holds, the Terminates certificate will be created.", Item "Article review: Category Theory" "David House" "[http://en.wikibooks.org/wiki/Haskell/Category_theory mentioned] that he's written a chapter for the Wikibook that attempts to teach some basic Category Theory in a Haskell hacker-friendly fashion.", Item "IO is not a monad" "Yitzchak Gale" "[http://thread.gmane.org/gmane.comp.lang.haskell.cafe/18569 sparked] a long thread on issues of parametricity and polymorphic seq in the IO monad", Item "Monad laws for fail" "Ulf Norrel" "[http://article.gmane.org/gmane.comp.lang.haskell.libraries/6162 wondered] about what properties 'fail' should satisify" ], Jobs [ Item "Postdoctoral Research Fellow at St Andrews" "Kevin Hammond" "[http://article.gmane.org/gmane.comp.lang.haskell.general/14744 announced] a vacancy for a postdoctoral research fellow, working with the Hume language developed jointly with [http://www.hume-lang.org Heriot-Watt University]. Knowledge of Haskell and other functional programming technologies is a distinct advantage." ], Blogs [ Link "http://neilbartlett.name/blog/?p=11" "Haskell: Too Hard, or Just Hard Enough?", Link "http://blogs.nubgames.com/code/?p=17" "One Month with Haskell", Link "http://satta.org/2007/01/08/foldr-and-foldl-in-javascript/" "foldr and foldl in JavaScript", Link "http://corfield.org/blog/index.cfm/do/blog.entry/entry/Haskell_Revisited" "Haskell Revisited", Link "http://www.stonecode.org/blog/?p=101" "Haskell, first impressions (with sexy results)", Link "http://www.serpentine.com/blog/2007/01/09/haskell-bootstrapping-into-a-clue-about-monads/" "Haskell: bootstrapping into a clue about monads", Link "http://cale.yi.org/index.php/How_To_Use_Monad_Transformers" "How To Use Monad Transformers", Link "http://edwinb.wordpress.com/2007/01/15/error-handling-in-haskell/" "Error handling in Haskell", Link "http://e-scribe.com/news/328" "Learning Haskell inch by inch", Link "http://scienceblogs.com/goodmath/2007/01/haskell_the_basics_of_type_cla_1.php" "Haskell: the Basics of Type Classes", Link "http://journal.dedasys.com/articles/2007/01/17/clockwork-languages" "Clockwork languages", Link "http://braindump.dk/tech/2007/01/19/fun-with-haskell/" "Fun with Haskell", Link "http://josefsblog.blogspot.com/2007/01/programming-productivity-and.html" "Programming Productivity and Programming Languages", Link "http://www.acooke.org/andrew/writing/folds.html" "Second order folds", Link "http://daniel-yokomizo.livejournal.com/6949.html" "Happy Haskell hacking", Link "http://sequence.complete.org/node/258" "Simple STM TCP server", Link "http://nointernalmonologue.blogspot.com/2007/01/languages-and-paradigms-and-cores-oh-my.html" "Languages and paradigms and cores, oh my!", Link "http://japple.blogspot.com/2007/01/bug-reporting.html" "Bug Reporting", Link "http://www.randomhacks.net/articles/2007/01/22/high-performance-haskell" "High performance Haskell", Link "http://radar.oreilly.com/archives/2007/01/threads_conside.html" "Threads", Link "http://emresahin.net/2007/01/21/literate-programming-in-haskell/" "Literate Haskell", Link "http://www.cpu.uttaruk.com/2007/01/25/the-end-of-free-lunch-cpu-performance-and-other-papers/" "The end of free lunch CPU performance and other papers", Link "http://sigfpe.blogspot.com/2007/01/monads-hidden-behind-every-zipper.html" "The monad behind every zipper", Link "http://jaortega.wordpress.com/2007/01/29/the-functional-c-programmer/" "The functional C programmer", Link "http://floatingpoint.tinou.com/2007/01/strictly_for_la.html" "Strictly for Lazy Programmers", Link "http://blog.interlinked.org/tutorials/haskell_introduction.html" "Haskell introduction for beginners", Link "http://blog.interlinked.org/tutorials/haskell_2.html" "Haskell Basics", Link "http://blog.interlinked.org/tutorials/haskell_laziness.html" "Haskell laziness", Link "http://scienceblogs.com/goodmath/2007/01/haskell_a_first_step_into_mona_1.php" "A First Step Into Monads", Link "http://scienceblogs.com/goodmath/2007/01/more_monads_stateful_programmi_1.php" "More Monads: Stateful Programming", Link "http://kawagner.blogspot.com/2007/01/real-functional-programming-or-why-io.html" "Why the IO monad?", Link "http://rubynations.blogspot.com/2007/01/haskell-epiphanette.html" "Haskell epiphanette", Link "http://www.neilmix.com/2007/01/25/more-about-language-productivty-corbatos-law/" "More About Language Productivty: Corbato's Law", Link "http://mult.ifario.us/articles/2007/01/25/laziness-and-fizzbuzz-in-haskell" "Laziness and fizzbuzz in Haskell", Link "http://garybernhardt.blogspot.com/2007/01/c-30-looks-promising.html" "C# looks scary", Link "http://poundbang.in/2007/01/22/post-barcamp-thoughts-comments/" "Random thoughts" ], Quotes [ Quote "ndm" "[dons] How do we serialise an Int portably? [ndm] Just use the first 29 bits", Quote "C.M.Brown" "I told them they could all finish the class in 5 minutes if they used Haskell... The look of horror on the student's faces when I mentioned the 'H' word was priceless. However, they were all prepared to spend 50 minutes writing a Java program which would have the same effect.", Quote "dons" "dons law: if you have a bug, you are missing a QC property", Quote "BjarneStroustrup" "Within C++, there is a much smaller and cleaner language struggling to get out.", Quote "ClaudiusMaximus" "Compiling with -O2 reduced the time taken by my program's execution from 28 mins to 17 seconds.", Quote "dons" "Think of a monad as a spacesuite full of nuclear waste in the ocean next to a container of apples. now, you can't put oranges in the space suite or the nucelar waste falls in the ocean, *but* the apples are carried around anyway, and you just take what you need.", Quote "Runar Jordahl" "Haskell has quite the following among the alpha geeks", Quote "bakert" "I know all my programs can be reduced to only one tenth the size if only I can learn all these crazy functions", Quote "glguy" "[on hpaste.org] you can have your code syntax colored however you like, as long as that color is 'haskell'", Quote "huschi" "Programing in haskell seems a bit frustrating. i'm missing searching for errors :(", Quote "dons" "I had a dream about how to write instance Binary Integer last night", Quote "bd" "If a graph is reduced in a forest, and no one is around to pattern match the resulting WHNF, does it cause a space leak?", Quote "bos" "[dons] and stricify, specialise and inline as appropriate till the raw bytestring Addr# start appearing [bos] um, is that next to the dilithium crystals?", Quote "kolmodin" "It's nice to have static types after a bottle of wine", Quote "nmessenger" "Brain explosion is like a traditional pasttime in #haskell" ], Commits [ Commit "Thu Jan 11 05:13:59 PST 2007" "Pepe Iborra" "[http://article.gmane.org/gmane.comp.lang.haskell.cvs.ghc/18817 Added the new :breakpoint continue option]. Previously, when in a breakpoint, :quit was used to continue execution. This is not the right thing to do, so this patch restores :quit to its original meaning whether or not ghci is in an inferior session. The continue behavior is now provided by ':breakpoint continue'. I added a synonim command in :continue because it is much shorter, but this is optional" ] -- vim: paste