Haskell Weekly News: Issue 101 - January 19, 2009

--------------------------------------------------------------------------- Haskell Weekly News http://sequence.complete.org/hwn/20090119 Issue 101 - January 19, 2009 --------------------------------------------------------------------------- Welcome to issue 101 of HWN, a newsletter covering developments in the [1]Haskell community. Gee whiz, people, stop being so darn productive or you're going to burn me out. Seriously. Announcements curl-1.3.4. Sigbjorn Finne [2]announced that a new version of [3]curl, a complete Haskell binding to the libcurl API, is now available and have been uploaded to Hackage. The most notable change is the overloading of representation of response buffers (and headers), allowing for the use of ByteStrings. Turbinado V0.4. Alson Kemp [4]announced the release of version 0.4 of [5]Turbinado, an easy to use Model-View-Controller-ish web framework for Haskell. Highlights for the 0.4 release include a dramatically improved ORM which handles foreign keys, and improved documentation. Hackage about to reach 1000 releases. Don Stewart [6]announced that Hackage is about to reach the 1000 release mark, 2 years after it went live. Some pretty charts [7]can be seen here. leapseconds-announced-2009. Bjorn Buckwalter [8]announced the release of the [9]leapseconds-announced package, which contains a single module and a single function implementing the Data.Time.Clock.TAI.LeapSecondTable interface. zipper-0.1. Andres Loeh [10]announced [11]zipper-0.1, a library offering a generic zipper for systems of recursive datatypes. multirec-0.2. Andres Loeh [12]announced [13]multirec-0.2, a library which provides a mechanism to talk about fixed points of systems of datatypes that may be mutually recursive. On top of these representations, generic functions such as the fold or the Zipper can then be defined. ghci-haskeline 0.1. Judah Jacobson [14]announced the first release of [15]ghci-haskeline. This package uses the GHC API to reimplement ghci with the [16]Haskeline library as a backend. Haskeline is a library for line input in command-line programs, similar to readline or editline, which is written in Haskell and thus (hopefully) more easily integrated into other Haskell programs. The Monad.Reader (13) - Call for copy. Wouter Swierstra [17]announced a Call for Copy for Issue 13 of [18]The Monad.Reader. The submission deadline is February 13, 2009. Please get in touch with Wouter if you intend to submit something. Cabal 2.0. Duncan Coutts [19]announced that he has started a [20]wiki page to collect ideas for Cabal 2. The basic idea for Cabal 2 is to learn lessons from our how the existing design has fared and how we can make a better design to tackle an expanded set of goals. Announcing Haskell protocol-buffers 1.4.0 (the smashing recursive edition). Chris Kuklewicz [21]announced version 1.4.0 (the smashing recursive edition) of [22]protocol-buffers, a Haskell interface to Google's "..language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more." Haskell WikiProject. Robin Green [23]asked: is anyone else interested in forming a Haskell WikiProject on Wikipedia, to collaborate on improving and maintaining the coverage and quality of articles on Haskell-related software and topics (broadly defined)? darcs 2.2.0. Petr Rockai [24]announced the release of darcs 2.2.0, with both a [25]source tarball and a [26]cabalized tarball available. This version features many improvements and bug fixes; see Petr's original announcement for a list. hledger 0.3. Simon Michael [27]announced the release of [28]hledger 0.3, a partial haskell clone of John Wiegley's "ledger" text-based accounting tool. It generates transaction and balance reports from a plain text ledger file, and demonstrates a functional implementation of ledger. language-sh-0.0.3.1. Stephen Hicks [29]announced the [30]language-sh package, a set of modules for parsing, manipulating, and printing sh-style shell scripts. It's being developed alongside shsh, the [31]Simple Haskell Shell. Coadjute 0.0.1, generic build tool. Matti Niemenmaa [32]announced version 0.0.1 of [33]Coadjute, a generic build tool intended as an easier to use and more portable replacement for make. dataenc 0.12. Magnus Therning [34]announced version 0.12 of [35]dataenc, a data encoding library currently providing Uuencode, Base64, Base64Url, Base32, Base32Hex, Base16, Base85, and (new in 0.12) yEncoding. 3 applications of "indexed composition" as a language design principle. Greg Meredith [36]announced that he has found a way to generalize the LogicT transformer, and calculated it's [37]application to three fairly interesting examples. HTTPbis / HTTP-4000.x package available. Sigbjorn Finne [38]announced the availability of a modernization of the venerable and trusted [39]HTTP package. The headline new feature of this version is the parametrization of the representation of payloads in both HTTP requests and responses; two new representations are supported, strict and lazy ByteStrings. monad-interleave 0.1. Patrick Perry [40]announced the [41]monad-interleave package, which provides a type class generalizing his two favorite functions in Haskell, "unsafeInterleaveIO" and "unsafeInterleaveST". hs-dotnet, version 0.3.0. Sigbjorn Finne [42]announced the [43]first public release of [44]hs-dotnet, a pragmatic take on interoperating between Haskell (via GHC) and .NET. HEADS UP: finalizer changes coming in GHC 6.10.2. Simon Marlow [45]announced that, by popular demand, GHC 6.10.2 will support finalizers that are actually guaranteed to run, and run promptly. However, there's a catch. If you want to know what the catch is, read his message. split-0.1.1 (doc bugfix; new functions wordsBy and linesBy). Brent Yorgey [46]announced version 0.1.1 of the [47]split library. This version fixes some Haddock bugs, and adds two new convenience functions suggested by Neil Mitchell, wordsBy and linesBy. json-0.4.1. Sigbjorn Finne [48]announced a new release (0.4.1) of the [49]json package. New in this release is a generic JSON encoder contributed by Lennart Augustsson along with a number of other, smaller changes. haskell-platform mailing list. Duncan Coutts [50]announced that anyone interested in helping out with the haskell platform project is invited to subscribe to the [51]haskell-platform mailing list. This mailing list is for discussing practical stuff; policy questions will be discussed on the libraries mailing list. bytestring-trie 0.1.4. wren ng thornton [52]announced version 0.1.4 of the [53]bytestring-trie package. This release fixes a number of bugs, adds functions such as keys, toListBy, fromList{L,R,S}, and separated Data.Trie (the main module for users) from Data.Trie.Internal (gritty details, and core implementation). HLint 1.2. Neil Mitchell [54]announced [55]HLint version 1.2, a lint-like tool for Haskell that detects and suggests improvements for your code. The biggest new feature is list recursion suggestions. Working with HLint from Emacs. Alex Ott [56]announced an [57]emacs module for integration with [58]HLint. Discussion An Alternative Data.List.Zipper. Jeff Wheeler [59]posted [60]an improved version of Data.List.Zipper, and requested feedback or constructive criticism. Comments from OCaml Hacker Brian Hurt. John Goerzen [61]posted a link to a [62]blog post by Brian Hurt, along with some thoughts about naming things in the standard libraries, spawning the longest ML thread in recent history. Blog noise [63]Haskell news from the [64]blogosphere. * Jeff Heard: [65]The Docuverse.. Cool search query visualization for massive numbers of documents. * Ben Moseley: [66]The Category Theory of Appendages. * Galois, Inc: [67]Galois at POPL. * Colin Ross: [68]Does your IDE define you or support you?. * Alson Kemp: [69]ANNOUNCE: Turbinado V0.4. * Jeff Heard: [70]ProteinVis: Visualizing a large tree in Haskell and OpenGL. * ezekiel smithburg: [71]what to do when you can't solve a problem with a hackage library you need?. * Jeff Heard: [72]Simple Futures in Haskell. * Dan Piponi (sigfpe): [73]Haskell Monoids and their Uses. A nice introductory tutorial on Monoids in Haskell. * Real-World Haskell: [74]John Goerzen on Why You Should Learn Haskell. * LHC Team: [75]LLVM is great.. * Jeff Heard: [76]iBiblio traffic, search engine hits, and cross-traffic. * Luke Palmer: [77]Use MonadRandom!. * LHC Team: [78]Why LLVM probably won't replace C--.. * Magnus Therning: [79]Series of posts on testing Haskell code. * Magnus Therning: [80]Useful thing when adopting test-framework after already using HUnit. * Magnus Therning: [81]dataenc 0.12 posted to HackageDB. * Jeff Heard: [82]The new HTTP library. * Jeff Heard: [83]Beautiful Code, Compelling Evidence. * LHC Team: [84]The case against C/LLVM.. * Manuel M T Chakravarty: [85]Some nice code examples showing how to use type families.. * Manuel M T Chakravarty: [86]Enforcing a relation between independent type families.. * Nick Mudge: [87]Zunes, Year 2038 Problem, Real World Haskell, Why, Potion, Games. * Darcs: [88]darcs 2.2.0 is released!. * GHC / OpenSPARC Project: [89]Info tables. * LHC Team: [90]What is LHC?. * LHC Team: [91]Resources.. * LHC Team: [92]Typeclass Blues. * GHC / OpenSPARC Project: [93]Liveness lies. * Galois, Inc: [94]Real World Haskell: Intel Parallel Programming Podcast. * Real-World Haskell: [95]Intel Parallel Programming Podcast: Real World Haskell. * Brent Yorgey: [96]Abstraction, intuition, and the "monad tutorial fallacy". * Luke Palmer: [97]Ha! I can't even get Events right. * GHC / OpenSPARC Project: [98]Bootstrapping 7. * Colin Ross: [99]Finding a member of an infinite list. * LHC Team: [100]The mess with variable ids.. * Luke Palmer: [101]Ridding ourselves of IO before there is a good replacement. * GHC / OpenSPARC Project: [102]Bootstrapping 7. * Colin Ross: [103]Notes on working with finite sorted lists. * Bryan O'Sullivan: [104]Fun with Haskell view patterns. * Conal Elliott: [105]3D rendering as functional reactive programming. Quotes of the Week * luqui: sigh: mathematicians. can't live with 'em, can't prove 'em wrong. * mauke: YO DAWG I HEARD YOU LIKE METACIRCULARITY SO WE PUT AN INTERPRETER IN YOUR INTERPRETER SO YOU CAN RUN CODE WHILE YOU RUN CODE * lament: tuples are proof that haskell is inherently broken and will never work. * roconnor: [after a long -cafe thread on the suckiness of using math terms in Haskell] we don't use Integer anymore. Too abstract. It is now called CountingThingy. * quicksilver: partially applied type synonym = type lambdas = unrestricted type functions = can of pants * ddarius: In the spirit of that article on monoids, we should drop the term "tree" and replace it with the term "free pointed magma" * ski_: unique among types, 'Void -> X' has its own charm. tourists should definitely pay a visit. * pao: Cale: thanks ... I really think you deserve a statue ... or, at least, a portrait in ascii art on haskell.org :-) * byorgey: TDD replaces a type checker in Ruby in the same way that a strong drink replaces sorrows. About the Haskell Weekly News New editions are posted to [106]the Haskell mailing list as well as to [107]the Haskell Sequence and [108]Planet Haskell. [109]RSS is also available, and headlines appear on [110]haskell.org. To help create new editions of this newsletter, please see the information on [111]how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get [112]http://code.haskell.org/~byorgey/code/hwn/ . References 1. http://haskell.org/ 2. http://article.gmane.org/gmane.comp.lang.haskell.general/16792 3. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/curl 4. http://article.gmane.org/gmane.comp.lang.haskell.general/16788 5. http://www.turbinado.com/ 6. http://article.gmane.org/gmane.comp.lang.haskell.general/16782 7. http://archhaskell.wordpress.com/2009/01/18/open-source-haskell-releases-and... 8. http://article.gmane.org/gmane.comp.lang.haskell.general/16770 9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/leapseconds-annou... 10. http://article.gmane.org/gmane.comp.lang.haskell.general/16756 11. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/zipper 12. http://www.haskell.org//pipermail/haskell/2009-January/020925.html 13. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/multirec 14. http://article.gmane.org/gmane.comp.lang.haskell.general/16751 15. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ghci-haskeline 16. http://trac.haskell.org/haskeline 17. http://article.gmane.org/gmane.comp.lang.haskell.general/16750 18. http://www.haskell.org/haskellwiki/The_Monad.Reader 19. http://article.gmane.org/gmane.comp.lang.haskell.libraries/10568 20. http://hackage.haskell.org/trac/hackage/wiki/Cabal-2 21. http://article.gmane.org/gmane.comp.lang.haskell.libraries/10497 22. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/protocol-buffers 23. http://article.gmane.org/gmane.comp.lang.haskell.cafe/51037 24. http://www.haskell.org//pipermail/haskell-cafe/2009-January/053732.html 25. http://www.darcs.net/darcs-2.2.0.tar.gz 26. http://hackage.haskell.org/packages/archive/darcs/2.2.0/darcs-2.2.0.tar.gz 27. http://www.haskell.org//pipermail/haskell-cafe/2009-January/053843.html 28. http://joyful.com/hledger 29. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50907 30. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/language-sh 31. http://code.haskell.org/shsh/ 32. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50896 33. http://iki.fi/matti.niemenmaa/coadjute/ 34. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50831 35. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dataenc 36. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50756 37. http://biosimilarity.blogspot.com/2009/01/3-applications-of-indexed-composit... 38. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50748 39. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HTTP 40. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50648 41. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/monad-interleave 42. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50548 43. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/hs-dotnet 44. http://haskell.forkIO.com/dotnet 45. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50477 46. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50421 47. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/split 48. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50362 49. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/json 50. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50336 51. http://projects.haskell.org/cgi-bin/mailman/listinfo/haskell-platform 52. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50292 53. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/bytestring-trie 54. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50283 55. http://www-users.cs.york.ac.uk/~ndm/hlint/ 56. http://article.gmane.org/gmane.comp.lang.haskell.cafe/50264 57. http://xtalk.msk.su/~ott/common/emacs/hs-lint.el 58. http://www-users.cs.york.ac.uk/~ndm/hlint/ 59. http://thread.gmane.org/gmane.comp.lang.haskell.general/16771 60. http://hpaste.org/14030 61. http://thread.gmane.org/gmane.comp.lang.haskell.cafe/50590 62. http://enfranchisedmind.com/blog/2009/01/15/random-thoughts-on-haskell/ 63. http://planet.haskell.org/ 64. http://haskell.org/haskellwiki/Blog_articles 65. http://vis.renci.org/jeff/?p=66 66. http://nattermorphisms.blogspot.com/2009/01/category-theory-of-appendages.ht... 67. http://www.galois.com/blog/2009/01/18/galois-at-popl/ 68. http://vcolin.com/2009/01/18/ide-define-support/ 69. http://www.alsonkemp.com/haskell/announce-turbinado-v04/ 70. http://vis.renci.org/jeff/?p=52 71. http://tehgeekmeister.wordpress.com/2009/01/17/what-to-do-when-you-cant-solv... 72. http://vis.renci.org/jeff/?p=27 73. http://sigfpe.blogspot.com/2009/01/haskell-monoids-and-their-uses.html 74. http://www.realworldhaskell.org/blog/2009/01/17/john-goerzen-on-why-you-shou... 75. http://lhc-compiler.blogspot.com/2009/01/llvm-is-great.html 76. http://vis.renci.org/jeff/?p=33 77. http://lukepalmer.wordpress.com/2009/01/17/use-monadrandom/ 78. http://lhc-compiler.blogspot.com/2009/01/why-llvm-probably-wont-replace-c.ht... 79. http://therning.org/magnus/archives/436 80. http://therning.org/magnus/archives/437 81. http://therning.org/magnus/archives/434 82. http://vis.renci.org/jeff/?p=8 83. http://vis.renci.org/jeff/?p=4 84. http://lhc-compiler.blogspot.com/2009/01/case-against-cllvm.html 85. http://justtesting.org/post/70895924 86. http://justtesting.org/post/70893530 87. http://nickmudge.info/?post=103 88. http://blog.darcs.net/2009/01/darcs-220-is-released.html 89. http://ghcsparc.blogspot.com/2009/01/info-tables.html 90. http://lhc-compiler.blogspot.com/2009/01/what-is-lhc.html 91. http://lhc-compiler.blogspot.com/2009/01/resources.html 92. http://lhc-compiler.blogspot.com/2009/01/typeclass-blues.html 93. http://ghcsparc.blogspot.com/2009/01/liveness-lies.html 94. http://www.galois.com/blog/2009/01/13/real-world-haskell-intel-parallel-prog... 95. http://www.realworldhaskell.org/blog/2009/01/13/intel-parallel-programming-p... 96. http://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-... 97. http://lukepalmer.wordpress.com/2009/01/13/ha-i-cant-even-get-events-right/ 98. http://ghcsparc.blogspot.com/2009/01/bootstrapping-7.html 99. http://vcolin.com/2009/01/12/finding-member-infinite-list/ 100. http://lhc-compiler.blogspot.com/2009/01/mess-with-variable-ids.html 101. http://lukepalmer.wordpress.com/2009/01/12/ridding-ourselves-of-io-before-th... 102. http://ghcsparc.blogspot.com/2009/01/bootstrapping-7.html 103. http://vcolin.com/2009/01/11/notes-working-finite-sorted-lists/ 104. http://www.serpentine.com/blog/2009/01/11/fun-with-haskell-view-patterns/ 105. http://conal.net/blog/posts/3d-rendering-as-functional-reactive-programming/ 106. http://www.haskell.org/mailman/listinfo/haskell 107. http://sequence.complete.org/ 108. http://planet.haskell.org/ 109. http://sequence.complete.org/node/feed 110. http://haskell.org/ 111. http://haskell.org/haskellwiki/HWN 112. http://code.haskell.org/~byorgey/code/hwn/
participants (1)
-
Brent Yorgey