Haskell Weekly News: January 3, 2009

Submitted by byorgey on Sat, 01/03/2009 - 12:20pm.
Haskell Weekly News: January 03, 2009

Welcome to issue 99 of HWN, a newsletter covering developments in the Haskell community.

Happy new year to all! May 2009 be a year full of joy, family, friends, professional success, much Haskell hacking, and a minimal number of rabid weasels. Just in case.

Announcements

#haskell IRC channel reaches 600 users. Don Stewart announced that 7 years after its inception, under the guiding hand of Shae Erisson (aka shapr), the #haskell IRC channel on freenode has reached 600 concurrent users!

citeproc-hs-0.2. andrea rossato announced the release of citeproc-hs-0.2, a Haskell implementation of the Citation Style Language, which adds a Bibtex like citation and bibliographic formatting and generation facility to pandoc. This version adds support for citation collapsing, a wrapper around hs-bibutils, and some API documentation.

hs-bibutils-0.1. andrea rossato announced the first release of hs-bibutils, Haskell bindings to Chris Putnam's bibutils. Bibutils is a library and a set of bibliographic utilities to interconvert between various bibliography database formats using a common MODS-format XML intermediate.

Haskell koans. Gwern Branwen issued an RFK (Request for Koans), following the success of his CFH (Call for Haiku).

[ANN] Haskell web server + wiki: salvia-0.0.4 + orchid-0.0.6. Sebastiaan Visser announced the release of three new packages: salvia, a lightweight modular web server framework; orchid, a(nother) wiki written in Haskell, using Darcs as a versioning back-end and Salvia as the application server; and orchid-demo, a simple demo application using Salvia and Orchid to serve an example darcs repository. You can play around with an online demo.

gitit-0.4.1, recaptcha-0.1. John MacFarlane announced the release of gitit-0.4.1, a wiki program that stores pages in a git repository. This release adds support for (optional) captchas, using the reCAPTCHA service. The reCAPTCHA code has been packaged as a separate library on Hackage, recaptcha.

monte-carlo-0.2, gsl-random-0.2.3. Patrick Perry announced the release of a new version of the monte-carlo package. The new version includes a more general type class, MonadMC, which allows all the functions to work in both MC and MCT monads; functions to sample from discrete distributions, and functions to sample subsets. There is also a quick tutorial.

Reading group for Programming Collective Intelligence. Creighton Hogg announced that he would like to start a small group for the O'Reilly book Programming Collective Intelligence, to work through translating some of the examples to Haskell. Email Creighton if you are interested in participating.

Maintaining laziness. Henning Thielemann announced that he has written a tutorial on how to make functions lazy and how to test whether they are actually lazy.

Request for feedback: Understanding Haskell Monads. Ertugrul Soeylemez requested feedback on a new monad tutorial.

Discussion

How do we decide on the new logo?. Fritz Ruehr began a discussion of how to go about choosing a winner of the Great 2009 Haskell Logo Contest. Weigh in if you care!

Jobs

Two Positions as Associate Professor in Software Engineering at Chalmers University. Koen Claessen announced the availability of two positions as Associate Professor at Chalmers University in Gothenburg, Sweden, within the division of Software Engineering and Technology at the department of Computer Science and Engineering. The application deadline is January 12, 2009.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • lilac: <bohdan> how do I see the number of reductions required to calculate something? <lilac> bohdan: the usual method is to ask Cale to reduce it by hand :)
  • conal: If it's purely functional, how do you *do* anything? You don't ;-)
  • ddarius: The opposite ends of CS meet in the Haskell world.
  • EvilTerran: forcedYet :: a -> Bool; forcedYet x = x `seq` True -- :P
  • bmh: I dream in folds. One day I'll dream in monads.
  • sclv: dreaming is a monad.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: December 25, 2008

Submitted by byorgey on Thu, 12/25/2008 - 12:25pm.
Haskell Weekly News: December 25, 2008

Welcome to issue 98 of HWN, a newsletter covering developments in the Haskell community.

