February 9, 2011

Haskell Weekly News: Issue 168

Welcome to issue 168 of the HWN, a newsletter covering developments in the Haskell community. This release covers the week of January 30 to February 5, 2011.


Maciej Piechotka announced version 0.1.1 of nanoparsec. "Nanoparsec is currently simply a port of attoparsec on ListLike (the abstraction of lists used by iteratee)."

Graham Hutton announced the availability of studenships in Functional Programming at the University of Nottingham, UK.

Ashley Yakeley made a small update to time ( that "fixes a bug in parseTime."

George Giorgidze announced the release to Hackage of Database Supported Haskell (DSH).

Simon Hengel announced the release of HackageOneFive, "a tiny Snap app that provides reverse dependency lookup for all packages on Hackage."

Quotes of the Week

  • alpounet: map succ/pred is a scandinavian name generator or what? ... well, scandinavian and aztec
  • dons: Think of a monad as a spacesuit 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 nuclear waste falls in the ocean, *but* the apples are carried around anyway, and you just take what you need.
  • Apocalisp: a unit of clarity is a clarinet
  • roconnor: My coq has failed me
  • roconnor: I mean, I could, and do, say that a lens is just a monoid natural transformation from the coalgebra functiors from haskell functors to haskell types.
  • Saizan: "not being ML" is a quite sound principle syntax-wise
  • lpsmith: well, getting rid of airliners certainly *is* one way of eliminating their potential use as weapons against larger buildings
  • ddarius: The reason edwardk writes so many Haskell packages is to ward the Perl from penetrating his heart.
  • monochrom: most people tend to deny the usefulness of useful alternative perspectives --- their entrenched vested interests demand it. as they grow older they also have more influence and power over "the state of the art" to preserve their self-fulfilling prophecy that "the alternative is useless" --- by controlling what practice looks like, they can control what looks useless.
  • edwardk: i learned to program becaise i'd lied and told a kid that i'd written a disassembler, then had to make good on the claim.

Top Reddit Stories

  • Quine Central ... because everyone needs to be able to make nth order quines: From (blog.sigfpe.com), scored 40 with 7 comments. Read on reddit or the original post.
  • jhc 0.7.7 is out: From (haskell.org), scored 38 with 0 comments. Read on reddit or the original post.
  • Hulk: A Haskell IRC server: From (chrisdone.com), scored 32 with 1 comments. Read on reddit or the original post.
  • Status update on {code, trac, projects, planet, community}.haskell.org: From (haskell.org), scored 25 with 0 comments. Read on reddit or the original post.
  • All about MVars : Inside T5: From (blog.ezyang.com), scored 23 with 4 comments. Read on reddit or the original post.
  • Text: a visual programming language based on Haskell, demo: From (vimeo.com), scored 21 with 3 comments. Read on reddit or the original post.
  • [SO] Why is GHC so big?: From (stackoverflow.com), scored 21 with 10 comments. Read on reddit or the original post.
  • Haskell Weekly News: Issue 167: From (contemplatecode.blogspot.com), scored 21 with 0 comments. Read on reddit or the original post.
  • The F# Team are Hiring (functional programming jobs): From (haskell.org), scored 20 with 6 comments. Read on reddit or the original post.
  • Recently Uploaded: DSH-0.4.2 Natural Sql Queries without the need to write Sql strings.: From (hackage.haskell.org), scored 20 with 2 comments. Read on reddit or the original post.
  • Specifying behaviors in a purely functional language: From (io7m.com), scored 16 with 0 comments. Read on reddit or the original post.

Top StackOverflow Answers

  • Why is GHC so large/big? votes: 29
    It's a bit silly really. Every library that comes with GHC is provided in no less than 4 flavours: static dynamic profiled GHCi The GHCi version is just the static version linked together in a single .o file. The other three versions all have their own set of interface files (.hi files) too. The profiled versions seem to be about twice the size of the ...
  • Why `(map digitToInt) . show` is so fast? votes: 24
    Seeing as I can't add comments yet, I'll do a little bit more work and just analyze all of them. I'm putting the analysis at the top; however, the relevant data is below. (Note: all of this is done in 6.12.3 as well - no GHC 7 magic yet.) Analysis: Version 1: show is pretty good for ints, especially those as short as we have. Making strings actually ...
  • What Justification for the type of f x = f x in Haskell is there? votes: 15
    Okay, starting from the function definition f x = f x, let's step through and see what we can deduce about the type of f. Start with a completely unspecified type variable, a. Can we deduce more than that? Yes, we observe that f is a function taking one argument, so we can change a into a function between two unknown type variables, which we'll call b -> ...
  • . versus $ in haskell votes: 14
    Prelude> :t ($) ($) :: (a -> b) -> a -> b Prelude> :t (.) (.) :: (b -> c) -> (a -> b) -> a -> c $ applies a function to a value. . composes two functions. So I can write f $ g x which is "apply f to (g of x)" or f . g $ x which is "apply the composition of f and g to x". One common style is to pile up dots on the left with a ...
  • Starting a game development in an exotic language I am just learning (Lisp, Haskell, ...) votes: 12
    If you could write a game in C, you can write one in Haskell. The biggest difficulties many people have with it are: Lack of support for OOP, which is what most people are familiar with these days. Old-fashioned procedural code, on the other hand, is actually very pleasant to write in Haskell; the IO type distinguishes effect-free functions from procedures ...
  • Haskell: Check if Int is in a list of Int's votes: 11
    First find the type of the function you need. To "Check if" means to return either True or False, a Bool. So the function takes an Int, a list of Int (aka [Int]) and returns Bool: Int -> [Int] -> Bool Now ask hoogle. elem :: Eq a => a -> [a] -> Bool Hoogle is a very useful tool. You can integrate it with ghci.

Top StackOverflow Questions

  • Why is GHC so large/big? (votes: 32, answers: 5) read
  • Starting a game development in an exotic language I am just learning (Lisp, Haskell, ...) (votes: 16, answers: 10) read
  • Why `(map digitToInt) . show` is so fast? (votes: 8, answers: 2) read
  • Transforming expression given in prefix notation, identifying common subexpressions and dependencies (votes: 7, answers: 6) read
  • Practical use of curried functions? (votes: 7, answers: 6) read

About the Haskell Weekly News

To help create new editions of this newsletter, please send stories to dstcruz@gmail.com. I'm in dire need of finding good "quotes of the week". If you happen to come across any, please don't hesitate to send it along.

Until next time,
Daniel Santa Cruz

No comments: