[Haskell] Haskell Weekly News: Issue 101 - January 19, 2009
Brent Yorgey
byorgey at seas.upenn.edu
Mon Jan 19 15:43:48 EST 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-growth/
8. http://article.gmane.org/gmane.comp.lang.haskell.general/16770
9. http://hackage.haskell.org/cgi-bin/hackage-scripts/package/leapseconds-announced
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-composition.html
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.html
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-solve-a-proble/
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-should-learn-haskell/
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.html
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-programming-podcast/
95. http://www.realworldhaskell.org/blog/2009/01/13/intel-parallel-programming-podcast-real-world-haskell/
96. http://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/
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-there-is-a-good-replacement/
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/
More information about the Haskell
mailing list