Happy holidays! An exciting HWN for you this week, including a number of cool new libraries, the public release of Cryptol, a Haskell logo contest, and the second most awesome GHC bug ever (see augustss's quote at the end of the Quotes section for the most awesome GHC bug ever).

Announcements

Hieroglyph 0.85. Jeff Heard announced that the Thingie library has been renamed Hieroglyph, and now has support for displaying images on the Cairo canvas.

Cryptol now freely available. Don Stewart announced that Cryptol, the language of cryptography, is now available to the public! Cryptol is a domain specific language for the design, implementation and verification of cryptographic algorithms, developed over the past decade by Galois for the United States National Security Agency. It has been used successfully in a number of projects, and is also in use at Rockwell Collins, Inc. Cryptol is implemented in Haskell.

Control.Monad.IfElse. Jeff Heard announced the Control.Monad.IfElse module, which provides useful anaphoric and monadic versions of if-else and when.

llvm-0.4.0.1. Lennart Augustsson announced version 0.4.0.1 of the release that is quite incompatible with the old 0.0.2 release.) Haskell LLVM bindings. LLVM is a virtual machine and the bindings allow you to generate code for this virtual machine. This code can then be executed by a JIT or written to a file for further processing by the LLVM tools.

bytestring-trie 0.1.0. wren ng thornton announced the release of bytestring-trie 0.1.0, an efficient finite map from (byte)strings to values. The implementation is based on big-endian patricia trees, like Data.IntMap.

RWH book club. Don Stewart announced that Matt Podwysocki has set up a Real World Haskell book club, a mailing list on google groups with already some 200 members discussing typical new user Haskell questions. Feel free to join if you like talking about Haskell, or teaching new users.

Thingie-0.80. Jeff Heard announced the release of Thingie, a library for creating 2D visualizations in a purely functional manner. It supports static visualizations and animation, and like most vis libraries, can probably do games as well as simple viz graphics.

typehash version 1.3. Lennart Augustsson announced the release of the typehash library, which allows you to produce a unique identifier (a cryptographic hash) for a type. This is useful if you save values of some type to a file (text, binary, whatever format you wish) and then when you read it back in again you want to verify that the type you want to read is the one you actually wrote. The library also supports type codes, which encode the complete structure of a type and can be used for finer comparison than just equality.

uvector-algorithms 0.1. Dan Doel announced the release of uvector-algorithms, a library of algorithms (mostly sorting) for the mutable arrays defined in uvector. It has several varieties of sorting, including introsort (quicksort which falls back on heapsort in bad cases), heapsort, a simple top- down merge sort and a radix sort. Also exposed are the operations that allow you to use the arrays as heaps and a combinator for safely using these mutable array algorithms to sort immutable arrays. All algorithms have been painstakingly profiled and optimized.

Data.List.Split. Brent Yorgey announced the release of Data.List.Split, which provides a wide range of strategies and a unified combinator framework for splitting lists with respect to some sort of delimiter.

Hoogle with more libraries. Neil Mitchell announced that Hoogle will now search lots of the libraries present on hackage!

HLint 1.0. Neil Mitchell announced the re-release of HLint, a tool for making suggestions to improve your Haskell code. Previously this tool was called Dr Haskell and depended on a working installation of Yhc; now it depends on GHC 6.10.1.

rangemin-1.0. Louis Wasserman announced the release of rangemin, a library for efficiently preprocessing an array to find minimum elements of subranges of the array in constant time.

Discussion

length of module name affecting performance??. Daniel Gorín reported a GHC bug where in certain cases, changing the name of a module to something longer results in a 2x-3x performance hit! Strange but true.

Time for a new logo?. Don Stewart proposed a competition to produce a new Haskell logo! Submissions should go on the wiki page; the deadline for logo submissions is December 31.

Pattern combinators. Andrew Wagner started a thread turning a paper on pattern-matching in Haskell into actual code for hackage.

Coroutines. Ryan Ingram posted some interesting code showing how to implement coroutines with session types.

Type wildcards. Eyal Lotem proposed a 'type wildcards' extension to the language.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • luqui: no!!! I was building a joke, but then I sent it before I thought of one.
  • roconnor: We put up a clothes line and made a turing machine by hand at a party once ... that is the sort of parties I go to.
  • cjs: In what other language could I have learned so much about Win32 programming (summary: basically, the Windows 3.0 API but with all sorts of hacks to deal with having more than one thread in the system), and come out having *enjoyed* myself? Praise to the Lord!
  • PaulJohnson: A paradox of the Haskell world is that, while the language is Vulcan, the community around it is dominated by Warm Fuzziness. Clearly the two are not mutually exclusive.
  • Botje: Caleskell even has unsafeSolveHaltingProblem?
  • Taejo: * Taejo needs to write Sitar Hero in Yampa
  • dons: it is safer for incompetent people to be working in Haskell than C++.
  • mpeter: the quality of my code increased drastically when i realized i should stop telling the computer to do things which were stupid.
  • byorgey: <Cale> RandomT/Random are effectively state monads. (in fact, they're thin candy shells around StateT/State.) <byorgey> "newtype: melts in the compiler, not in your hands"
  • quicksilver: [on classes having the same name as constructs in other languages] it's like having a laxative called "after dinner mint", and people being upset when they were looking for something nice to eat after dinner.
  • quicksilver: #haskell is a loquacracy!
  • quicksilver: It's also the same thing as the Yoneda lemma. That's the thing about maths. Everything is actually the same.
  • hugo: i feel like i was drugged with imperative programming, and now im in rehab.
  • chrisdone: yo dawg we heard you like haskell so we installed a lambdabot in your ghci so you can monad while you monad
  • augustss: ghc had a bug once where it deleted the source file if it had a type error. Quite sensible, I think.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: December 13, 2008

Submitted by byorgey on Sat, 12/13/2008 - 11:54am.
Haskell Weekly News: December 13, 2008

Welcome to issue 97 of HWN, a newsletter covering developments in the Haskell community.

Lots of neat blog posts and funny quotes this week. Don't forget to keep adding haiku to the wiki, and don't miss Alex McLean (yaxu)'s streaming livecoding performance tonight!

Announcements

Spam on HaskellWiki. Ashley Yakeley asked what people would like to do about the increasing amounts of spam on the Haskell wiki, and offered some suggestions.

The Timber compiler 1.0.2. Johan Nordlander announced the first public release of the Timber compiler. Timber is a modern language for building event-driven systems, based around the notion of reactive objects. It is also a purely functional language derived from Haskell, although with a strict evaluation semantics. To try it out, just grab the timberc package on Hackage.

Retrospective on 2008?. Don Stewart proposed the idea of a 2008 retrospective. How would you choose the 10 best new libraries, applications, blog posts, etc. of 2008?

a haskell_proposals subreddit. Jason Dusek announced a subreddit for Haskell library proposals. The idea is that Web 2.0 will help us to allocate our collective talents more efficiently when it comes to extensions (and perhaps clue us in when our pet project is something people really want).

permutation-0.2. Patrick Perry announced a new version of the permutation library, which includes data types for storing permutations. It implements pure and impure types, the latter which can be modified in-place. The main utility of the library is converting between the linear representation of a permutation to a sequence of swaps. This allows, for instance, applying a permutation or its inverse to an array with O(1) memory use.

Data.List.Split. Brent Yorgey announced the creation of a wiki page for Data.List.Split, a hypothetical module containing implementations of every conceivable way of splitting lists known to man, so we no longer have to (1) argue about the 'one true' interface for a 'split' function, or (2) be embarrassed when people ask why there isn't a split function in the standard libraries. Please add code or comments! At some point it will be uploaded as a new module to Hackage.

Announcing Haskell protocol-buffers version 1.2.2. Chris Kuklewicz announced new versions of protocol-buffers, protocol-buffers-descriptor, and hprotoc.

Discussion

A curious monad. Andrew Coppin exhibited an interesting Storage monad, which (it turns out) is similar to ST. An enlightening discussion if you want to understand how ST works and the motivation behind it.

Origins of '$'. George Pollard asked about the origins of the $ operator (low-precedence function application) in the standard libraries, leading to some interesting history and general discussion about notation.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • quicksilver: Baughn: glFlush? the 80s called, they want your programs back?
  • gwern: the best way to optimize a program is to make it lazier or stricter.
  • ksf: Perl is obfuscated by design, haskell is designed by obfuscation.
  • conal: omg -- i can print right from emacs again. praise be to Linux!
  • mmorrow: [I] didn't realize what it really said until after i @remembered it
  • blackh: Haskell is great because of all the wonderful things you can't do with it.
  • JustinBogner: gitit's 46 dependencies convinced me to install cabal-install, and now I couldn't be happier!
  • Anonymous: I'd love to explain to you how to write hello world in Haskell, but first let me introduce you to basic category theory.
  • lilac: @type \o-> look at my muscles <lambdabot> forall t nice muscles. t -> nice -> muscles
  • ook: (:[])
  • oink: <^(oo)^>
  • mmorrow: {-# RULES "HAI; CAN HAS STDIO?" id = unsafePerformIO (system "killall -9 breathingMachine && xeyes &" >> return id) #-}
  • gwern: We will be welcomed as liberators! I estimate that we will need 50000 haskellers at most and will be able to wind up the occupation quickly

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: December 6, 2008

Submitted by byorgey on Wed, 12/10/2008 - 6:33pm.
Haskell Weekly News: December 06, 2008

Welcome to issue 96 of HWN, a newsletter covering developments in the Haskell community.

Announcements

Haskell haikus. Gwern Branwen announced that he has collected all known haikus about Haskell and put them on a wiki page. Add more!

Platforms that GHC supports. Simon Peyton-Jones linked to a new page clearly articulating what platforms GHC supports, and what platforms its maintainers would like it to support. If you're interested and willing to help sponsor a "Tier 2" platform, let them know!

Using Data Parallel Haskell. Manuel Chakravarty announced a new wiki page with documentation for Data Parallel Haskell.

DrHylo 0.0.1. Hugo Pacheco announced the release of DrHylo, a tool for deriving hylomorphisms from a restricted Haskell syntax. It is based on the algorithm first presented in the paper Deriving Structural Hylomorphisms From Recursive Definitions at ICFP'96 by Hu, Iwasaki, and Takeichi. The generated code can be run with Pointless Haskell, allowing the visualization of the recursion trees of Haskell functions.

pointless-haskell 0.0.1. Hugo Pacheco announced the release of Pointless Haskell, a library for point-free programming with recursion patterns defined as hylomorphisms, inspired in ideas from the PolyP library. The re-implementation of the library using type functions (in opposition to classes with functional dependencies) enables a type-level view of data types as the fixed points of functors and provides a better experience to the users in terms of code sanity. The library also features the visualization of the intermediate data structure of hylomorphisms with GHood.

Projects that depend on the vty package?. Corey O'Connor asked whether there are any other projects that depend on the vty package. If so, let him know! The package also has a new trac and wiki.

haskell-src-exts 0.4.4. Niklas Broberg announced the release of haskell-src-exts 0.4.4, which adds support for pragmas.

ChristmasTree 0.1. S. Doaitse Swierstra announced the release of the ChristmasTree package, which stands for "Changing Haskell's Read Implementation Such That by Manipulating Abstract Syntax Trees it Reads Expressions Efficiently".

TTTAS. S. Doaitse Swierstra announced the release of TTTAS, a library for typed transformations of typed abstract syntax.

GHood. Hugo Pacheco announced that GHood, a graphical backend for the lightweight Hood Haskell debugger, has now been released as a Cabal package.

Discussion

Animated line art. Andrew Coppin asked for ideas on writing Haskell to generate some animations.

Jobs

Scala job in Boston writing quantitative finance software. Paul Chiusano announced that ClariFI is looking to hire developers with a strong background in functional programming to do a mixture of Scala and Java programming. ClariFI is a small company (about 15 developers) that specializes in software for quantitative investment management. This position is for the Boston office. If you're interested, send him an email.

Blog noise

Haskell news from the blogosphere.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: November 30, 2008

Submitted by byorgey on Sun, 11/30/2008 - 7:55pm.
Haskell Weekly News: November 30, 2008

Welcome to issue 95 of HWN, a newsletter covering developments in the Haskell community.

Real World Haskell is finally here! Read it online, and/or get your own dead tree copy. Better yet, get two copies, one for yourself and one for a friend. The fifteenth Haskell Communities and Activities Report is also here---check out all the exciting stuff being worked on in the Haskell world!

Announcements

HCAR. Janis Voigtlaender announced the 15th edition of the Haskell Communities and Activities Report (HCAR) is now available!

Not quite another Haskell tutorial, but .... Janis Voigtlaender announced that he submitted his Habilitation thesis last week. The first few chapters of it try to give an introduction to Haskell with emphasis on types and reasoning principles.

hledger 0.2. Simon Michael announced version 0.2 of [http://joyful.com/hledger hledger, a minimal haskell clone of John Wiegley's "ledger" text-based accounting tool.

darcs zlib error workaround. Eric Kow outlined workarounds and future plans for a darcs bug relating to broken CRCs in gzipped patch files. You should read this if you have installed darcs 2.1.2 via the Cabal build method.

Turbinado 0.2. Alson Kemp announced version 0.2 of Turbinado, an easy-to-use, fast web application framework.

Fun with type functions. Simon Peyton-Jones requests examples of compelling use cases for type functions: "can you tell us about the most persuasive, fun application you've encountered, for type families or functional dependencies? Simple is good. It doesn't have to be elaborate: just something that does something useful you could not have done otherwise."

Jobs

PhD Positions in Language-based Security at Chalmers. Andrei Sabelfeld announced the availability of PhD student positions in programming language-based security in the Department of Computer Science and Engineering at Chalmers University of Technology, Sweden. The application deadline is January 30, 2009.

FP Jobs. Julien Sylvestre announced several new permanent positions, based in Paris, with MLstate -- an IT company whose functional programming approach to SaaS and cloud computing has been recently recognized by the French Ministry of Research Innovation Award.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • quicksilver: I ACCIDENTALLY THE WHOLE VERB
  • dons: [on ghc's new code generation] <byorgey> so how's the new code gen better? <dons> it's got 98% less dumbs.
  • adu: source code is transient, dreams are forever.
  • monochrom: n is the nth English letter.
  • nomeata: Ah, it seems I'm creating a tuple with more than 62 elements somewhere...
  • dons: we had 15 years building ivory towers - time to throw rocks from the top!

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: November 22, 2008

Submitted by byorgey on Sat, 11/22/2008 - 3:09pm.
Haskell Weekly News: November 22, 2008

Welcome to issue 94 of HWN, a newsletter covering developments in the Haskell community.

Lots of interesting reading this week! Martin Escardo writes about finite search over infinite search spaces expressed as a monad; Conal Elliott writes about the unambiguous choice operator and merging partial values; Luke Palmer on restricted data types and Udon, his system for universal distributed object management; a post about incremental parsing in Yi; Ryan Ingram on parametric higher-order abstract syntax; Issue #12 of the Monad.Reader; and much more!

Announcements

The Monad.Reader - Issue 12: Summer of Code Special. Wouter Swierstra announced Issue 12 of the Monad.Reader, featuring articles by Max Bolingbroke, Roman Cheplyaka, and Neil Mitchell describing their Summer of Code projects.

Turbinado V0.1. Alson Kemp announced the release of Turbinado, an MVC web framework for Haskell.

EEConfig-1.0. Bartosz Wojcik announced the release of EEConfig, a simple library for reading parameters from a configuration file.

Discussion

Proof of a multi-threaded application. Silviu Andrica asked about the possibility of proving the correctness of a multi-threaded application written in Haskell, leading to a discussion of STM, model checking, and related issues.

Monadic bind with associated types + PHOAS?. Ryan Ingram wrote about using parametric higher-order abstract syntax to get the benefits of HOAS (using the embedding language to express binding and substitution) while still being able to inspect or optimize the resulting expressions.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • dons: instance Ord OCaml, oh wait. hang on. OCaml can't do that.
  • BONUS: as you can see, one of the best parts of Haskell is #haskell.
  • ddarius: head [] :: FlyingMonkeys

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: November 15, 2008

Submitted by byorgey on Sat, 11/15/2008 - 2:56pm.
Haskell Weekly News: November 15, 2008

Welcome to issue 93 of HWN, a newsletter covering developments in the Haskell community.

Community News

Congratulations to Ganesh (aka Heffalump) and Amanda on the birth of Alexander Suresh Kerr Sittampalam!

Announcements

bustle-0.1. Will Thompson announced the release of Bustle, a tool to show diagrams of D-Bus traffic for profiling purposes. It consists of a small C executable to log traffic, and a Gtk+ application which draws diagrams using Cairo.

haskell-src-exts 0.4.1. Niklas Broberg announced a new major release of the haskell-src-exts package, an extension of the standard haskell-src package which handles most common syntactic extensions to Haskell. The new release features a cleaned up AST and names without ugly disambiguation prefixes.

darcs 2.1.1rc2. Eric Kow (kowey) announced the release of darcs 2.1.1rc2, which adds support for GHC 6.10.1. It also includes a Windows bug fix. If you're using GHC 6.10.1 or Windows, give it a try and let the darcs development team know how it works.

hpapi 0.1 release. Michael D. Adams announced the first release of hpapi, Performance API (PAPI) bindings for Haskell. PAPI provides access to various CPU counters such as cache-miss, instruction and pipeline stall counts.

Workflow-0.1. Alberto G. Corona announced the release of Workflow, a library for transparent execution of computations across shutdowns and restarts.

Reactive library (FRP) and mailing list. Conal Elliott announced the release of Reactive, a library for functional reactive programming (FRP), similar to the original Fran but with a more modern interface (using standard type classes) and a hybrid push/pull implementation. It is designed to be used in a variety of contexts, such as interactive 2D and 3D graphics, graphical user interfaces, web services, and automatic recompilation/re-execution. There is also now a mailing list and a feature/bug tracker.

ANN (sorta): OpenGL with extra type safety. Neal Alexander announced a modification of the hOpenGL (and GLFW) source tree to force extra type checking on its various IO actions using the -XGeneralizedNewtypeDeriving extension. The main motivation was for writing concurrent OpenGL applications; the second motivation was to enforce static type checking on commands that can only be executed in certain OpenGL contexts (sending vertex data for example). Hopefully the code will be uploaded to Hackage as a separate package soon.

FieldTrip library (functional 3D) and mailing list. Conal Elliott announced the release of FieldTrip, a library for functional 3D graphics. It is intended for building static, animated, and interactive 3D geometry, efficient enough for real-time synthesis and display. FieldTrip also has a mailing list and a feature/bug tracker.

gitit 0.2 release - wiki using HAppS, git, pandoc. John MacFarlane announced the upload of an early version of gitit, a Haskell wiki program, to HackageDB. Gitit uses HAppS as a webserver, git for file storage, pandoc for rendering the (markdown) pages, and highlighting-kate for highlighted source code. You can try it out here. Comments and patches welcome.

Discussion

Proof that Haskell is RT. Andrew Birkett asked whether there exists a formal proof that the Haskell language is referentially transparent. Such a thing cannot exist, since Haskell has no formally defined semantics, but an interesting discussion about referential transparency and semantics ensued anyway.

What *not* to use Haskell for. Dave Tapley asked how people answer the question, "what does Haskell not do well?" Unfortunately, it seems that there is no good answer to this question and the thread degenerated into a discussion of all the great things you can do with Haskell. If only Haskell sucked more.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • BMeph: In a functional world, students would ask how that index shadowing works in those funny 'for' statements...
  • digit: i'm almost annoyed at how brilliant xmonad is.
  • _pizza_: i think Haskell is undoubtedly the world's best programming language for discovering the first few dozen numbers in the Fibonacci sequence over IRC.
  • adu: let uncat3 [] = [] ; uncat3 xs = (let (ys, zs) = splitAt 3 xs in ys : uncat3 zs) ; getFrom x y = map (x !!) $ map (fromIntegral . ((\x -> fromIntegral $ foldl (.|.) (0::Word8) (zipWith (\c n -> if c then bit n else (0::Word8)) x [0..2])) :: [Bool] -> Int)) $ reverse . uncat3 . reverse . concat . map (((\x -> map (testBit x) [7,6..0]) :: Word8 -> [Bool]) . fromIntegral . ord) $ y in getFrom " HWdelor" "e\184-\235"
  • Beelsebob: ((:[]) "pigs eat") <^(++)^> ((:[]) " robot monkies")

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: November 8, 2008

Submitted by byorgey on Sat, 11/08/2008 - 1:52pm.
Haskell Weekly News: November 08, 2008

Welcome to issue 92 of HWN, a newsletter covering developments in the Haskell community.

GHC 6.10 is released!! Go forth and drool over its new features. Be sure to have the editline libraries (libedit-dev on Debian/Ubuntu, for example) installed before you try building it.

Announcements

GHC version 6.10.1. Ian Lynagh announced the release of GHC version 6.10.1! This new major release features a number of significant changes, including wild-card patterns, punning, and field disambiguation in record syntax; generalised quasi-quotes; generalised SQL-like list comprehensions; view patterns; a complete reimplementation of type families; parallel garbage collection; a new extensible exception framework; a more user-friendly API; included Data Parallel Haskell (DPH); and more! See the full release notes for more information.

new community.haskell.org features: webspace, mailing lists. Ian Lynagh announced that the community server, http://community.haskell.org/, has two new features for hosted projects: project webspace, and project mailing lists.

GHC blog. Simon Marlow has set up a GHC blog. This is for all things related to GHC, particularly people working on GHC to blog about what they're up to. If you want a write-bit, sign up for a wordpress account, let Simon know your account name, and blog away! The GHC blog should be syndicated on Planet Haskell soon.

Haddock 2.4.0. David Waern announced a new release of Haddock, the Haskell documentation tool. This is a later version than the one shipped with GHC 6.10.1, which is version 2.3.0. That version will not be released on Hackage since it only builds with GHC 6.10.1 (by accident, actually). Besides adding back support for earlier GHC versions, this release contains some more fixes and support for HTML frames.

htags-1.0. David Sankel announced the htags package, a tag file generator to enable extra functionality in editors like vim. It expands upon hasktags by using a full Haskell 98 parser and options for recursion.

Haskell Quick Reference (1-page PDF). Malcolm Wallace sent a 1-page Haskell quick reference prepared for a recent Haskell tutorial. Permission is granted for anyone to distribute it more widely as they wish, in the hope that it might be useful. Editable sources can be passed along if anyone would like to extend it.

Proposal for associated type synonyms in Template Haskell. Thomas van Noort submitted a proposal for adding associated type synonyms to Template Haskell. Comments are welcomed.

announce [("InfixApplicative", 1.0), ("OpenGLCheck", 1.0), ("obj", 0.1)]. Thomas Davie announced the upload of a few packages to Hackage which he has produced while working at Anygma. obj-0.1 is a library for loading and writing obj 3D models; OpenGLCheck-1.0 is a micro-package containing instances of Arbitrary for the data structures provided in Graphics.Rendering.OpenGL; and InfixApplicative-1.0 is a second micro-package containing a pair of functions (<^) and (^>) which can be used to provide an infix version of liftA2 applied to an operator.

Graphalyze-0.5 and SourceGraph-0.3. Ivan Lazar Miljenovic announced the latest versions of Graphalyze and SourceGraph, which fix a couple of bugs in the previous versions.

zlib and bzlib 0.5 releases. Duncan Coutts announced updates to the zlib and bzlib packages, featuring a slightly nicer extended API. The simple API that most packages use is unchanged. There is also a new parameter to control the size of the first output buffer; this lets applications save memory when they happen to have a good estimate of the output size.

Discussion

Efficient parallel regular expressions. Martijn van Steenbergen asked about efficiently running multiple regular expressions in parallel, leading to an interesting discussion of regular expressions and various parsing methods and libraries.

Problems with strictness analysis?. Patai Gergely started an informative discussion about strictness, laziness, strictness analysis, and compiler optimization. If you don't know a lot about these topics but would like to learn, this thread is a good starting point!

Jobs

1-year postdoc position in Chalmers Functional Programming group. John Hughes announced a position for a post-doctoral researcher with the Chalmers Functional Programming Group, with a one-year tax-free stipend funded by Intel. The funded project will develop a Domain Specific Language (DSL) for high level modelling, design and analysis of hardware and microarchitectures.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • Cory: Any language which makes frequent use of monads, functors and has a wikibook describing its relation to category theory is the result of an evil genius (or several, to be precise).
  • mmorrow: in langs with dependent types, you can just map numbers directly to types instead of having to ride a unicycle along a tightrope while battling an unruly gang of monkeys with knives.
  • conal: -fsemantics-shemantics
  • roconnor: all sorts of wonderful things could be done if we are less anal about bottoms. No pun intended.

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: November 1, 2008

Submitted by byorgey on Sat, 11/01/2008 - 2:42pm.
Haskell Weekly News: November 01, 2008

Welcome to issue 91 of HWN, a newsletter covering developments in the Haskell community.

Announcements

blas version 0.6. Patrick Perry announced a new version of the Haskell BLAS bindings, now with support for the ST monad!

darcs hacking sprint #1 (report). Eric Y. Kow summarized the progress made during the darcs hacking sprint last weekend. Looks like exciting stuff! Much more detail and links can be found in Eric's original email.

LAST CALL: Haskell Communities and Activities Report. Janis Voigtlaender is extending the submission deadline for the 15th edition of the Haskell Community and Activities Report by a few days. If you haven't already, please write an entry for your new project or update your old entry.

Data.TCache 0.5.1. Alberto G. Corona announced the release of Data.TCache, which implements a transactional cache with configurable persistence. It tries to simulate Hibernate for Java or Rails for Ruby; the main difference is that transactions are done in memory trough STM.

multirec-0.1. Andres Loeh announced the release of the multirec package, which provides a mechanism to talk about fixed points of systems of datatypes that may be mutually recursive. On top of this representations, generic functions such as the fold or the Zipper can then be defined.

Making 'Super Nario Bros.' in Haskell. Korcan Hussein linked to a super mario brothers clone which was written in Haskell!

Chart-0.9. Tim Docker announced the 0.9 release of the Chart library, a library for drawing 2D charts.

Publication of InputYourData.com + Project Announcement. Enzo Haussecker announced the publication of InputYourData.com, an online tool, written in Haskell, for financial, mathematical and scientific calculations. Enzo also described an idea to create a similar website where web applications are created by the user. If you are intrigued by this project and have substantial experience in designing Haskell-based web applications, please send Enzo your resume and a brief summery of why you are interested.

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • lispy: I just wanted to make sure that this was illegal first
  • quicksilver: it doesn't entirely help that SQL is a series of broken standards layered over very poor decisions by large corporations
  • Baughn: SingInTime> hello world <Baughn> SingInTime: Type mismatch: Expected type: IRC [a], inferred type: IO ()

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .

Haskell Weekly News: October 25, 2008

Submitted by byorgey on Sat, 10/25/2008 - 4:30pm.
Haskell Weekly News: October 25, 2008

Welcome to issue 90 of HWN, a newsletter covering developments in the Haskell community.

One day a Haskell n00b asked the master coder, "Master, does (const 3 undefined) have the terminating nature, or not?" The master replied, "Of course." Cried the n00b, "But that changes everything! Why did you not tell me this before?" "You never asked." Immediately, the n00b was enlightened.

Announcements

Darcs hacking sprint. Eric Kow announced that the darcs hacking sprint is taking place this weekend!

Lambdabot 4.2.2. Gwern Branwen announced the release of version 4.2.2 of lambdabot, the famous Haskell IRC bot. The new release has innumerable new features and bugfixes, trained suckling pigs, mermaids, etc.

Autoproc Change of Maintainer (if you use procmail you should read this). Jason Dagit announced that Gwern Branwen will be taking over the autoproc project. Autoproc makes it quick and easy for Haskell programmers to make procmail recipes by using an embedded domain specific language. Once your recipes type check and compile, you simply run autoproc and it generates the corresponding procmail recipe.

External Sort: Sort a 10-million integer file with just 256M of ram.. Thomas Hartman announced the external-sort package. It implements an on-disk external sort algorithm in Haskell, which you can use to sort lists that will not fit in memory.

IEEE-utils. Sterling Clover announced the IEEE-utils package, providing a number of bindings for anyone interested in doing hardcore floating-point programming.

rewriting-0.1. Thomas van Noort announced the release of rewriting, a generic rewriting library for regular datatypes. Features include generic rewriting machinery, generic traversals, and rewrite rules defined as values instead of functions.

REMINDER: Haskell Communities and Activities Report. Janis Voigtlaender reminded everyone that the deadline for the November 2008 edition of the Haskell Communities and Activities Report (Friday, October 31) is approaching fast! If you haven't already, please write an entry for your new project, or update your old entry. For more information, see the original call for contributions.

lhs2tex-1.14. Andres Loeh announced the release of lhs2TeX version 1.14, a a preprocessor to generate LaTeX code from literate Haskell sources.

colour 0.0.0. roconnor announced an initial release of the colour package. It is hoped that this library will become the standard colour library for Haskell.

Discussion

Hackage Improvement Ideas. Jason Dagit suggested some improvements to Hackage and asked for others to contribute their ideas as well.

Spine-lazy "multiqueue". Luke Palmer asked for help implementing an efficient spine-lazy multiqueue.

Jobs

Functional programming job opening. Simon Peyton-Jones announced a job opening in functional programming at Microsoft. They are looking for "an experienced software development engineer who has mastered C/C++ and/or C# development and is now learning or is already an expert using F# (or Haskell)."

Blog noise

Haskell news from the blogosphere.

Quotes of the Week

  • vixey: debugging code is admitting defeat
  • kaomoji: [on #haskell] man, you guys are really nerdy
  • sclv: I guess I'd believe the universe was lazy if the hubble looked at that stuff way at the edge of the big bang diaspora and when we magnified the picture we saw "stack overflow"
  • rwbarton: relational calculus? "DIFFERENTIATE TABLE users WITH RESPECT TO name"
  • heatsink: ban :: (BanContext no, UserIdentifer u) => u -> no u
  • rwbarton: I tried typechecking the value of unwords (replicate 125 "fmap") in ghci once, and it consumed all my memory
  • ghc: Step 3: Zonk the kinds

About the Haskell Weekly News

New editions are posted to the Haskell mailing list as well as to the Haskell Sequence and Planet Haskell. RSS is also available, and headlines appear on haskell.org.

To help create new editions of this newsletter, please see the information on how to contribute. Send stories to byorgey at cis dot upenn dot edu. The darcs repository is available at darcs get http://code.haskell.org/~byorgey/code/hwn/ .