Posted
about 16 years
ago
by
dons
Welcome to issue 71 of HWN, a newsletter covering
developments in the Haskell community.
Another busy week on the Haskell library front, with around 100 new and
updated libraries and tools on Hackage. Announcements Google
Summer of Code. Malcolm
... [More]
Wallace
announced
Google is running its 'Summer of Code' project again this year, and
Haskell.org is once again going to apply to be a mentoring organisation. If
you're interested in earning money to hack on Haskell, and helping out the
community, take a
look at the wiki.
Haskell in the browser. Dimitry Golubovsky
announced
that the YHC JavaScript backend is now in alpha testing, and is open to
experimentation for those wanting to write Haskell directly for the
browser
Hackage New and updated libraries in the Hackage library database.
typalyze 0.1.1. Uploaded by Matthew Danish.
typalyze:
Analyzes Haskell source files for easy reference.
lax 0.0.0.1. Uploaded by Wolfgang Jeltsch.
lax:
Lax arrows.
truelevel 0.1.1. Uploaded by Barton Massey.
truelevel:
Audio file compressor-limiter.
WAVE 0.1. Uploaded by Barton Massey.
WAVE:
WAVE audio file IO library.
parseargs 0.1. Uploaded by Barton Massey.
parseargs:
Command-line argument parsing library for Haskell programs.
conjure 0.1. Uploaded by Gwern Branwen.
conjure:
A BitTorrent client.
Diff 0.1.1. Uploaded by Sterling Clover.
Diff:
O(ND) diff algorithm in haskell..
simseq 0.0. Uploaded by Gwern Branwen.
simseq:
Simulate sequencing with different models for priming and
errors.
rbr 0.8.3. Uploaded by Gwern Branwen.
rbr:
Mask nucleotide (EST) sequences in Fasta format.
xml2x 0.2. Uploaded by Gwern Branwen.
xml2x:
Convert BLAST output in XML format to CSV or HTML.
estreps 0.1. Uploaded by Gwern Branwen.
estreps:
Repeats from ESTs.
clustertools 0.1. Uploaded by Gwern Branwen.
clustertools:
Tools for manipulating sequence clusters.
xsact 1.6. Uploaded by Gwern Branwen.
xsact:
Cluster EST sequences.
HsJudy 0.2. Uploaded by Gwern Branwen.
HsJudy:
Judy bindings, and some nice APIs.
prof2dot 0.3.1. Uploaded by Gregory Wright.
prof2dot:
Convert GHC profiles into GraphViz's dot format.
strict 0.3.2. Uploaded by Roman Leshchinskiy.
strict:
Strict data types and String IO..
Emping 0.4. Uploaded by Hans VanThiel.
Emping:
derives heuristic rules from nominal data.
GuiHaskell 0.1.1. Uploaded by Neil Mitchell.
GuiHaskell:
A graphical REPL and development environment for Haskell.
simpleargs 0.1. Uploaded by Ketil Malde.
simpleargs:
Provides a more flexible getArgs function with better error
reporting..
parsec 3.0.0. Uploaded by Derek Elkins.
parsec:
Monadic parser combinators.
hetris 0.2. Uploaded by Gwern Branwen.
hetris:
Text Tetris.
hscurses 1.3. Uploaded by Gwern Branwen.
hscurses:
NCurses bindings for Haskell.
photoname 2.0. Uploaded by Dino Morelli.
photoname:
Rename JPEG photo files based on shoot date.
mage 1.1.0. Uploaded by Gwern Branwen.
mage:
Rogue-like.
infix 0.1.1. Uploaded by Gwern Branwen.
infix:
Infix expression re-parsing (for HsParser library).
bio 0.3.3. Uploaded by Gwern Branwen.
bio:
A bioinformatics library.
dephd 0.0. Uploaded by Gwern Branwen.
dephd:
Analyze 'phred' output (.phd files).
hybrid 2.0. Uploaded by Gwern Branwen.
hybrid:
A implementation of a type-checker for Lambda-H.
propgrid 0.1. Uploaded by Gwern Branwen.
propgrid:
GUI propertygrid.
gravatar 0.3. Uploaded by Donald Stewart.
gravatar:
Find the url of the gravatar associated with an email
address..
himerge 0.17.9. Uploaded by Luis Araujo.
himerge:
Haskell Graphical User Interface for Emerge.
Takusen 0.8. Uploaded by Alistair Bayley.
Takusen:
Database library with left-fold interface, for PostgreSQL, Oracle,
SQLite, ODBC..
irc 0.4.1. Uploaded by Trevor Elliott.
irc:
A small library for parsing IRC messages..
hexpat 0.2. Uploaded by Evan Martin.
hexpat:
wrapper for expat, the fast XML parser.
microbench 0.1. Uploaded by Evan Martin.
microbench:
Microbenchmark Haskell code.
hxt 7.5. Uploaded by Uwe Schmidt.
hxt:
A collection of tools for processing XML with Haskell..
hmatrix 0.2.1.0. Uploaded by Alberto Ruiz.
hmatrix:
Linear algebra and numerical computations.
binary-strict 0.3.1. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
category-extras 0.1. Uploaded by Dan Doel.
category-extras:
Various modules and constructs inspired by category theory..
pcap 0.4.3. Uploaded by Bryan OSullivan.
pcap:
A system-independent interface for user-level packet
capture.
curl 1.3.1. Uploaded by Eric Mertens.
curl:
Haskell binding to libcurl.
fastcgi 3001.0.2. Uploaded by Bjorn Bringert.
fastcgi:
A Haskell library for writing FastCGI programs.
hslogger 1.0.5. Uploaded by John Goerzen.
hslogger:
Versatile logging framework.
HAppS-Server 0.9.2.1. Uploaded by David Himmelstrup.
HAppS-Server:
Web related tools and services..
HAppS-IxSet 0.9.2.1. Uploaded by David Himmelstrup.
HAppS-IxSet:
Added by DavidHimmelstrup, Fri Feb 29 07:27:13 PST 2008..
HAppS-State 0.9.2.1. Uploaded by David Himmelstrup.
HAppS-State:
Event-based distributed state..
HAppS-Data 0.9.2.1. Uploaded by David Himmelstrup.
HAppS-Data:
HAppS data manipulation libraries.
HAppS-Util 0.9.2.1. Uploaded by David Himmelstrup.
HAppS-Util:
Web framework.
sessions 2008.2.28. Uploaded by Matthew Sackman.
sessions:
Session Types for Haskell.
utf8-string 0.3. Uploaded by Eric Mertens.
utf8-string:
Support for reading and writing UTF8 Strings.
EdisonCore 1.2.1.2. Uploaded by Robert Dockins.
EdisonCore:
A library of efficent, purely-functional data structures (Core
Implementations).
parameterized-data 0.1. Uploaded by Alfonso Acosta.
parameterized-data:
Parameterized data library implementing lightweight dependent
types.
unix 2.3.0.0. Uploaded by Ross Paterson.
unix:
POSIX functionality.
hoogle 3.1. Uploaded by Neil Mitchell.
hoogle:
Haskell API Search.
ftshell 0.2. Uploaded by Janis Voigtlaender.
ftshell:
Shell interface to the FreeTheorems library..
free-theorems 0.2. Uploaded by Janis Voigtlaender.
free-theorems:
Automatic generation of free theorems..
special-functors 1.0. Uploaded by Henning Thielemann.
special-functors:
Control.Applicative, Data.Foldable, Data.Traversable (compatibility
package).
type-level 0.1. Uploaded by Alfonso Acosta.
type-level:
Type-level programming library.
nymphaea 0.2. Uploaded by Gwern Branwen.
nymphaea:
An interactive GUI for manipulating L-systems.
hsc3 0.2. Uploaded by Rohan Drape.
hsc3:
Haskell SuperCollider.
hosc 0.2. Uploaded by Rohan Drape.
hosc:
Haskell Open Sound Control.
hslackbuilder 0.0.1. Uploaded by Andrea Rossato.
hslackbuilder:
HSlackBuilder automatically generates slackBuild scripts from a cabal
package.
hsparklines 0.1.0. Uploaded by Hitesh Jasani.
hsparklines:
Sparklines for Haskell.
sat-micro-hs 0.1.1. Uploaded by Denis Bueno.
sat-micro-hs:
A minimal SAT solver.
interlude 0.1.1. Uploaded by Gwern Branwen.
interlude:
Replaces some Prelude functions for enhanced error
reporting.
parse-dimacs 1.0.1. Uploaded by Denis Bueno.
parse-dimacs:
DIMACS CNF parser library.
bitset 0.5. Uploaded by Denis Bueno.
bitset:
A functional data structure for efficient membership
testing..
special-functors 1.0. Uploaded by Henning Thielemann.
special-functors:
Control.Applicative, Data.Foldable, Data.Traversable (compatibility
package).
condorcet 0.0.1. Uploaded by Gwern Branwen.
condorcet:
Library for Condorcet voting.
heap 0.2.3. Uploaded by Stephan Friedrichs.
heap:
Heaps in Haskell.
hspr-sh 0.3. Uploaded by Gwern Branwen.
hspr-sh:
Session handler for HSP.
hsp 0.2. Uploaded by Gwern Branwen.
hsp:
Haskell Server Pages is a library for writing dynamic server-side web
pages..
trhsx 0.2.1. Uploaded by Gwern Branwen.
trhsx:
trhsx is the preprocessor for Harp and HSP.
haskell-src-exts 0.2.1. Uploaded by Gwern Branwen.
haskell-src-exts:
Manipulating Haskell source: abstract syntax, lexer, parser, and
pretty-printer.
harp 0.2.1. Uploaded by Gwern Branwen.
harp:
HaRP allows pattern-matching with regular expressions.
HTF 0.1. Uploaded by Gwern Branwen.
HTF:
The Haskell Test Framework.
hsdip 0.1. Uploaded by Gwern Branwen.
hsdip:
hsdip - a Diplomacy parser/renderer.
mpdmate 0.1. Uploaded by Gwern Branwen.
mpdmate:
MPD/PowerMate executable.
powermate 0.1. Uploaded by Gwern Branwen.
powermate:
PowerMate bindings.
syb-with-class 0.4. Uploaded by David Himmelstrup.
syb-with-class:
Scrap Your Boilerplate With Class.
whim 0.1. Uploaded by Gwern Branwen.
whim:
A Haskell window manager.
memcached 0.1. Uploaded by Gwern Branwen.
memcached:
haskell bindings for memcached.
HaLeX 1.1. Uploaded by Gwern Branwen.
HaLeX:
HaLeX enables modelling, manipulation and animation of regular
languages.
Jobs Haskell for real-time control software. Tom Hawkins
announced
an opening for a Haskell job in real-time control software for vehicle and
machinery applications
Haskell for bioinformatics. Ketil Malde
announced
an open position for a 3-year Ph.D. scolarship at IMR working on
bioinformatics projects in Haskell
Blog noise Haskell news from
the blogosphere.
Barracuda
P2P Chat
A Lambda
Calculus Reducer A Fashion Magazine in
Haskell Introduction
to building stateful web apps in HAppS Intro
to HAppS-State Project Euler in
Haskell In
praise of mandatory indentation for novice programmers More Monads on
the Cheap: Inlined fromMaybe A
First Haskell Experience Haskell and
code coverage Why
I don't use Haskell for Functional Programming (monads,
lifting)
Quotes of the Week teamonkey: the Haskell solutions
that people are posting are generally so much more concise and elegant than for
any other language
Dan Zwell: I am fairly new to Haskell, and I didn't realize how
easy concurrent code is until I wrote this anonymous: The
Haskall (sic) language is often uses by very intelligent programmers, it
often allows to use lazy computations and iterations, but it has the
advantage that its iterators behave better (than in Python), and during the
generation of some items you can, when you want, refer and use the items
already generated. Corun: I don't understand, what's the
advantage of hugs? The uni here says to use hugs, though, but I kept finding
myself going in to ghci to get a useful error message They say that
if it compiles, it will run correctly. It?s nearly true! I?m amazed. ...
Such buglessness will remove a huge source of indeterminism in production
environments where the work of many teams is co-ordinated by schedules.
dolio: I've made a domain specific notation for describing
puddings. cschneid: [Haskell] changed the way I look at
decomposition of problems in the more corporate languages (Java and C#). I
use far fewer variables, and more side-effect free methods. It's made my
code clearer, and easier to test. nicodemus: I've written
some Erlang and much more Haskell. My take so far is that Erlang is good for
teaching you how to fish, Haskell is good for teaching you about procuring
food (including fish). paulzork: Haskell is to functional
programming like C is to imperative languages? Sort of the latin
root?
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at galois.com. The darcs
repository is available at darcs get http://code.haskell.org/~dons/code/hwn/ [Less]
|
Posted
about 16 years
ago
by
dons
Welcome to issue 70 of HWN, a newsletter covering
developments in the Haskell community.
One hundred unique new and updated libraries and applications in the past two
weeks, including mutable arrays, compression, games, web frameworks, data
... [More]
structures, a file system, Haskell tools, concurrency, graphics, cryptography,
systems administration, signal processing, new guis and several audio
libraries Hackage New and updated libraries in the Hackage library database.
ArrayRef 0.1.2. Uploaded by Gwern Branwen.
ArrayRef:
Unboxed references, dynamic arrays and more.
zlib 0.4.0.4. Uploaded by Duncan Coutts.
zlib:
Compression and decompression in the gzip and zlib formats.
hetris 0.1. Uploaded by Gwern Branwen.
hetris:
Text Tetris.
bzlib 0.4.0.3. Uploaded by Duncan Coutts.
bzlib:
Compression and decompression in the bzip2 format.
HAppS-Server 0.9.2. Uploaded by David Himmelstrup.
HAppS-Server:
Web related tools and services..
HAppS-State 0.9.2. Uploaded by David Himmelstrup.
HAppS-State:
Event-based distributed state..
HAppS-Data 0.9.2. Uploaded by David Himmelstrup.
HAppS-Data:
HAppS data manipulation libraries.
HAppS-IxSet 0.9.2. Uploaded by David Himmelstrup.
HAppS-IxSet:
Added by DavidHimmelstrup, Fri Feb 22 15:18:20 PST 2008..
HAppS-Util 0.9.2. Uploaded by David Himmelstrup.
HAppS-Util:
Web framework.
Ranged-sets 0.2.0. Uploaded by Paul Johnson.
Ranged-sets:
Ranged sets for Haskell.
halfs 0.2. Uploaded by Gwern Branwen.
halfs:
Haskell File System.
sessions 2008.2.22. Uploaded by Matthew Sackman.
sessions:
Session Types for Haskell.
infix 0.1. Uploaded by Gwern Branwen.
infix:
Infix expression re-parsing (for HsParser library).
reify 0.1. Uploaded by Gwern Branwen.
reify:
Serialize data.
highWaterMark 0.1. Uploaded by Gwern Branwen.
highWaterMark:
Memory usage statistics.
hinvaders 0.1. Uploaded by Gwern Branwen.
hinvaders:
Space Invaders.
baskell 0.1. Uploaded by Gwern Branwen.
baskell:
An interpreter for a small functional language.
control-event 0.2. Uploaded by Thomas DuBuisson.
control-event:
Event scheduling system..
nymphaea 0.1. Uploaded by Gwern Branwen.
nymphaea:
An interactive GUI for manipulating L-systems.
hopenssl 1.0. Uploaded by Peter Simons.
hopenssl:
FFI bindings to OpenSSL's EVP digest interface.
Monadius 0.91. Uploaded by Gwern Branwen.
Monadius:
2-D arcade scroller.
postmaster 0.1. Uploaded by Peter Simons.
postmaster:
Postmaster ESMTP Server.
hsyslog 1.2. Uploaded by Peter Simons.
hsyslog:
FFI interface to syslog(3) from POSIX.1-2001..
hsemail 1.2. Uploaded by Peter Simons.
hsemail:
Internet Message Parsers.
hsdns 1.3. Uploaded by Peter Simons.
hsdns:
Asynchronous DNS Resolver.
funcmp 1.1. Uploaded by Peter Simons.
funcmp:
Functional MetaPost.
streamproc 1.1. Uploaded by Peter Simons.
streamproc:
Stream Processer Arrow.
pugs-HsSyck 0.41. Uploaded by Gwern Branwen.
pugs-HsSyck:
Fast, lightweight YAML loader and dumper.
HsSyck 0.42. Uploaded by Gwern Branwen.
HsSyck:
Fast, lightweight YAML loader and dumper.
mohws 0.1. Uploaded by Gwern Branwen.
mohws:
Modular Haskell Web Server.
HsJudy 0.1. Uploaded by Gwern Branwen.
HsJudy:
Judy bindings, and some nice APIs.
probability 0.2.1. Uploaded by Henning Thielemann.
probability:
Probabilistic Functional Programming.
dsp 0.2.1. Uploaded by Henning Thielemann.
dsp:
Haskell Digital Signal Processing.
pugs-hsregex 1.0. Uploaded by Gwern Branwen.
pugs-hsregex:
Haskell PCRE binding.
ListLike 1.0.1. Uploaded by John Goerzen.
ListLike:
Generic support for list-like structures.
SDL-gfx 0.5.2. Uploaded by David Himmelstrup.
SDL-gfx:
Binding to libSDL_gfx.
SDL-ttf 0.5.2. Uploaded by David Himmelstrup.
SDL-ttf:
Binding to libSDL_ttf.
SDL-mixer 0.5.2. Uploaded by David Himmelstrup.
SDL-mixer:
Binding to libSDL_mixer.
SDL-image 0.5.2. Uploaded by David Himmelstrup.
SDL-image:
Binding to libSDL_image.
SDL 0.5.2. Uploaded by David Himmelstrup.
SDL:
Binding to libSDL.
DeepArrow 0.2. Uploaded by Conal Elliott.
DeepArrow:
Arrows for "deep application".
GuiTV 0.4. Uploaded by Conal Elliott.
GuiTV:
GUIs for Tangible Values.
Shellac-compatline 0.9. Uploaded by Robert Dockins.
Shellac-compatline:
"compatline" backend module for Shellac.
WordNet 0.1.2. Uploaded by Max Rabkin.
WordNet:
Haskell interface to the WordNet database.
lazyarray 0.1.3. Uploaded by Milan Straka.
lazyarray:
Efficient implementation of lazy monolithic arrays (lazy in
indexes)..
GenI 0.16.1. Uploaded by Eric Kow.
GenI:
A natural language generator (specifically, an FB-LTAG surface
realiser).
libGenI 0.16.1. Uploaded by Eric Kow.
libGenI:
A natural language generator (specifically, an FB-LTAG surface
realiser).
alsa-midi 0.3.1. Uploaded by Henning Thielemann.
alsa-midi:
Bindings for the ALSA sequencer API (MIDI stuff).
midi 0.0.5. Uploaded by Henning Thielemann.
midi:
Handling of MIDI messages and files.
event-list 0.0.6. Uploaded by Henning Thielemann.
event-list:
Event lists with relative or absolute time stamps.
numeric-quest 0.1.1. Uploaded by Henning Thielemann.
numeric-quest:
Math and quantum mechanics.
markov-chain 0.0.2. Uploaded by Henning Thielemann.
markov-chain:
Markov Chains for generating random sequences with a user definable
behaviour..
hmp3 1.5.1. Uploaded by Don Stewart.
hmp3:
An ncurses mp3 player written in Haskell.
TypeIlluminator 0.0. Uploaded by Gwern Branwen.
TypeIlluminator:
TypeIlluminator is a prototype tool exploring debugging of type
errors/.
Takusen 0.7. Uploaded by Don Stewart.
Takusen:
Database library with left-fold interface, for PostgreSQL, Oracle,
SQLite, ODBC..
carray 0.1.2. Uploaded by Jed Brown.
carray:
A C-compatible array library..
jack 0.5. Uploaded by Henning Thielemann.
jack:
Bindings for the JACK Audio Connection Kit.
non-negative 0.0.1. Uploaded by Henning Thielemann.
non-negative:
Non-negative numbers.
RJson 0.3.3. Uploaded by Alex Drummond.
RJson:
A reflective JSON serializer/parser..
clevercss 0.1.1. Uploaded by Georg Brandl.
clevercss:
A CSS preprocessor.
fft 0.1.1. Uploaded by Jed Brown.
fft:
Bindings to the FFTW library..
storable-complex 0.1. Uploaded by Jed Brown.
storable-complex:
Storable instance for Complex.
winerror 0.1. Uploaded by Felix Martini.
winerror:
Error handling for foreign calls to the Windows API..
linkchk 0.0.2. Uploaded by Gwern Branwen.
linkchk:
linkchk is a network interface link ping monitor..
popenhs 1.0.0. Uploaded by Gwern Branwen.
popenhs:
popenhs is a popen-like library for Haskell..
Flippi 0.0.3. Uploaded by Gwern Branwen.
Flippi:
Wiki.
DisTract 0.2.5. Uploaded by Gwern Branwen.
DisTract:
Distributed Bug Tracking System.
goa 3.0. Uploaded by Gwern Branwen.
goa:
GHCi bindings to lambdabot.
hinstaller 2008.2.16. Uploaded by Gwern Branwen.
hinstaller:
Installer wrapper for Haskell applications.
GeoIp 0.1. Uploaded by Stephen Cook.
GeoIp:
Pure bindings for the MaxMind IP database..
hpodder 1.1.2. Uploaded by John Goerzen.
hpodder:
Podcast Aggregator (downloader).
wxcore 0.10.2. Uploaded by Eric Kow.
wxcore:
wxHaskell core.
wx 0.10.2. Uploaded by Eric Kow.
wx:
wxHaskell.
flow2dot 0.3. Uploaded by Dmitry Astapov.
flow2dot:
Generates sequence diagrams from textual descriptions.
strict-concurrency 0.2. Uploaded by Donald Stewart.
strict-concurrency:
Strict concurrency abstractions.
TV 0.4. Uploaded by Conal Elliott.
TV:
Tangible Values -- composable interfaces.
geniconvert 0.15. Uploaded by Eric Kow.
geniconvert:
Conversion utility for the GenI generator.
ctemplate 0.1. Uploaded by Adam Langley.
ctemplate:
Binding to the Google ctemplate library.
arrows 0.4. Uploaded by Ross Paterson.
arrows:
Arrow classes and transformers.
lhs2tex 1.13. Uploaded by Andres Loeh.
lhs2tex:
Preprocessor for typesetting Haskell sources with LaTeX.
NGrams 1.1. Uploaded by Justin Bailey.
NGrams:
Simple application for calculating n-grams using Google..
lambdabot 4.1. Uploaded by Gwern Branwen.
lambdabot:
A multi-talented IRC bot.
HsOpenSSL 0.4. Uploaded by Masatake Daimon.
HsOpenSSL:
(Part of) OpenSSL binding for Haskell.
network-minihttp 0.1. Uploaded by Adam Langley.
network-minihttp:
A very minimal webserver.
ZFS 0.0. Uploaded by Gwern Branwen.
ZFS:
Oleg's Zipper FS.
fst 0.9. Uploaded by Gwern Branwen.
fst:
Finite state transducers.
haskell-in-space 0.1. Uploaded by Gwern Branwen.
haskell-in-space:
'Asteroids' arcade games..
unix-pty-light 0.1. Uploaded by Stuart Cook.
unix-pty-light:
POSIX pseudo-terminal support.
bot 0.1. Uploaded by Conal Elliott.
bot:
bots for functional reactive programming.
Hedi 0.1. Uploaded by Paolo Veronelli.
Hedi:
Line oriented editor.
network-bytestring 0.1.1.2. Uploaded by Johan Tibell.
network-bytestring:
Fast and memory efficient low-level networking.
leksah 0.1.1. Uploaded by Juergen NicklischFranken.
leksah:
Haskell IDE written in Haskell.
nano-hmac 0.2.0. Uploaded by Hitesh Jasani.
nano-hmac:
Bindings to OpenSSL HMAC..
monadenv 0.0-2005-02-14. Uploaded by Gwern Branwen.
monadenv:
Added by GwernBranwen, Sun Feb 10 20:15:11 PST 2008..
blockio 0.0-2006-02-03. Uploaded by Gwern Branwen.
blockio:
Block-oriented I/O Driver.
child 0.0-2005-02-14. Uploaded by Gwern Branwen.
child:
Added by GwernBranwen, Sun Feb 10 19:35:20 PST 2008..
highlighting-kate 0.2.1. Uploaded by John MacFarlane.
highlighting-kate:
Syntax highlighting.
Blog noise Haskell news from
the blogosphere.
Unit testing is
not a substitute for static typing
Misunderstandings
about Erlang (and functional programming) Simple
UNIX tools in OCaml The
Evolution of the Imperative Programmer Onageristic
speculation Rotating
args in Haskell and Ruby block style programming Terse
and verbose variable names in Haskell Pysec:
Monadic Combinatoric Parsing in Python (aka Parsec in Python)
Haskell and C
structures Haskell on Windows
Haskell,
HDBC and Sqlite Parsec
and zippers for interpreters Playing
with monad transformers Code
CAN be beautiful Elegance
and Power Why
don't you use Haskell? Functional
control flow Programs
as functions and how I/O can fit in nicely Elegance
and power How
important is elegance? Types,
named (was: 'Name that type!'), plus two more questions Code
CAN Be Beautiful True
unions The
craft of functional programming :: review
Quotes of the Week Erik Engbrecht: The key to language
success is making it powerful enough for a couple cowboys to do the work of an
entire team in a shorter period of time. Selling fast and cheap is easy. If you
have enough fast and cheap, the business people won't care if you are making it
out of bubble-gum and duct-tape, because you are giving them what they
want.
pozorvlak: I'm going to make what should be an uncontroversial
statement: if you don't understand and use monads, you are at best a quarter
of a Haskell programmer. A corollary of this is that, since using monad
transformers is the only (or at least the approved) way to use two or more
monads together, if you don't understand and use monad transformers you are
at best half a Haskell programmer. mrevelle: As Lisp to
lists and Smalltalk to objects: Haskell to computation
Paul: I would use Haskell to build a product or service, and I
mean that in the sense that I can see how to train a team and build
processes (prototyping, implementation, quality, deployment, support) around
Haskell. Yegge: Haskell, OCaml and their ilk are part of a
45-year-old static-typing movement within academia to try to force people to
model everything.
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at galois.com. The darcs
repository is available at darcs get http://code.haskell.org/~dons/code/hwn/ [Less]
|
Posted
about 16 years
ago
by
dons
Welcome to issue 69 of HWN, a newsletter covering
developments in the Haskell community.
A quick update HWN this week, with a gazillion new libraries on Hackage
Hackage New and updated libraries in the Hackage library database.
WordNet 0.1.1.
... [More]
Uploaded by Max Rabkin.
WordNet:
Haskell interface to the WordNet database.
lazysmallcheck 0.1. Uploaded by Gwern Branwen.
lazysmallcheck:
A library for demand-driven testing of Haskell programs.
DrIFT 2.2.3. Uploaded by Gwern Branwen.
DrIFT:
Program to derive type class instances.
highlighting-kate 0.2. Uploaded by John MacFarlane.
highlighting-kate:
Syntax highlighting.
leksah 0.1. Uploaded by Juergen NicklischFranken.
leksah:
Genuine Haskell Face.
frag 1.1. Uploaded by Gwern Branwen.
frag:
3-D First Person Shooter (FPS).
GoogleChart 0.2. Uploaded by Evan Martin.
GoogleChart:
Generate web-based charts using the Google Chart API.
HFuse 0.1. Uploaded by Gwern Branwen.
HFuse:
HFuse is a binding for the Linux FUSE library.
GoogleChart 0.1. Uploaded by Evan Martin.
GoogleChart:
Generate web-based charts using the Google Chart API.
Finance-Quote-Yahoo 0.5.0. Uploaded by Brad Clawsie.
Finance-Quote-Yahoo:
Obtain quote data from finance.yahoo.com.
binary-strict 0.3.0. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
Stream 0.2.3. Uploaded by Wouter Swierstra.
Stream:
A library for manipulating infinite lists..
Finance-Treasury 0.1.1. Uploaded by Stephen Lihn.
Finance-Treasury:
Obtain Treasury yield curve data.
Hedi 0.1. Uploaded by Paolo Veronelli.
Hedi:
Line oriented editor.
newports 1.1. Uploaded by Brad Clawsie.
newports:
List ports newer than N days on a FreeBSD system.
Finance-Treasury 0.1. Uploaded by Stephen Lihn.
Finance-Treasury:
Obtain Treasury yield curve data.
GPLib 0.0. Uploaded by Gwern Branwen.
GPLib:
Generic library for genetic programming.
nano-hmac 0.1.1. Uploaded by Hitesh Jasani.
nano-hmac:
Bindings to OpenSSL HMAC..
multiset 0.1. Uploaded by Twan VanLaarhoven.
multiset:
The Data.MultiSet container type.
hpodder 1.1.0. Uploaded by John Goerzen.
hpodder:
Podcast Aggregator (downloader).
bimap 0.2.1. Uploaded by Stuart Cook.
bimap:
Bidirectional mapping between two key types.
monadLib 3.4.4. Uploaded by Iavor Diatchki.
monadLib:
A collection of monad transformers..
IOSpec 0.2. Uploaded by Wouter Swierstra.
IOSpec:
A pure specification of the IO monad..
bimap 0.2. Uploaded by Stuart Cook.
bimap:
Bidirectional mapping between two key types.
strictify 0.1. Uploaded by Sterling Clover.
strictify:
Find a local optimum of strictness annotations..
heap 0.2.2. Uploaded by Stephan Friedrichs.
heap:
Heaps in Haskell.
LDAP 0.6.4. Uploaded by John Goerzen.
LDAP:
Haskell binding for C LDAP API.
HStringTemplate 0.2. Uploaded by Sterling Clover.
HStringTemplate:
StringTemplate implementation in Haskell..
RJson 0.3.2. Uploaded by Alex Drummond.
RJson:
A reflective JSON serializer/parser..
network-dns 0.1.1. Uploaded by Adam Langley.
network-dns:
A pure Haskell, asyncronous DNS client library.
lcs 0.2. Uploaded by Ian Lynagh.
lcs:
Find longest common sublist of two lists.
tracker 0.1. Uploaded by Will Thompson.
tracker:
Client library for Tracker metadata database, indexer and search
tool.
CC-delcont 0.2. Uploaded by Dan Doel.
CC-delcont:
Delimited continuations and dynamically scoped variables.
control-timeout 0.1.2. Uploaded by Adam Langley.
control-timeout:
Timeout handling.
network-dns 0.1. Uploaded by Adam Langley.
network-dns:
A pure Haskell, asyncronous DNS client library.
binary-strict 0.2.4. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
heap 0.1.1. Uploaded by Stephan Friedrichs.
heap:
Heaps in Haskell.
HCL 1.3. Uploaded by Justin Bailey.
HCL:
High-level library for building command line interfaces..
yi 0.3. Uploaded by Jean PhilippeBernardy.
yi:
The Haskell-Scriptable Editor.
binary-strict 0.2.3. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
heap 0.1. Uploaded by Stephan Friedrichs.
heap:
Heaps in Haskell.
pureMD5 0.1.2. Uploaded by Thomas DuBuisson.
pureMD5:
MD5 implementations that should become part of a ByteString Crypto
package..
RJson 0.3.1. Uploaded by Alex Drummond.
RJson:
A reflective JSON serializer/parser..
template 0.1.1.1. Uploaded by Johan Tibell.
template:
Simple string substitution.
network-bytestring 0.1.1.1. Uploaded by Johan Tibell.
network-bytestring:
Fast and memory efficient low-level networking.
ftphs 1.0.4. Uploaded by John Goerzen.
ftphs:
FTP Client and Server Library.
mersenne-random-pure64 0.1.1. Uploaded by Donald Stewart.
mersenne-random-pure64:
Generate high quality pseudorandom numbers purely using a Mersenne
Twister.
Diff 0.1. Uploaded by Sterling Clover.
Diff:
O(ND) diff algorithm in haskell..
crack 0.1. Uploaded by Trevor Elliott.
crack:
A haskell binding to cracklib.
miniplex 0.3.3. Uploaded by Lukas Mai.
miniplex:
simple 1-to-N interprocess communication.
colock 0.2.2. Uploaded by Lukas Mai.
colock:
thread-friendly file locks that don't block the entire
program.
mersenne-random-pure64 0.1. Uploaded by Donald Stewart.
mersenne-random-pure64:
Generate high quality pseudorandom numbers purely using a Mersenne
Twister.
network-rpca 0.0.1. Uploaded by Adam Langley.
network-rpca:
A cross-platform RPC library.
xmonad-contrib 0.6. Uploaded by Spencer Janssen.
xmonad-contrib:
Third party extensions for xmonad.
xmonad 0.6. Uploaded by Spencer Janssen.
xmonad:
A tiling window manager.
codec-libevent 0.1.2. Uploaded by Adam Langley.
codec-libevent:
Cross-platform structure serialisation.
bytestringparser 0.3. Uploaded by Bryan OSullivan.
bytestringparser:
Combinator parsing with Data.ByteString.Lazy.
HStringTemplate 0.2. Uploaded by Sterling Clover.
HStringTemplate:
StringTemplate implementation in Haskell..
value-supply 0.1. Uploaded by Iavor Diatchki.
value-supply:
A library for generating values without having to thread
state..
derive 0.1.1. Uploaded by Neil Mitchell.
derive:
A program and library to derive instances for data types.
control-timeout 0.1.1. Uploaded by Adam Langley.
control-timeout:
Timeout handling.
mkcabal 0.4.1. Uploaded by Donald Stewart.
mkcabal:
Generate cabal files for a Haskell project.
regexpr 0.2.9. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
mtlparse 0.0.0.5. Uploaded by Yoshikuni Jujo.
mtlparse:
parse library use mtl package.
cgi 3001.1.5.2. Uploaded by Bjorn Bringert.
cgi:
A library for writing CGI programs.
xhtml 3000.0.2.2. Uploaded by Bjorn Bringert.
xhtml:
An XHTML combinator library.
harpy 0.4. Uploaded by Martin Grabmueller.
harpy:
Runtime code generation for x86 machine code.
editline 0.2. Uploaded by Judah Jacobson.
editline:
Bindings to the editline library (libedit)..
hmatrix 0.2.0.0. Uploaded by Alberto Ruiz.
hmatrix:
Linear algebra and numerical computations.
regexpr 0.2.8. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
pcre-light 0.3. Uploaded by Donald Stewart.
pcre-light:
A small, efficient and portable regex library for Perl 5 compatible
regular expressions.
mersenne-random 0.1. Uploaded by Donald Stewart.
mersenne-random:
Generate high quality pseudorandom numbers using a SIMD Fast Mersenne
Twister.
AvlTree 2.4. Uploaded by Adrian Hey.
AvlTree:
Balanced binary trees using AVL algorithm..
fec 0.1.1. Uploaded by Adam Langley.
fec:
Forward error correction of ByteStrings.
COrdering 2.1. Uploaded by Adrian Hey.
COrdering:
An algebraic data type similar to Prelude Ordering..
i18n 0.3. Uploaded by Eugene Grigoriev.
i18n:
Internationalization for Haskell.
binary-strict 0.2.2. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
regexpr 0.2.6. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
RJson 0.2. Uploaded by Alex Drummond.
RJson:
A reflective JSON serializer/parser..
regexpr 0.2.5. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
fec 0.1. Uploaded by Adam Langley.
fec:
Forward error correction of ByteStrings.
dataenc 0.10.2. Uploaded by Magnus Therning.
dataenc:
Data encoding library.
regexpr 0.2.3. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
regexpr 0.2.2. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
reactive 0.3. Uploaded by Conal Elliott.
reactive:
Simple foundation for functional reactive programming.
regexpr 0.2.1. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
djinn 2008.1.18. Uploaded by Lennart Augustsson.
djinn:
Generate Haskell code from a type.
Etherbunny 0.3. Uploaded by Nicholas Burlett.
Etherbunny:
A network analysis toolkit for Haskell.
regexpr 0.2.0. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
RJson 0.1. Uploaded by Alex Drummond.
RJson:
A reflective JSON serializer/parser..
RJson 0.1. Uploaded by Alex Drummond.
RJson:
A reflective JSON serializer/parser..
regexpr 0.1.7. Uploaded by Yoshikuni Jujo.
regexpr:
regular expression like Perl/Ruby in Haskell.
reactive 0.2. Uploaded by Conal Elliott.
reactive:
Simple foundation for functional reactive programming.
srcinst 0.8.10. Uploaded by John Goerzen.
srcinst:
Build and install Debian packages completely from source.
dfsbuild 1.0.2. Uploaded by John Goerzen.
dfsbuild:
Build Debian From Scratch CD/DVD images.
darcs-buildpackage 0.5.12. Uploaded by John Goerzen.
darcs-buildpackage:
Tools to help manage Debian packages with Darcs.
anydbm 1.0.5. Uploaded by John Goerzen.
anydbm:
Interface for DBM-like database systems.
HDBC-sqlite3 1.1.4.0. Uploaded by John Goerzen.
HDBC-sqlite3:
Sqlite v3 driver for HDBC.
HDBC-postgresql 1.1.4.0. Uploaded by John Goerzen.
HDBC-postgresql:
PostgreSQL driver for HDBC.
HDBC-odbc 1.1.4.0. Uploaded by John Goerzen.
HDBC-odbc:
ODBC driver for HDBC.
magic 1.0.7. Uploaded by John Goerzen.
magic:
Interface to C file/magic library.
ListLike 1.0.1. Uploaded by John Goerzen.
ListLike:
Generic support for list-like structures.
LDAP 0.6.3. Uploaded by John Goerzen.
LDAP:
Haskell binding for C LDAP API.
hg-buildpackage 1.0.4. Uploaded by John Goerzen.
hg-buildpackage:
Tools to help manage Debian packages with Mercurial.
HDBC 1.1.4. Uploaded by John Goerzen.
HDBC:
Haskell Database Connectivity.
HSH 1.2.5. Uploaded by John Goerzen.
HSH:
Library to mix shell scripting with Haskell programs.
editline 0.1. Uploaded by Judah Jacobson.
editline:
Bindings to the editline library (libedit)..
pureMD5 0.1.1. Uploaded by Thomas DuBuisson.
pureMD5:
MD5 implementations that should become part of a ByteString Crypto
package..
hmp3 1.4. Uploaded by Donald Stewart.
hmp3:
An ncurses mp3 player written in Haskell.
binary-strict 0.2.1. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
GLFW 0.3. Uploaded by Paul Liu.
GLFW:
A binding for GLFW, An OpenGL Framework.
hbeat 0.1.1. Uploaded by Tim Docker.
hbeat:
A simple step sequencer GUI..
hackage2hwn 0.2.1. Uploaded by Donald Stewart.
hackage2hwn:
Convert hackage = Hackage RSS feeds to Haskell Weekly News
format.
tagsoup 0.4. Uploaded by Neil Mitchell.
tagsoup:
Parsing and extracting information from (possibly malformed) HTML
documents.
HaXml 1.19.2. Uploaded by Malcolm Wallace.
HaXml:
Utilities for manipulating XML documents.
Emping 0.3.1. Uploaded by Hans VanThiel.
Emping:
derives heuristic rules from nominal data.
hbeat 0.1. Uploaded by Tim Docker.
hbeat:
A simple step sequencer GUI..
Imlib 0.1.1. Uploaded by Cale Gibbard.
Imlib:
Added by CaleGibbard, Sun Jan 13 22:26:59 PST 2008..
pcre-light 0.2. Uploaded by Donald Stewart.
pcre-light:
A small, efficient and portable regex library for Perl 5 compatible
regular expressions.
YamlReference 0.8. Uploaded by Oren BenKiki.
YamlReference:
YAML reference implementation.
ContArrow 0.0.4. Uploaded by Evgeny Jukov.
ContArrow:
Control.Arrow.Transformer.Cont.
ContArrow 0.0.3. Uploaded by Evgeny Jukov.
ContArrow:
Control.Arrow.Transformer.Cont.
mkcabal 0.4. Uploaded by Donald Stewart.
mkcabal:
Generate cabal files for a Haskell project.
pcre-light 0.1. Uploaded by Donald Stewart.
pcre-light:
A lightweight binding to PCRE.
YamlReference 0.7. Uploaded by Oren BenKiki.
YamlReference:
YAML reference implementation.
Crypto 4.1.0. Uploaded by Dominic Steinitz.
Crypto:
DES, Blowfish, AES, TEA, SHA1, MD5, RSA, BubbleBabble,
Hexdump, Support for Word128, Word192 and Word256 and Beyond, PKCS5 Padding,
Various Encryption Modes e.g. Cipher Block Chaining all in one
package..
containers 0.1.0.1. Uploaded by Ross Paterson.
containers:
Assorted concrete container types.
ConfigFile 1.0.4. Uploaded by John Goerzen.
ConfigFile:
Configuration file reading & writing.
MissingH 1.0.0. Uploaded by John Goerzen.
MissingH:
Large utility library.
hslogger 1.0.4. Uploaded by John Goerzen.
hslogger:
Versatile logging framework.
hslogger 1.0.2. Uploaded by John Goerzen.
hslogger:
Versatile logging framework.
BerkeleyDB 0.3. Uploaded by John McCall.
BerkeleyDB:
Bindings for Berkeley DB v1.x.
BitSyntax 0.3.2. Uploaded by Adam Langley.
BitSyntax:
A module to aid in the (de)serialisation of binary data.
Hashell 0.15. Uploaded by Gwern Branwen.
Hashell:
Simple shell written in Haskell.
binary-strict 0.2. Uploaded by Adam Langley.
binary-strict:
Binary deserialisation using strict ByteStrings.
Shu-thing 1.1. Uploaded by Gwern Branwen.
Shu-thing:
A vector shooter game.
zlib 0.4.0.2. Uploaded by Duncan Coutts.
zlib:
Compression and decompression in the gzip and zlib formats.
i18n 0.2. Uploaded by Eugene Grigoriev.
i18n:
Internationalization for Haskell.
pandoc 0.46. Uploaded by John MacFarlane.
pandoc:
Conversion between markup formats.
hscolour 1.9. Uploaded by Malcolm Wallace.
hscolour:
Colourise Haskell code..
regex-pcre 0.94.1. Uploaded by ChrisKuklewicz.
regex-pcre:
Replaces/Enhances Text.Regex.
regex-posix 0.93.1. Uploaded by Chris Kuklewicz.
regex-posix:
Replaces/Enhances Text.Regex.
regex-base 0.93.1. Uploaded by Chris Kuklewicz.
regex-base:
Replaces/Enhances Text.Regex.
regex-compat 0.91. Uploaded by Chris Kuklewicz.
regex-compat:
Replaces/Enhances Text.Regex.
haddock 2.0.0.0. Uploaded by David Waern.
haddock:
Added by DavidWaern
Blog noise Haskell news from
the blogosphere.
Scala
Buzzzzings
Taxicab
Numbers Tuppence
Tour of Haskell Concurrency Constructs Power
of Functional Programming, its Features and its Future Monads
in Python (with nice syntax!) Monads
in Ruby (with nice syntax!) The
Marvels of Monads (in C#) Pointfree
programming in OCaml HSOE
Chapter 3 Extra
type safety using polymorphic types as first-level refinements
Why
you should use Haskell for your next domain specific language
Record
system headaches Programming Erlang Haskell
syntax is not Java syntax; good or bad? Judging
programming languages by the results One
line binary reader in Haskell On
the utility of functional programming The
Rise Of Functional Programming: F#/Scala/Haskell and the failing of
Lisp Seeqsuq:
A Seeqpod URL Ripper (in Haskell) 2008
predictions The
Haskell Program Coverage Toolkit (part 1) Haskell
Code Coverage tool available A
Little Lesson on Laziness and Unsafety Haskell's
do syntax for python and ruby Error
handling in Python: monads are too much for me Simple
POSIX regular expression example Read
the content of a file into a list of string How not to explain Haskell
monads HStringTemplate:
An Elegant, Functional, Nifty Templating Engine for Haskell. A (hopefully) painless
introduction to monads Simple
Type Inference in Haskell Quality assurance for Haskell
code via code coverage Getting started with Yi,
the haskell editor Haskell
Impressions, Part I Software
Transactional Memory for F# One
or so word summary of the programming languages I work with HStringTemplate:
Turtles all the way Scraping
my boilerplate: Generics instead of Records Functional
Programming is Hard Erik Meijer:
Evaluating Functional Programming Language Purity :: Video Solving
XKCD's Ghost problem in Haskell: First player wins Haskell
Function calls and Parentheses an elementary proof
of the undecidability of the halting problem Invasion of the multi-core
machines Monads
for Imperative Peeps Haskell
Shuffling Notes on
Haskell Functional
Programming Languages Case
Study: Using Haskell and HAppS for Openomy API v2.0 A Haskell Hackathon (in
Japanese) Control.Parallel.Strategies
introduction 'I asked the manager if
they were considering using such languages. He replied that they had
actually considered using Haskell for some smaller projects' Solving
IO Sequencing in Haskell with a Monad Haskell
Music Matching
checklists using Haskell State monads Haskell
is a very expressive language Counting
Infinity Haskell,
del.icio.us, and JSON It's time for Haskell in
the web browser OpenGL
programming with Haskell unfolds
in scala Haskell
Snippet: looking at foldl (also a java version) MatLab:
Why OCaml and Haskell are not ready for general scientists -- missing
libraries Problems
in Lisp: Historical relics, poor FFI, libraries, forks On blub
Refining
Pipelines Purely
functional recursive types in Haskell and Python Counting
matches in a list SPJ
on .NET Rocks Hackage, cabal
and the google charts api Haskell Rocks!
How
many functions are there from () to ()?
Quotes of the Week Peter: I hardly know Haskell, but I
can already write some code much faster and easier than I could do in C/C (and
I've been programming 2 decades in that language)
Miguel Mitrofanov: Since NaN /= NaN, I think, we should
decipher 'NaN' as 'Not a NaN' Achim Schneider: The essence
of non-strictness, though, is another kind of story. Like a golem plowing
half of the country until you remember that you placed him a bit
absent-mindedly into your backyard and said 'plow', that still won't plow
mountains. The essence of strictness is easy, though: get stuck on a stone,
fall over and continue moving until you break. monochrom:
OCaml tells you 'map f xs is bad because it takes O(n) space'. Haskell tells
you 'map f xs' is good because it takes O(1) space
ddarius: It says *right on the box* that it it's intended for
*both* research and applications. Clifford Beshers: Why
Haskell? Medical researchers announced today that MRI studies reveal that
the structure of the human brain is significantly different in adolescence
than adulthood. Larry O'Brien: I really had a hard time
refactoring my Ruby into a packrat parser. This was due, in no small part,
because of the difficulty in understanding the types being built-up in the
data structure. The paper, in explicitly-typed Haskell: clear as a bell. My
code's behavior on unit tests: virtually indistinguishable from random.
SuperGrade: Haskell kind of herds you into functional
programming. There are advantages to this manner of coding, and I'm getting
to thinking you should attempt code this way almost all of the time,
regardless of language. Berlin Brown: Haskell is readable,
fast, and expressive. I like it. Yaakov Nemoy: Changing
the type of a function in Python will lead to strange runtime errors that
take some work to debug, whereas, when I tinker with a program in Haskell, I
already know it will work once it compiles. Michael Reid:
Learning Haskell has completely reversed my feeling that static typing is an
old outdated idea. The power of Haskell's type system makes it feel like you
are programming in a dynamic language to some degree, yet all of it is
type-checked, and that is just *really* cool. weavejester:
I've come across many parser generators that are a dream to work with in
comparison to lex and yacc. The best one I've found so far is Haskell's
Parsec. David Roundy: What's the good of having a
haskell-programming computational linguist on board if we can't get static
compile-time guarantees of grammatical correctness? Bulat
Ziganshin: When FP just pass all the functions and data required for
specialization of generic algorithm, OOP provides interfaces, virtual
functions, anonymous classes, delegates and lots of other interesting ways
to hide the fact of lack of first-class functions :) [Douglas]
Adams: was interested in computing --- I think his reaction to being
told about functional programming was to wonder what non-functional
programming might be. ezekiel: I find Haskell to be like
Lisp and APL and Python all put together in a way that leads me quickly to a
solid result. Other languages work, but the road to the result is
bumpier. AlanYx: I've found that Haskell's uber-strong,
static type system does help me be productive, because it increases the
class of bugs that can be found at compile time, forces thinking at a higher
level, and can help avoid edits to existing code breaking things elsewhere
in the code anonymous: Closures in today's world are a
'language geek' feature. Unless done extremely carefully and in a way that
supports the various skill levels of developers, they end up being unusable
and unsupportable by anything less than computer language savants. In their
inherent obscurity and complexity, 'language geek' style closures are about
as anti-Java as you can get. anonymous: I work in a
Smalltalk shop, where we extend and maintain an application that has been
around over a decade. During the maintenance part of our job, it would be
really nice to have type declarations on variables. For maintenance, the
more dependable information we have, the better! The fewer things that can
escape as runtime exceptions, the better! consultant
barbie: Languages are hard. Let's write web frameworks and go
shopping!
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at galois.com. The darcs
repository is available at darcs get http://code.haskell.org/~dons/code/hwn/ [Less]
|
Posted
over 16 years
ago
by
dons
Welcome to issue 68 of HWN, a newsletter covering
developments in the Haskell community.
This HWN features new releases of the GHC and nhc98 Haskell compilers, a
pre-release of darcs 2.0, several new user groups formed, and of course, more
than
... [More]
100 updated and new libraries Announcements GHC
6.8.2. The GHC Team
announced the
release of GHC 6.8.2, featuring optimisation improvements, improvements to
ghci and fixes to standalone deriving.
nhc98 1.2 released. Malcolm Wallace
announced
the release of nhc98 1.2.
1.20 is a refreshed release with many of the current core library packages
included, and a variety of small bugfixes since the last release. It
successfully compiles and runs more programs from the nobench suite than jhc,
hbc, Hugs, or yhc. It generates an interpreted bytecode that, on the whole runs
faster than that generated by Hugs or yhc, and in many cases is also faster than
ghci. Although nhc98 is written in Haskell, you don't need an existing Haskell
compiler on your platform to build nhc98 - a C compiler will do. Hence, it is
portable to almost any unix-like machine with a 32-bit compatibility mode. Many
useful build tools come included: hmake (the inspiration for ghc --make), hi
(interactive read-eval-print, like Hugs or ghci), cpphs (Haskell-aware
replacement for cpp) and hsc2hs (preprocessor for FFI code) darcs
2.0.0pre2. David Roundy
announced
the availability of the second prerelease of darcs
two, darcs 2.0.0pre2. This release fixes several severe performance bugs
that were present in the first prerelease. These issues were identified and
fixed thanks to the helpful testing of Simon Marlow and Peter Rockai. We
also added support for compilation under ghc 6.4, so even more users should
be able to test this release.
The Monad.Reader Issue 9: SoC special. Wouter Swierstra
announced
a new issue of The Monad.Reader, a 'Summer of Code Special' - it consists of
three articles from student participants of Google's Summer of Code,
describing the projects they worked on.
What's happening with Haskell? The 13th HCAR. Andres Loeh
announced the 13th edition
of the Haskell Communities and Activities Report
Teach yourself gtk2hs in 21 hours. Hans van Thiel
announced
a Gtk2Hs basics tutorial, based on the Tony Gale and Ian Main GTK 2.0
tutorial, is now available for review and comment.
Minimalistic Haskell blog framework. Paul Brown
announced
a lightweight, experimental blog publishing application, perpubplat
atom. Tom Hawkins
announced
the release of atom 2007.12; atom is a domain-specific language embedded in
Haskell for describing real-time control applications
Hackage New and updated libraries in the Hackage library database.
bytestring 0.9.0.4. Uploaded by DonaldStewart.
bytestring:
Fast, packed, strict and lazy byte arrays with a list
interface.
uuagc 0.9.5. Uploaded by ArieMiddelkoop.
uuagc:
Attribute Grammar System of Universiteit Utrecht.
uulib 0.9.5. Uploaded by ArieMiddelkoop.
uulib:
Haskell Utrecht Tools Library.
llvm 0.0.2. Uploaded by BryanOSullivan.
llvm:
Bindings to the LLVM compiler toolkit.
HDBC-sqlite3 1.1.3.1. Uploaded by JohnGoerzen.
HDBC-sqlite3:
Sqlite v3 driver for HDBC.
HDBC-odbc 1.1.3.1. Uploaded by JohnGoerzen.
HDBC-odbc:
ODBC driver for HDBC.
dimensional 0.7.2. Uploaded by BjornBuckwalter.
dimensional:
Statically checked physical dimensions..
uulib 0.9.5. Uploaded by ArieMiddelkoop.
uulib:
Haskell Utrecht Tools Library.
hsc3 0.1. Uploaded by RohanDrape.
hsc3:
Haskell SuperCollider.
hosc 0.1. Uploaded by RohanDrape.
hosc:
Haskell Open Sound Control.
GLFW 0.2. Uploaded by PaulLiu.
GLFW:
A binding for GLFW, An OpenGL Framework.
control-timeout 0.1. Uploaded by AdamLangley.
control-timeout:
Timeout handling.
hiccup 0.35. Uploaded by KyleConsalus.
hiccup:
Relatively efficient Tcl interpreter with support for basic
operations.
phooey 2.0. Uploaded by ConalElliott.
phooey:
Functional user interfaces.
reactive 0.0. Uploaded by ConalElliott.
reactive:
Simple foundation for functional reactive programming.
phooey 1.4. Uploaded by ConalElliott.
phooey:
Functional user interfaces.
hburg 1.1.1. Uploaded by IgorBohm.
hburg:
Haskell Bottom Up Rewrite Generator.
hinotify 0.2. Uploaded by LennartKolmodin.
hinotify:
Haskell binding to INotify.
cabal-rpm 0.3.3. Uploaded by BryanOSullivan.
cabal-rpm:
RPM package builder for Haskell Cabal source packages..
codec-libevent 0.1. Uploaded by AdamLangley.
codec-libevent:
Cross-platform structure serialisation.
irc 0.4. Uploaded by TrevorElliott.
irc:
A small library for parsing IRC messages..
dlist 0.4. Uploaded by DonaldStewart.
dlist:
Differences lists.
AutoForms 0.4.0. Uploaded by MadsLindstroem.
AutoForms:
GUI library based upon generic programming (SYB3).
bktrees 0.2.1. Uploaded by JosefSvenningsson.
bktrees:
A set data structure with approximate searching.
bktrees 0.2. Uploaded by JosefSvenningsson.
bktrees:
A set data structure with approximate searching.
binary-strict 0.1. Uploaded by AdamLangley.
binary-strict:
Binary deserialisation using strict ByteStrings.
haddock 0.9. Uploaded by SimonMarlow.
haddock:
Haddock is a documentation-generation tool for Haskell
libraries.
bytestring-mmap 0.2.0. Uploaded by DonaldStewart.
bytestring-mmap:
mmap support for strict ByteStrings.
bytestring 0.9.0.3. Uploaded by DonaldStewart.
bytestring:
Fast, packed, strict and lazy byte arrays with a list
interface.
hiccup 0.3. Uploaded by KyleConsalus.
hiccup:
Added by KyleConsalus, Wed Dec 19 17:00:42 PST 2007..
cedict 0.1.1. Uploaded by JasonDusek.
cedict:
Convenient Chinese character lookup..
TypeCompose 0.3. Uploaded by ConalElliott.
TypeCompose:
Type composition classes & instances.
bytestring-mmap 0.1.2. Uploaded by DonaldStewart.
bytestring-mmap:
mmap support for strict ByteStrings.
bytestring 0.9.0.2. Uploaded by DonaldStewart.
bytestring:
Fast, packed, strict and lazy byte arrays with a list
interface.
bytestring-mmap 0.1.1. Uploaded by DonaldStewart.
bytestring-mmap:
mmap support for strict ByteStrings.
mkcabal 0.3. Uploaded by DonaldStewart.
mkcabal:
Generate cabal files for a Haskell project.
terminfo 0.1. Uploaded by Judah Jacobson.
terminfo:
Haskell bindings to the terminfo library..
Cabal 1.2.3.0. Uploaded by Duncan Coutts.
Cabal:
A framework for packaging Haskell software.
hxt 7.4. Uploaded by UweSchmidt.
hxt:
A collection of tools for processing XML with Haskell..
X11 1.4.1. Uploaded by Spencer Janssen.
X11:
A binding to the X11 graphics library.
dataenc 0.10.1. Uploaded by Magnus Therning.
dataenc:
Data encoding library currently providing Uuencode, Base64,
Base64Url, Base32, Base32Hex, and Base16..
bytestringreadp 0.1. Uploaded by Gracjan Polak.
bytestringreadp:
A ReadP style parser library for ByteString.
encoding 0.3. Uploaded by HenningGuenther.
encoding:
A library for various character encodings.
hslua 0.2. Uploaded by Gracjan Polak.
hslua:
A Lua language interpreter embedding in Haskell.
xmonad-contrib 0.5. Uploaded by Spencer Janssen.
xmonad-contrib:
Third party extensions for xmonad.
xmonad 0.5. Uploaded by SpencerJanssen.
xmonad:
A tiling window manager.
pandoc 0.45. Uploaded by John MacFarlane.
pandoc:
Conversion between markup formats.
markov-chain 0.0.1. Uploaded by Henning Thielemann.
markov-chain:
Markov Chains for generating random sequences with a user definable
behaviour..
parsedate 3000.0.0. Uploaded by Bjorn Bringert.
parsedate:
Data and time parsing for CalendarTime.
hackage2hwn 0.1. Uploaded by Don Stewart.
hackage2hwn:
Convert hackage = Hackage RSS feeds to Haskell Weekly News
format.
hask-home 2007.12.6. Uploaded by BjornBringert.
hask-home:
Generate homepages for cabal packages.
hmarkup 3000.0.1. Uploaded by BjornBringert.
hmarkup:
Simple wikitext-like markup format implementation..
hspread 0.2. Uploaded by AndreaVezzosi.
hspread:
A client library for the spread toolkit.
pcap 0.4.2. Uploaded by BryanOSullivan.
pcap:
A system-independent interface for user-level packet
capture.
hogg 0.3.0. Uploaded by ConradParker.
hogg:
Library and tools to manipulate the Ogg container format.
Finance-Quote-Yahoo 0.4.1. Uploaded by BradClawsie.
Finance-Quote-Yahoo:
Obtain quote data from finance.yahoo.com.
Monadius 0.9.20071204. Uploaded by GwernBranwen.
Monadius:
2-D arcade scroller.
Shu-thing 1.0.20071203. Uploaded by GwernBranwen.
Shu-thing:
A vector shooter game.
hmatrix 0.1.1.0. Uploaded by AlbertoRuiz.
hmatrix:
Linear algebra and numerical computations.
HTTP 3001.0.3. Uploaded by BjornBringert.
HTTP:
Added by BjornBringert, Fri Nov 30 14:50:55 PST 2007..
rss 3000.0.1. Uploaded by BjornBringert.
rss:
A library for generating RSS 2.0 feeds..
haxr 3000.0.1. Uploaded by BjornBringert.
haxr:
XML-RPC client and server library..
fitsio 0.1. Uploaded by EricSessoms.
fitsio:
A library for reading and writing data files in the FITS data
format..
YamlReference 0.6. Uploaded by Oren Ben Kiki.
YamlReference,
YAML reference implementation
LambdaShell 0.9.1. Uploaded by Robert Dockins.
LambdaShell,
simple shell for evaluating lambda expressions
Shellac 0.9.1. Uploaded by Robert Dockins.
Shellac,
a framework for creating shell envinronments
EdisonCore 1.2.1.1. Uploaded by Robert Dockins.
EdisonCore,
a library of efficent, purely-functional data structures (Core
Implementations)
hmatrix 0.1.0.0. Uploaded by Alberto Ruiz.
hmatrix,
linear algebra and numerical computations
strict-concurrency 0.1. Uploaded by Don Stewart.
strict-concurrency,
strict concurrency abstractions
X11 1.4.0. Uploaded by Don Stewart.
X11,
binding to the X11 graphics library
safecopy 0.3. Uploaded by David Himmelstrup.
safecopy,
binary serialization with version control
HaXml 1.13.3. Uploaded by Malcolm Wallace.
HaXml,
utilities for manipulating XML documents
c2hs 0.15.1. Uploaded by Duncan Coutts.
c2hs,
C->Haskell Interface Generator
calc 0.1. Uploaded by Austin Seipp.
calc,
small compiler for arithmetic expressions.
miniplex 0.2.1. Uploaded by Lukas Mai.
miniplex,
simple 1-to-N interprocess communication
sat 1.1.1. Uploaded by Andrii Zvorygin.
sat,
CNF SATisfier
dimensional 0.7.1. Uploaded by Bjorn Buckwalter.
dimensional,
statically checked physical dimensions
hxt 7.4. Uploaded by Uwe Schmidt.
hxt,
collection of tools for processing XML with Haskell.
dlist 0.3.2. Uploaded by Don Stewart.
dlist,
difference lists. A list type supporting fast append.
mkcabal 0.2. Uploaded by Don Stewart.
mkcabal,
generate cabal files for a Haskell project
Chart 0.5. Uploaded by Tim Docker.
Chart,
a library for generating 2D Charts and Plots
MaybeT 0.1.1. Uploaded by Don Stewart.
MaybeT,
MaybeT monad transformer
regex-pcre 0.93. Uploaded by Chris Kuklewicz.
regex-pcre,
replaces Text.Regex
fixpoint 0.1. Uploaded by Roman Leshchinskiy.
fixpoint,
data types as fixpoints
ChasingBottoms 1.2.2. Uploaded by Nils Anders Danielsson.
ChasingBottoms,
support for testing partial and infinite values
GrowlNotify 0.3. Uploaded by Nicholas Burlett.
GrowlNotify,
notification utility for Growl
pcap 0.4.1. Uploaded by Bryan OSullivan.
pcap,
a system-independent interface for user-level packet capture
bencode 0.3. Uploaded by David Himmelstrup.
bencode,
parser and printer for bencoded data.
stream-fusion 0.1.1. Uploaded by Don Stewart.
stream-fusion,
provides the standard Haskell list library reimplemented to allow
stream fusion. This should in general provide faster list operations,
and faster code for list-heavy programs.
HTTP 3001.0.2. Uploaded by Bjorn Bringert.
HTTP,
library for client-side HTTP
X11-xft 0.2. Uploaded by Clemens Fruhwirth.
X11-xft,
bindings to the Xft, X Free Type interface library, and some Xrender
parts
GrowlNotify 0.1. Uploaded by Nicholas Burlett.
GrowlNotify,
notification utility for Growl.
HsHaruPDF 0.0.0. Uploaded by Audrey Tang.
HsHaruPDF,
Haskell binding to libharu
unicode-normalization 0.1. Uploaded by Reinier Lamers.
unicode-normalization,
Unicode normalization using the ICU library
uniplate 1.0.1. Uploaded by Neil Mitchell.
uniplate,
uniform type generic traversals
lax-0.0.0. Uploaded by Wolfgang Jeltsch.
lax,
Lax arrows are variants of other arrows which are ?less strict? than
the original arrows. They can be used, for example, to produce I/O
fixpoints in situations where fixIO would fail.
fastcgi 3001.0.1. Uploaded by Bjorn Bringert.
fastcgi,
a Haskell library for writing FastCGI programs
Conference roundup New user groups Portland Functional Programmers
Group
FPSIG @
Southampton SingHaskell
Jobs Prototyping. Peter Verswyvelen
announced
a job using Haskell for prototyping computer animation and games
Blog noise Haskell news from
the blogosphere.
Small
shots of lambda calculus
Pattern
Matching in Ruby Haskell
'words' and Perl 'split' Word
numbers, Part 4: Sort the words, sum the numbers Improve
Your C#! Borrow from F#... Sun battling Microsoft
(over F#?) zip
in F# and Haskell Random
numbers in Haskell A
survey of Haskell unicode support Using Haskell for
scripting tasks Princeton
lost the DARPA Grand Challenge because of a C# memory leak Laziness
in C#/LINQ Getting
functional programming: currying The
magic foldr Nested
Parallel List Comprehensions FFI
in Haskell Broadening ones
horizons Monad
Wars - 1: the Prompt Monad
Wars - 2: the command line Holy Shmoly,
GHC Haskell 6.8 smokes Python and Ruby away! Use
those extra cores and beat C today! (Parallel Haskell redux) Parallelizing
Haskell Python,
Haskell, Ruby Smackdown Legitimate uses
of micro-benchmarks: parameter passing and function call costs
Holy
Shmoly, GHC does some magic all by itself! PARE
- PARallel Execution in Erlang - a response to Haskell Haskell
design patterns are (probably) needed Deriving a Virtual
Machine Games,
cores, and functional languages Structure
of a functional Java, er, method Current
Fixation: Haskell Multicores,
F# and SPJ: leading people to Haskell The
IO Monad for People who Simply Don't Care Why I chose to learn Haskell
Some
Playing with Derivatives Solve
Ball Clock Puzzle in Python and Haskell Back
to functional languages... at least for a while? Overloading
Semicolon, or, monads from 10,000 Feet Getting
started with Haskell Arrows
first encounter Arithmetic
for lists Functional
Programming on .NET - Part 1 N-Queens in Haskell
N-Queens
in the writer monad Unit
testing in Haskell Calculating
the reflect-rotate-translate normal form for an isometry of the plane in
Haskell, and verifying it with QuickCheck Visualizing
2D convex hull using Gtk and OpenGL in Haskell Hugs
for the Nintendo DS Comparative terseness of
Perl and Haskell Note on point-free
programming style Haskell
Fibonacci Revisited PXSL
Tools 1.0: Your ticket out of XML Hell Haskell
is kind of cool Learning Haskell with
ProjectEuler Infinite
lazy Knuth-Bendix completion for monoids in Haskell Hugs
for the Nintendo DS My
Type of Language... Catching
pods with hpodder Hamming's
problem Sharper
function operators Xiangqiboard:
play Xiangqi against a computer opponent Haskell
is kind of cool FParsec - A Parser Combinator
Library for F# RSA-Haskell LLVM
bindings for Haskell perpubplat
0.9 - You're Looking at It: blog framework for Haskell The point of
pointfree qtHaskell Web Objects and the
underappreciated recursive do Equality
operators in PHP and Haskell Pushing
Haskell's type system to the limits: A reflective JSON serializer
A
Wake Up Call for the Logic Programming Community Design
your functions for partial application Taxicab
Numbers Composing
Contracts HTTP content-type
comparison at the type level Haskell-Join-Rules
Exploring
JPEG What's
interesting to me about SquirrelMail attack Haskell
and F#: Language Design An example of Haskell's beauty
My
resolve to learn Haskell has become stronger after having watched 'A Taste
of Haskell' Emacs love
w/ Haskell Finding
my way Why not
Scala? A
Different Kind of Obscurity Languages
that save you some typing
Quotes of the Week Conal: For me, the heart of
functional programming is exactly this separation between model and
presentation. The former is naturally functional and compositional, while the
latter is often imperative/sequential and not-so-compositional. IO belongs with
the latter.
ddarius: has programmed too much in Haskell. He now produces
code that -compiles- and works the first time disspy: If
all you know is C, everything begins to look like a segmentation fault.
markedtrees: (On the city of Haskell) Ah yes, Haskell. Where
all the types are strong, all the men carry arrows, and all the children are
above average. ola-bini: Haskell's type system is really
nice, for example, but OCaml's really feels like half of it exists just to
cover up holes in the other half, I'm half way into Erlang, but for several
reasons the language feels very primitive. so1i.warazd:
I'm more and more comfortable spending time with Haskell these days. Haskell
may not be the next thing, but whatever the next big thing is, it's probably
going to have Haskelly fingerprints all over it?.. sylvan:
think that the perceived difficulty in using purely functional programming
is probably a bit exaggerated these days, as all it means is 'we're explicit
about where side effects occur' falvo: I really wish that
someone would come up with a type-safe replacement for the likes of Python.
Oh, wait, it's called Haskell! Unfortunately, I'm forbidden from using
Haskell at work. Sigh Tyler Spaulding: eventually even
'simple' programs will nned multiple threads. Does that mean developers will
suddenly flock to Haskell? Again, no. Language designers are well aware of
the situation. Sun and Microsoft are constantly working on improving the
Java and .NET frameworks. And by the time the average programmer needs it,
both will have plenty of support for easy threading ricky
clarkson: Haskell is full of Aha and Hah moments for me
five9a2: Concurrency aside, I find it common to write Haskell
code that is as fast as C. It is true that for most things, the C can be
tweaked to go a bit faster, but that tweaking needs to be done on a
case-by-case basis. In Haskell, it is easier to compose optimized
components. Better algorithms beat an optimized compiler any day and using
the best algorithms everywhere in C code tends to be painful, error-prone,
and usually disparaged as premature optimization. Jeff
Moser: It's been this fear of skills rot that has pushed me to look
into Lisp, Haskell, F#, Erlang, and other languages to avoid The Blub
Paradox. NFJS 2008 predictions: If you've never programmed
in Haskell, now's a good time to learn, because those concepts and syntax
are fast making their way towards you... The honey
monster: With the advent of multi-core CPUs and the promise of many
core processors in the near future it occurrs to me that my interest in
functional programming languages could not of happened at a more opportune
time. It is not that imperative programming languages are not as capable,
merely that functional programming languages seem to be more natural
fit
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at galois.com. The darcs
repository is available at darcs get http://code.haskell.org/~dons/code/hwn/ [Less]
|
Posted
over 16 years
ago
by
dons
Welcome to issue 67 of HWN, a newsletter covering
developments in the Haskell community.
This week sees the release of GHC 6.8.1, to rave reviews. There have been
many reports of large performance improvements for Haskell programs, from small
to
... [More]
large production systems. Congratulations to the GHC team for such a great
release! Announcements GHC 6.8.1. Ian Lynagh
announced
the release of GHC 6.8.1, a new major release of GHC. There have been a
number of significant changes since the last major release, including:
Haskell Program Coverage support, the GHCi debugger, pointer tagging in the
runtime (with up to 10-15% speedups), constructor specialisation, improved
optimisations and much more! The full
release notes are available.
Gtk2Hs 0.9.12.1. Duncan Coutts
announced
version 0.9.12.1 of gtk2hs is now available. gtk2hs is the
standard graphics library for Haskell.
Lazy SmallCheck 0.1. Matthew Naylor
announced
Lazy SmallCheck 0.1, a library for exhaustive, demand-driven testing of
Haskell programs.
HDBC 1.1.3. John Goerzen
announced
new releases of HDBC, the Haskell database connectivity kit, and its
associated backends (for sqlite3, postgresql, odbc).
xmobar. Andrea Rossato
announced
the release of Xmobar-0.8, a minimalistic, text based, status bar. It was
specifically designed to work with the XMonad Window Manager.
Flymake Haskell. Daisuke Ikegami
announced
flymake haskell, emacs bindings for interactive Haskell editing.
network bytestring. Johan Tibbel
announced,
strict ByteString versions of the recv/send family of functions for efficient
network IO.
ByteString search. Bryan O'Sullivan
announced
a cabalised version of the fast Boyer-Moore and Knuth-Morris-Pratt string
search code for ByteStrings
Generating free theorems. Janis Voigtlaender
announced
an improved version of the online and offline free theorems generator for
Haskell
hslogger4j 0.1.1. Bjorn Buckwalter
announced
Hslogger4j, which provides handlers for hslogger (John Goerzen's Haskell
logging framework) that are compatible with log4j's XMLLayout.
Infinity 0.3. Austin Seipp
announced
`infinity', an IRC bot in Haskell
hswm. Remi Turk
announced
the first and last release of hswm, a Haskell window manager.
Hackage This week's new libraries in the Hackage library database.
xmobar-0.8. Uploaded by Andrea Rossato.
xmobar,
a minimalistic text based status bar
hsSqlite3-0.0.4. Uploaded by Evgeny Jukov.
hsSqlite3,
bindings for Sqlite3
cabal-rpm-0.3.2. Uploaded by Bryan OSullivan.
cabal-rpm
turns Haskell Cabal source packages into source and binary RPM
packages.
selenium-0.2.2. Uploaded by Aaron Tomb.
selenium,
Haskell bindings to communicate with a Selenium Remote Control
server. This package makes it possible to use Haskell to write test
scripts that exercise web applications through a web
browser.
HPDF-1.3. Uploaded by alpheccar.
HPDF.
A PDF library with support for several pages, page transitions,
outlines, annotations, compression, colors, shapes, patterns, jpegs,
fonts, typesetting ...
FileManip-0.3.1. Uploaded by Bryan OSullivan.
FileManip,
a Haskell library for working with files and directories. Includes
code for pattern matching, finding files, modifying file contents,
and more.
stringsearch-0.2. Uploaded by Bryan OSullivan.
stringsearch,
fast search of ByteStrings.
nano-md5-0.1. Uploaded by Don Stewart.
nano-md5,
ByteString bindings to OpenSSL.
denominate-0.4.1. Uploaded by Calvin Smith.
denominate
provides a main program for performing bulk file and directory
renaming, using a built-in filename converter or user-defined
converters.
ContArrow 0.0.2. Uploaded by Evgeny Jukov.
ContArrow,
Control.Arrow.Transformer.Cont
state 0.0.2. Uploaded by Evgeny Jukov.
state.
State.
infinity 0.3. Uploaded by Austin Seipp.
infinity,
a tiny, pluggable irc bot.
unix-compat 0.1.2.1. Uploaded by Duncan Coutts.
unix-compat,
portable implementations of parts of the unix package.
Ranged-sets 0.1.1. Uploaded by Paul Johnson.
Ranged-sets.
A ranged set is an ordered list of ranges.
IFS 0.1.1. Uploaded by alpheccar.
IFS,
a library to describe IFS and generate PPM pictures from the
descriptions
bktrees 0.1.3. Uploaded by Josef Svenningsson.
bktrees.
Burhard-Keller trees provide an implementation of sets which apart
from the ordinary operations also has an approximate member search,
allowing you to search for elements that are of a certain distance
from the element you are searching for.
pqc 0.2. Uploaded by Don Stewart.
pqc,
a parallel batch driver for QuickCheck
strict 0.2. Uploaded by Don Stewart.
strict,
strict data types.
HsSVN 0.2. Uploaded by PHO.
HsSVN,
(Part of) Subversion binding for Haskell
HsHyperEstraier 0.2. Uploaded by PHO.
HsHyperEstraier,
a HyperEstraier binding for Haskell. HyperEstraier is an embeddable
full text search engine which is supposed to be independent to any
particular natural languages.
HsOpenSSL 0.3.1. Uploaded by PHO.
HsOpenSSL,
a (part of) OpenSSL binding for Haskell. It can generate RSA and DSA
keys, read and write PEM files, generate message digests, sign and
verify messages, encrypt and decrypt messages.
Finance-Quote-Yahoo 0.4. Uploaded by Brad Clawsie.
Finance-Quote-Yahoo,
obtain quote data from finance.yahoo.com
LRU 0.1.1. Uploaded by Adam Langley.
LRU,
an LRU data structure
base 3.0. Uploaded by Ross Paterson.
base,
the Prelude and its support libraries, and a large collection of
useful libraries ranging from data structures to parsing combinators
and debugging utilities.
regex-posix 0.72.0.2. Uploaded by Duncan Coutts.
regex-posix,
posix regex support.
xhtml 3000.0.2.1. Uploaded by Bjorn Bringert.
xhtml,
combinators for producing XHTML 1.0, including the Strict,
Transitional and Frameset variants.
Win32 2.1.0.0. Uploaded by Esa Ilari Vuokko.
Win32,
a binding to part of the Win32 library
unix 2.2.0.0. Uploaded by Ross Paterson.
unix,
POSIX functionality
time 1.1.2.0. Uploaded by Ross Paterson.
time,
time handling.
template-haskell 2.2.0.0. Uploaded by Ross Paterson.
template-haskell,
support for manipulating Haskell syntax trees
stm 2.1.1.0. Uploaded by Ross Paterson.
stm,
software transational memory
regex-compat 0.71.0.1. Uploaded by Ross Paterson.
regex-compat,
backwards compatible regex support
regex-base 0.72.0.1. Uploaded by Ross Paterson.
regex-base,
regex support.
readline 1.0.1.0. Uploaded by Ross Paterson.
readline,
an interface to the GNU readline library
random 1.0.0.0. Uploaded by Ross Paterson.
random,
random number generation
QuickCheck 1.1.0.0. Uploaded by Ross Paterson.
QuickCheck,
automatic testing of Haskell programs
process 1.0.0.0. Uploaded by Ross Paterson.
process,
jobs and processes
pretty 1.0.0.0. Uploaded by Ross Paterson.
pretty,
pretty printing library.
parsec 2.1.0.0. Uploaded by Ross Paterson.
parsec,
monadic parser combinators.
parallel 1.0.0.0. Uploaded by Ross Paterson.
parallel,
support for parallel programming
packedstring 0.1.0.0. Uploaded by Ross Paterson.
packedstring,
packed strings
OpenGL 2.2.1.1. Uploaded by Ross Paterson.
OpenGL,
binding for the OpenGL graphics system
OpenAL 1.3.1.1. Uploaded by Ross Paterson.
OpenAL,
binding to the OpenAL cross-platform 3D audio API.
old-time 1.0.0.0. Uploaded by Ross Paterson.
old-time,
time library.
alex 2.2. Uploaded by Simon Marlow.
alex
is a tool for generating lexical analysers in Haskell
Cabal 1.2.2.0. Uploaded by Duncan Coutts.
Cabal
is the framework for packaging Haskell software
HaXml 1.19.1. Uploaded by Malcolm Wallace.
HaXml,
Utilities for manipulating XML documents
HDBC-odbc 1.1.3.0. Uploaded by John Goerzen.
HDBC-odbc,
ODBC driver for HDBC
HDBC-postgresql 1.1.3.0. Uploaded by John Goerzen.
HDBC-postgresql
is a PostgreSQL driver for HDBC
HDBC-sqlite3 1.1.3.0. Uploaded by John Goerzen.
HDBC-sqlite3
is a Sqlite v3 driver for HDBC
HDBC 1.1.3. Uploaded by John Goerzen.
HDBC
is a Haskell Database library
X11 1.3.0. Uploaded by Don Stewart.
X11
is a library of bindings to the X11 libraries and server
HsOpenSSL 0.3. Uploaded by Masatake Daimon.
HsOpenSSL,
(Part of) OpenSSL binding for Haskell
Imlib 0.1. Uploaded by Cale Gibbard.
Imlib,
Haskell binding for Imlib 2
Stream 0.2.2. Uploaded by Wouter Swierstra.
Stream,
a library for manipulating infinite lists.
sat 1.0. Uploaded by AndriiZvorygin.
sat,
CNF SATisfier
torrent 2007.10.27. Uploaded by David Himmelstrup.
torrent,
BitTorrent file parser
bencode 0.2. Uploaded by David Himmelstrup.
bencode,
Parser and printer for bencoded data.
SDL 0.5.1. Uploaded by David Himmelstrup.
SDL,
binding to libSDL
NGrams 1.0. Uploaded by Justin Bailey.
ngrams,
Simple application for calculating n-grams using Google
Discussion Bootstrapping Haskell. Andrew Copping
wondered
how the first Haskell compilers were bootstrapped, leading to some
interesting historical details.
GHC 6.8 performance. Dan Piponi
asked
about Haskell performance for low level array manipulation, with some
excellent speedups produced by GHC 6.8
Jobs Software Development Engineer at MSR. Don Syme
announced that the F
Sharp team is hiring! We have two positions open right now. The first is
a software development engineer specializing in Visual Studio and libraries.
The second Post Calendar is a software development engineer
PhD position at Chalmers. John Hughes
announced
that the Functional Programming group at Chalmers is seeking to recruit a PhD
student to work on domain-specific languages embedded in Haskell for hardware
design, and for programming graphics processors. PhD positions in Sweden are
'real jobs', paying a respectable salary for up to five years.
Blog noise Haskell news from
the blogosphere.
Scala
for bioinformatics
I
like Haskell a lot Haskell
history Continuation Passing Style
for Monads Abuse:
Is it ruby? Is it Haskell? It's both! Learning
Haskell? For
loops in Haskell A
Simple Programming Puzzle Seen Through Three Differenent Lenses
Scala
Makes Me Think Haskell
Substring Function Multicore Programming and Automatic
Parallelisation Spinoza
SOS in Haskell Why not just use
Haskell? Chain
delegates (in Haskell) Parser
Combinators in C Will hybrid languages
like D render functional languages like Haskell, OCaml and Common Lisp
irrelevant? Category
Theory for the Java Programmer Benchmarking
ray tracing, Haskell vs. OCaml Some
lambda calculus examples Beautiful
timetables References,
Arrows and Categories Anamorphisms
in Ruby Type metaprogramming
in Haskell and C A
Small Combinatorial Library
Quotes of the Week faxathisia: Omg! I spent 2 days
writing this code and it's worked the first time I run it. Only possible with
Haskell :D
anonymous: The thing is Haskell isn't suited for young people,
whereas the OBJECT model of C is sethg: I feel like I
still dont understand comonads fnord123: Haskell mainly
helps with my C template coding when I'm doing money oriented
programming Tac-Tics: I get the feeling if all I ever use
is the IO monad, someone here will shower me in holy monad fire and cleanse
the evil from me.... leaving burn marks all over Anton van
Straaten: there's a new movement towards 'functional eating' which
involves using a knife and fork (think ML) or chopsticks (Haskell ;) instead
of a chainsaw. Its proponents claim that this approach is far superior, but
chainsaw fans are skeptical. SamB: what happens in the
monad... stays in the monad... Brent Yorgey: Friends don't
let friends write in COBOL. Bulat Ziganshin: It's a whole
new era in low-level GHC programming
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at galois.com. The darcs
repository is available at darcs get http://code.haskell.org/~dons/code/hwn/ [Less]
|
Posted
over 16 years
ago
by
dons
Welcome to issue 66 of HWN, a newsletter covering
developments in the Haskell community.
A huge month for the Haskell community, with the Haskell Workshop, ICFP and
CUFP conferences, the second international Haskell Hackathon, and 63 libraries
and
... [More]
tools uploaded to hackage! A round of applause to everyone involved!
Hackage This week's new libraries in the Hackage library database.
SDL 0.5.0. Uploaded by Lemmih.
SDL,
a binding to libSDL.
Stream 0.2.1. Uploaded by Wouter Swierstra.
Stream,
functions, analogous to those from Data.List, to create and
manipulate infinite lists
bktrees 0.1.1. Uploaded by Josef Svenningsson.
bktrees,
Burhard-Keller trees provide an implementation of sets which apart
from the ordinary operations also has an approximate member search,
allowing you to search for elements that are of a certain distance
from the element you are searching for.
happy 1.17. Uploaded by Simon Marlow.
happy,
a parser generator for Haskell.
HaXml 1.19. Uploaded by Malcolm Wallace.
HaXml,
utilities for parsing, filtering, transforming and generating XML
documents.
polyparse 1.1. Uploaded by Malcolm Wallace.
polyparse,
A variety of alternative parser combinator libraries, including the
original HuttonMeijer set. The Poly sets have features like good
error reporting, arbitrary token type, running state, lazy parsing,
and so on. Finally, Text.Parse is a proposed replacement for the
standard Read class, for better deserialisation of Haskell values
from Strings.
bzlib 0.4.0.1
. Uploaded by Duncan Coutts.
bzlib,
compression and decompression in the bzip2 format.
zlib 0.4.0.1. Uploaded by Duncan Coutts.
zlib,
compression and decompression in the gzip and zlib formats
tar 0.1.1.1. Uploaded by Bjorn Bringert.
tar,
a library for reading and writing TAR archives.
unix-compat 0.1.2.0. Uploaded by Bjorn Bringert.
unix-compat,
provides portable implementations of parts of the unix package. This
package re-exports the unix package when available. When it isn't
available, portable implementations are used.
oeis 0.1. Uploaded by Brent Yorgey.
oeis,
Haskell interface to the Online Encyclopedia of Integer
Sequences.
dataenc 0.9. Uploaded by Magnus Therning.
dataenc,
Data encoding library currently providing Uuencode, Base64,
Base64Url, Base32, Base32Hex, and
Base16.
cabal-setup 1.2.1. Uploaded by Simon Marlow.
cabal-setup,
cabal-setup is a user interface to Cabal. It provides the basic
commands for configuring, building, and installing Cabal
packages.
cabal-install 0.4.0. Uploaded by [email protected].
cabal-install,
apt-get like tool for Haskell. The 'cabal' command-line program
simplifies the process of managing Haskell software by automating the
fetching, configuration, compilation and installation of Haskell
libraries and programs.
HTTP 3001.0.0. Uploaded by Bjorn Bringert.
HTTP,
A library for client-side HTTP.
iconv 0.4. Uploaded by Duncan Coutts.
iconv,
provides an interface to the POSIX iconv library functions for string
encoding conversion.
binary 0.4.1. Uploaded by the Binary Strike Team.
binary,
efficient, pure binary serialisation using lazy ByteStrings. Haskell
values may be encoded to and form binary formats, written to disk as
binary, or sent over the network. Serialisation speeds of over 1
G/sec have been observed, so this library should be suitable for high
performance scenarios.
Cabal 1.2.1. Uploaded by [email protected].
Cabal:
the Haskell Common Architecture for Building Applications and
libraries = Libraries: a framework defining a common interface for
authors to more easily build their Haskell applications in a portable
way. The Haskell Cabal is meant to be a part of a larger
infrastructure for distributing, organizing, and cataloging Haskell
libraries and tools.
bytestring 0.9. Uploaded by Don Stewart and Duncan Coutts.
bytestring.
fast, packed, strict and lazy byte arrays with a list
interface.
arrows 0.3. Uploaded by Ross Paterson.
arrows,
Several classes that extend the Arrow class, and some transformers
that implement or lift these classes.
sat 1.0. Uploaded by Andrii Zvorygin.
sat,
CNF(Clausal Normal Form) SATisfiability Solver and
Generator.
pcap 0.4. Uploaded by Bryan O'Sullivan.
pcap,
system-independent interface for user-level packet capture
hslogger4j 0.1.1. Uploaded by Bjorn Buckwalter.
hslogger4j,
provides handlers for hslogger (John Goerzen's Haskell logging
library) that are compatible with log4j's XMLLayout. In particular
log messages created by the handlers can be published directly to the
GUI-based log viewer Chainsaw v2.
IndentParser 0.2.1. Uploaded by Piyush P Kurur.
IndentParser,
provides two modules, Text.ParserCombinators.Parsec.IndentParser and
Text.ParserCombinators.Parsec.IndentToken, for constructing parser
combinators for indentation based syntactic structures. The former
exports the basic indentation parser combinators and the later
together with Text.ParserCombinators.Parsec.Language and
Text.ParserCombinators.Parsec.Token can be used to define tokenisers
for programming languages.
lazysmallcheck 0.1. Uploaded by Matthew Naylor and Fredrik
Lindblad.
lazysmallcheck,
a library for exhaustive, demand-driven testing of Haskell programs.
It is based on the idea that if a property holds for a
partially-defined input then it must also hold for all fully-defined
instantiations of the that input. Compared to `eager' input
generation as in SmallCheck, Lazy SmallCheck may require
significantly fewer test-cases to verify a property for all inputs up
to a given depth.
HPDF 1.2. Uploaded by alpheccar.
HPDF,
A PDF library with support for several pages, page transitions,
outlines, annotations, compression, colors, shapes, patterns, jpegs,
fonts, typesetting ...
xmonad. Uploaded by Spencer Janssen and Don Stewart.
xmonad,
xmonad is a tiling window manager for X. Windows are arranged
automatically to tile the screen without gaps or overlap, maximising
screen use. All features of the window manager are accessible from
the keyboard: a mouse is strictly optional. xmonad is written and
extensible in Haskell. Custom layout algorithms, and other
extensions, may be written by the user in config files. Layouts are
applied dynamically, and different layouts may be used on each
workspace. Xinerama is fully supported, allowing windows to be tiled
on several screens.
HCL 1.2. Uploaded by Justin Bailey.
HCL,
provides a set of functions for building simple command-line
interfaces. It allows interfaces which collect values (such as
Integers, Dates, or other structured values), build lists of values,
and use simple menus. It is not intended to build complex interfaces
with full cursor control. It is oriented towards line-based
interfaces.
safecopy 0.2. Uploaded by David Himmelstrup.
safecopy,
an extension to Data.Binary with built-in version control.
selenium 0.2.1. Uploaded by Aaron Tomb.
selenium,
Haskell bindings to communicate with a Selenium Remote Control
server. This package makes it possible to use Haskell to write test
scripts that exercise web applications through a web
browser.
HsOpenSSL 0.2. Uploaded by PHO.
HsOpenSSL,
a (part of) OpenSSL binding for Haskell. It can generate RSA and DSA
keys, read and write PEM files, generate message digests, sign and
verify messages, encrypt and decrypt messages.
X11-extras 0.4. Uploaded by Spencer Janssen.
X11-extras,
missing bindings to the X11 graphics library.
X11-1.2.3. Uploaded by Don Stewart.
X11,
a Haskell binding to the X11 graphics library.
flow2dot-0.2. Uploaded by Dmitry Astapov.
flow2dot,
generates sequence diagrams from textual descriptions with help of
Graphviz graph drawing tool.
hsSqlite3-0.0.1. Uploaded by Evgeny Jukov.
hsSqlite,
Bindings for Sqlite3
X11-xft-0.1. Uploaded by Clemens Fruhwirth.
X11-xft,
Bindings to the Xft, X Free Type interface library, and some Xrender
parts.
metaplug-0.1.1. Uploaded by Austin Seipp.
metaplug,
a ghc-api wrapper, designed to make the api more transparent across
releases and offer eval and plugin esque facilities in the form of a
simple, easy to modify library.
dimensional. Uploaded by Bjorn Buckwalter.
dimensional,
a library providing data types for performing arithmetic with
physical quantities and units. Information about the physical
dimensions of the quantities and units is embedded in their types and
the validity of operations is verified by the type checker at compile
time. The boxing and unboxing of numerical values as quantities is
done by multiplication and division with units. The library is
designed to, as far as is practical, enforce/encourage best practices
of unit usage.
ProbabilityMonads. Uploaded by Eric Kidd.
ProbabilityMonads,
tools for random sampling, explicit enumeration of possible outcomes,
and applying Bayes' rule. Highly experimental, and subject to
change. In particular, the Data.Probability API is rather poor and
could stand an overhaul.
MonadRandom. Uploaded by Eric Kidd .
MonadRandom,
support for computations which consume random values.
MaybeT. Uploaded by Eric Kidd.
MaybeT,
Support for computations with failures.
network-bytestring. Uploaded by Johan Tibell.
network-bytestring,
Faster and more memory efficient low-level socket functions using
Data.ByteStrings instead of Strings.
irc. Uploaded by Trevor Elliott.
irc,
a set of combinators and types for parsing IRC messages.
clevercss. Uploaded by Georg Brandl.
clevercss,
a CSS preprocessing library that allows defining variables and
nesting selectors so that you don't need to Repeat Yourself.
HsHyperEstraier. Uploaded by PHO.
HsHyperEstraier,
a HyperEstraier binding for Haskell. HyperEstraier is an embeddable
full text search engine which is supposed to be independent to any
particular natural languages.
libmpd. Uploaded by Ben Sinclair.
libmpd,
client library for MPD, the Music Player Daemon.
hS3. Uploaded by Greg Heartsfield.
hS3,
provides an interface to Amazon's Simple Storage Service (S3),
allowing Haskell developers to reliably store and retrieve arbitrary
amounts of data from anywhere on the Internet.
infinity. Uploaded by Austin Seipp.
infinity,
tiny IRC bot, extendable through plugins written in haskell
WURFL. Uploaded by alpheccar.
WURFL,
support for the WURLF file format
hburg. Uploaded by Igor Boehm.
hburg,
a program that generates tree parsers for cost-augmented tree
grammars. It is useful for writing code generators for compilers.
Given a mapping of a tree structured intermediate representation onto
target machine instructions, HBURG generates a code generator that
can be plugged into the instruction selection phase of a
compiler.
ipprint. Uploaded by Gleb Alexeyev.
ipprint,
tiny helper for pretty-printing values in ghci console
numbers. Uploaded by Lennart Augustsson.
numbers,
instances of the numerical classes for a variety of different
numbers: (computable) real numbers, arbitrary precision fixed
numbers, arbitrary precision floating point numbers, differentiable
numbers, symbolic numbers, natural numbers, interval
arithmetic.
numeric-quest. Uploaded by Henning Thielemann.
numeric-quest,
List based linear algebra, similtaneous linear equations, eigenvalues
and eigenvectors, roots of polynomials, transcendent functions with
arbitrary precision implemented by continued fractions, quantum
operations, tensors
shell-pipe. Uploaded by Henning Thielemann.
shell-pipe,
shell scripting stuff.
hstats. Uploaded by Marshall Beddoe.
hstats,
library of commonly used statistical functions.
Libraries This week's proposals and extensions to the standard
libraries. In base,
for Data.Version, change the meaning of comparisons
Add
Compositor class as superclass of Arrow
Conference roundup Haskell papers presented at the Haskell Workshp,
ICFP and CUFP, in Freiburg, Germany. Andy Gill and Colin
Runciman. Haskell Program Coverage (pdf)
Simon
Marlow, José Iborra, Bernard Pope and Andy Gill. A Lightweight Interactive
Debugger for Haskell (pdf) Wouter Swierstra and
Thorsten Altenkirch. Beauty in the Beast: A Functional Semantics of the
Awkward Squad (pdf) Matthew
Naylor, Emil Axelsson and Colin Runciman. A Functional-Logic Library for
Wired (acm.org) Neil
Mitchell and Colin Runciman. Uniform Boilerplate and List Processing; Or:
Scrap Your Scary Types (pdf) Philip
Wadler and Simon Peyton Jones. Comprehensions with `Order by' and `Group
by' Geoffrey
Mainland. Why It's Nice to be Quoted: Quasiquoting for Haskell
Louis-Julien
Guillemette and Stefan Monnier. A Type-Preserving Closure Conversion in
Haskell (pdf) Demo 1:
George Giorgidze and Henrik Nilsson. Programming Modular Synthesizer in
Haskell (.mov) Demo 2: Martin Grabmüller
and Dirk Kleeblatt. Run-time Code Generation in Haskell (.mov)
Joao Fernandes,
Alberto Pardo and João Saraiva. A Shortcut Fusion Rule for Circular Program
Calculation (pdf) Peng Li, Andrew Tolmach, Simon
Marlow and Simon Peyton Jones. Lightweight concurrency primitives for GHC
(pdf) Demo 3: Don Stewart
XMonad (.mov) Videos of all
the Haskell Workshop talks Selected videos
from ICFP and IFL
Jobs Finance. An NYC finance company
requires
an expert level Haskell user; must be comfortable with monads, monad
transformers, type level programming (i.e. MPTC, overlapping and undecidable
instances), and lazy evaluation (i.e. know how to find and eliminate space
leaks).
Web Developer. RedNucleus Ltd
requires
a highly motivated programmer for a full or part-time posititon developing
social web applications. Initially you will develop and maintain applications
using RubyOnRails or a similar framework, but there will be opportunities to
explore new web programming paradigms with declarative languages. The
successful application will have exposure to functional programming
methodologies, e.g. in Haskell, Lisp or Erlang
Blog noise Haskell news from
the blogosphere.
Strongly Specified
Functions
Amazon S3
binding Octane
Mech, OpenGL Haskell based mech game; early code and some haskell
notes
Fast, parallel log file processing in Haskell Haskell
in the Hallway: an interview with Simon Peyton Jones Agda Exercise: Sized
Mergesort Agda Exercise: Proving that
Mergesort Returns Ordered Lists Lazy
functions in C# LlNQ Functional
Javascript Seemingly
impossible functional programs For most programmers
learning Haskell will be no picnic : a tutorial Haskell in industry: a
surprising encounter! Exhaustive
search over infinite binary trees How to Install
HAppS Simple
Haskell Web Programming with HAppS Haskell
Web Spider, Part 1: HaXML Haskell
Web Spider, Part 2: HXT, or I Was Promised There Would Be No Side
Effects In praise of
implementation-defined languages Arboreal
Isomorphisms from Nuclear Pennies Higher-dimensional
enumeration Haskell and my preception
of programming languages Monads
in Scala Total
stream processors and quantification over infinite number of infinite
streams The xmonad
experience
Wiring Haskell into a FastCGI Web Server A Link-Resolving
Library Immutable
data structures are the way of the future in C# What do you get when you curry partial
application? Universal
Architecture lambdacats A
venture into functional programming (by a Python programmer) Is Java Dying?
Tracing
your code... the dirty way! Using
Emacs to insert SCC annotations in Haskell code Erlang
and Haskell Books: First Impressions Update
on F# and Haskell, especially monads Back from
ICFP A
Simple RPN Calculator in Haskell Another
simple RPN calculator in Haskell A
simple regex engine in Haskell The square of the
Catalan sequence Haskell changing your
thinking How
I started off with Haskell and wound up with Lisp Phantom type
problems My
first trip to the phantom zone Writing
Your Last For-Loop The Curry-Howard
Correspondence in Haskell Tuppence
Tour of Haskell Concurrency Constructs Is
Haskell really expressive? A
Quickstart to Haskell Respect
C Programmers Building
Functions from Functions, part 2: Function Composition On
the Importance of Purity Functional programming - Back to the
Roots Simpler,
Easier! Or, how to write a simple dependent type checker Is Visual Basic 9
'Haskell for the Masses?'
Quotes of the Week As someone who has written production code
in functional languages (Ive written Haskell for the U.S. Navy) and in other
languages (Perl and Ruby for several startups), I have to say that Haskell
enabled me to be way more productive than the untyped scripting languages. Ruby
is fun, but Haskell lets me get the work done faster and better.
Perhaps if C wants to be taken seriously it should provide portability,
which has been present in Haskell since the beginning However,
since starting learning Haskell I?ve had aha-moments that manifest
themselves in a single line of code. This has never happened before.
Ever! Cale: Inheritance? Inheritance is broken,
anyway DRMacIver: I dread to think what category theory
would look like after the software engineering world had got their grubby
paws on it. Enterprise variant functors. Commutative UML diagrams.
DukeDave: Haskell has the greatest unlearning curve
Jon Harrop: As Haskell has shown, laziness cannot be
implemented efficient at all. Logan Capaldo: All I want
for christmas is monad comprehensions Olathe: We can't be
totally sure, though. There might be some value of 1 that wasn't
checked. Pseudonym: Smart programmers naturally write
monadic code, even if they don't realise it. augustss:
Haskell already has enterprise monads; there is a fail method.
bitwize: The combinator known as compose; Makes me extremely
morose; The full stop is better, than writing in letters; Which makes it
extremely verbose glguy: map became not overloaded in the
great polymorphic scare of haskell 98 mauke: haskell
software should move from alpha to beta to eta, then lambda
pl0nk: I wonder what SPJ sees when he closes his eyes before
answering a question.
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at galois.com. The darcs
repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn [Less]
|
Posted
over 16 years
ago
by
dons
Welcome to issue 65 of HWN, a newsletter covering
developments in the Haskell community.
This episode comes to you live from Portland, Oregon, where the HWN automaton
now lives, running on a virtual host at Galois, Inc. Announcements
Cabal 1.2.0
... [More]
released. Thomas Schilling
announced
that Cabal version 1.2.0 is
available. The major new feature in this release is support for Cabal
configurations. This allows package authors to more easily adopt their
package descriptions to different system parameters such as operating system,
architecture, or compiler. In addition, some optional features may be
enabled or disabled explicitly by the package user.
SparseCheck. Matthew Naylor
announced
SparseCheck, a library for typed, depth-bounded logic programming in Haskell
allowing convenient expression of test-data generators for properties with
sparse domains. More information on the home page.
monadLib 3.3.0. Iavor Diatchki
announced
a new version of monadLib, adding the identiy transformer, and a family of
deriving functions.
ListLlke. John Goerzen
announced
ListLike, a generic interface to the various list-like structures in
Haskell.
HaL2: Meeting Haskell in Leipzig 2: videos. Klaus Meier
announced
that the videos and presentations of the talks given at HaL2 are now online.
The Monad.Reader: Issue 8. Wouter Swierstra
announced
that the latest issue of The Monad.Reader is now available.
Issue 8 consists of the following two articles: Brent Yorgey on 'Generating
Multiset Partitions' and Conrad Parker's 'Type-Level Instant Insanity'
Haskell mode plugins for Vim. Claus Reinke
announced
improved haskell
mode plugins for vim.
hstats-0.1. Marshall Beddoe
announced
a statistical computing module for Haskell.
HIntegerByInt. Isaac Dupree
announced
a reimplementation,
in Haskell, of the Integer type that Haskell provides in its Prelude. It is
designed in mind of being actually usable as the implementation of that type,
for compilers. It is also a module that exports a working Integer type. It
is in terms of only basic Prelude functions, lists, and Int. It is NOT a
purely inductive definition, because Int is much faster than a purely
inductive definition would allow, and nevertheless often easier to come by
(more portable, license-wise, size-wise, nuisance-wise...) than GMP or other
C bignum libraries.
OzHaskell: Australian Haskell Programmers Group. Manuel Chakravarty
started
organising OzHaskell, an Australian Haskell user's group.
Israeli Haskell Programmers Group. B K
also
seeks to form an Israeli Haskell user's group
xmonad 0.3. Don Stewart
announced
the 0.3 release of xmonad. xmonad is a tiling
window manager for X. Windows are arranged automatically to tile the screen
without gaps or overlap, maximising screen use.
HPDF 1.0. alpheccar
announced
version 1.0 of the HPDF
library.
pcap: user-level network packet capture. Bryan O'Sullivan
announced
the release of pcap 0.3.1
Gtk2Hs Tutorial. Hans van Thiel
announced
a port of the GTK2 tutorial by Tony
Gail and Ian Main to Haskell's gtk2hs.
An efficient lazy suffix tree library. Bryan O'Sullivan
posted
a suffix tree
library to hackage. It implements Giegerich and Kurtz's lazy construction
algorithm, with a few tweaks for better performance and resource usage.
Bay Area Functional Programmers. Keith Fahlgren
announced
the formation of the Bay Area Functional
Programmers group. This group is for anyone using or interested in
functional programming and functional programming languages, particularly
strongly typed languages such as Haskell, OCaml and SML.
Haskell irc channel reaches 400 users. Don Stewart
noticed
that, five and a half years after its inception, under the guiding hand
of Shae Erisson (aka shapr), the Haskell IRC channel
on freenode has reached 400 users!
Guihaskell and PropLang 0.1. Asumu Takikawa
announced
the results of his Google Summer of Code project: Guihaskell, a graphical
REPL using PropLang and work on PropLang, a GUI library built on Gtk2hs that
allows for high level design.
HAppS-Data 0.9: XML, Pairs, HList, deriveAll. Alex Jacobson
announced
that the components of HAppS are being
released as individual useful packages. HAppS-Data is the first in a series,
and provides useful operations on XML data.
Introduction to proving Haskell code. Tim Newsham
put
together a
small intro lesson on proving Haskell code using quickcheck, equational
reasoning and Isabelle/HOL.
Very Fast Searching of ByteStrings. Chris Kuklewicz
announced
a Boyer-Moore algorithm implemented for strict and lazy bytestrings (and
combinations thereof). It finds all the overlapping instances of the pattern
inside the target.
Infinity 0.1. Austin Seipp
announced
Infinity v0.1. an IRC bot in the essence of lambdabot; that is, it should be
extendable through plugins and plugins should be easy to write, modify and
contribute.
Haskell' This section covers the Haskell'
standardisation process. Instances of
Read on bounded integral types should detect overflow
Libraries This week's proposals and extensions to the standard
libraries. Add &&&
and *** to Data.Tuple
Add
System.Info.isWindows Make
arrays safer GenT
monad transformer variant of Gen Test.HUnit
documentation Data.List.groupBy
with non-transitive equality predicate Add
dropped STM invariants functions Add
Data.Eq.equating to match Data.Ord.comparing Fix
abstract unix sockets
Hackage This week's new libraries in the Hackage library database.
numbers-2007.9.23. Lennart Augustsson.
numbers:
instances of the numerical classes for a variety of different
numbers.
hmp3 1.3. Don Stewart.
hmp3:
An mp3 player with a curses frontend.
utf-string 0.2. Eric Mertens.
utf8-string:
A UTF8 layer for IO and Strings.
hstats 0.1. Marshall Beddoe.
hstats:
A library of commonly used statistical functions.
sparsecheck 0.2. Matthew Naylor.
SparseCheck:
a library for logic programming in Haskell that allows convenient
description of test-data generators.
monadLib 3.3.0. Iavor Diatchki.
monadLib:
A collection of monad transformers.
ListLike 1.0.0. John Goerzen.
ListLike:
Generic support for list-like structures in Haskell.
cabal-test 0.1. David Himmelstrup.
cabal-test:
Cabal-test is a tool for testing cabal projects.
HPDF 1.1. alpheccar.
HPDF:
a PDF library.
hxt 7.3. Uwe Schmidt.
hxt:
The Haskell XML Toolbox.
irc 0.1. Trevor Elliott.
irc:
A small library for parsing IRC messages
hsdns 1.0. Peter Simons.
hsdns:
an asynchronous DNS resolver based on GNU ADNS.
streamproc 1.0. Peter Simons.
streamproc:
Stream Processer Arrow
hsemail 1.0. Peter Simons.
hsemail:
Parsers for the syntax defined in RFC2821 and 2822
funcmp 1.0. Peter Simons.
funcmp:
Functional MetaPost is a Haskell frontend to the MetaPost
language
cabal-rpm 0.3.1. Bryan OSullivan.
cabal-rpm:
This package turns Haskell Cabal source packages into source and
binary RPM packages.
Finance-Quote-Yahoo 0.3. Brad Clawsie.
Finance-Quote-Yahoo:
Obtain quote data from finance.yahoo.com
xmonad 0.3. Spencer Janssen.
xmonad:
a minimalist tiling window manager for X
hint 0.1. Daniel Gorin.
hint:
an interpreter monad for Haskell expressions based on
ghc-api
ipprint 0.2. Gleb Alexeyev.
ipprint:
Tiny helper for pretty-printing values in ghci console
pandoc 0.44. John MacFarlane.
pandoc:
Conversion between markup formats
X11-extras 0.3. Spencer Janssen.
X11-extras:
Missing bindings to the X11 graphics library
dsp 0.2. Matthew Donadio.
dsp:
Digital Signal Processing, Fourier Transform, Filter design,
Frequency estimation, Interpolation, Linear Algebra,
Polynomials
c2hs 0.15.0. Manuel Chakravarty.
c2hs:
C->Haskell assists in the development of Haskell bindings to C
libraries.
regex-base 0.92. Chris Kuklewicz.
regex-base:
Interface API for regex-posix,pcre,parsec,tdfa,dfa
soegtk 0.9.12.2. Duncan Coutts.
soegtk:
SOE api for gtk2hs
hsns 0.5.3. Austin Seipp.
hsns:
a miniature network sniffer
anydbm 1.0.4. John Goerzen.
anydbm:
Interface for DBM-like database systems
suffixtree 0.2.1. Bryan O'Sullivan
suffixtree:
An efficient, lazy suffix tree implementation.
Discussion A regressive view of support for imperative
programming in Haskell. Paul Hudak
sparked
an interesting thread about the effect on the language of rich support for
imperative programming.
Conference roundup Sydney Area
Programming Language INterest Group: Call for Abstracts
Jobs A top tier Investment bank is looking for a Haskell
developer. Kyle McBeath
announced
that there is a available a permanent position in London, joining a cross
asset team. You will be able to use Haskell commercially everyday, be
generously compensated and be on the forefront of technology in banking.
This is a great opportunity for PhD students or above with proven experience
of Haskell programming.
Postdoctoral Fellowship in Functional Programming. Graham Hutton
announced
that applications are invited for a 3-year postdoctoral research fellowship
in functional programming, to work on the EPSRC-funded project 'Reasoning
About Exceptions and Interrupts'.
Blog noise Haskell news from
the blogosphere.
Peano
induction for binary numbers
Simple proof
of stack correctness for a tiny language (in Agda) Peano, episode
3 Proving Haskell
programs correct with QuickCheck and Isabelle/HOL Coq
and simple group theory Coq and The Monad Laws:
Introduction Coq and The Monad Laws: The
First and Second Coq and The Monad Laws: The
Third Revisiting board-building in
chess Monads
A
Monad Tutorial for Ocaml Learning
about (Computational) Monads I
Wasn't Joking about One-Argument Haskell Functions Mapping
Programming Language IRC Channels ASCII Rave in
Haskell Today is similar to the
programming languages situation of twenty years ago Haskell - the videos
QuickCheck
: Why Testing code should be Laissez-faire Rationals!
Grass-Roots
Functional Languages? Programming
in C, ummm, Haskell And
what about C arrays? Real
Quicksort in Haskell Pointer
tagging n00b
Thoughts on Haskell 'The
way forward involves functional programming' Does
Syntax Matter? A
bright future: security and modern type systems Making the
transition from sequential to implicit parallel programming: How sequential
languages obscure parallelism Software
Transactional Memory - Making multithreading easier Roman
Numerals in Haskell A
history of monad tutorials Java
Becoming Solution for Safety-Critical Applications Dunno (about
STM) A
thesis about language niches Thoughts
on Scheme from a Haskeller Arrow
Transformers for sample rate conversion Playing
with Propositional Logic in Haskell Programmer productivity,
feature set implementation, and runtime performance Anatomy
of a new monad Welcome to Haskell
for Maths Blog Monadic
Parser Combinators using C# 3.0 Blog Rewrite - I'm
giving up Implementing The Kelly
Criterion Universal
Floating Point Errors Polyglot
Programming - is it all Greek to you? Factor
with a dash of curry How
to learn to program I
dated Haskell Curry's daughter Importance and Prominence and
the wave: FP A
Beautiful Regex Matcher... In Haskell San
Francisco Bay Area FP Group AngloHaskell:
The Aftermath Leibniz
Equality, Decomposition, and Definability Word
ladder in Haskell Existential
Data Constructors in Haskell and Qi Sun
slots transactional memory into Rock Haskell for pluggable
apps, with the GHC API Yoda Speaks
Haskell: A Tutorial Haskell
Syntax Gem ClusterBy:
a handy little function for the toolbox Squarefree
numbers in Haskell Overloading
functional references Haskell PDF 1.0
More fun
with randoms Learn
Haskell in 5 minutes a day: lesson 1 Destructive Quicksort in
Haskell Tries
and their derivatives Haskell HMAC
Solving
the word numbers problem: part 2 Solving
the word numbers problem: part 3 Functional
Forth F#'s
monadic syntax The
Actors Model and Haskell Haskell and
the South African Computing Olympiad The Power of Folds Folding
Incremental Averages in Haskell OpenGL
tetris in Haskell Learn
Haskell in 5 minutes a day: Lesson 1: Hello, World! Learn
Haskell in 5 minutes a day: Lesson 2: Input and Output, Variable Binding,
and more Learn
Haskell in 5 minutes a day: Lesson 3: case Break a string into groups
of characters A news
aggregator Haskell
elevator pitch Do
Notation and Sequence Operator Part 1: How
sequential languages obscure parallelism Part 2:
How to achieve parallel execution Part 3:
Explicit parallel programming with threads and locks Part
4: Explicit parallelism: message-passing programming Part
5: Implicit parallel programming: Declarative languages Part 6: So, why
aren't we using functional languages yet? More articles
about multicores and multiprocessors
Quotes of the Week nomeata: Haskell is basically
Swiss: Small, Efficient, and it is fun to explore the higher parts.
Tom Moertel: In the not-too-distant future, perhaps, we might
look back in amazement at the days when important security properties were
neither free nor guaranteed but expensive and uncertain, underwritten only
by the heroic efforts of individual programmers, struggling against
impossible odds to achieve inhuman perfection. Adam
Turoff: In any case, Simon Peyton Jones is right -- the way forward
involves functional programming, whether it means choosing a language like
Haskell, or integrating ideas from Haskell into your language of
choice. bootslack: Once, around the time of the discovery
of fire, there was a large population of people that thought mastering fire
would be too difficult so they didn't. The rest of us killed them, cooked
them and ate them.
Code Watch Notable new features and bug fixes to the Haskell compilers.
Thu Sep 6 09:19:48 PDT 2007. Norman Ramsey . massive
changes to add a 'zipper' representation of C--
Tue Aug 14
03:36:23 PDT
2007. Ben
Lippmeier. Add
graph coloring
register allocator.
Refactored linear allocator into separate liveness annotation and allocation
stages. Added graph coloring allocator, use -fregs-graph to enable.
New dump flags are
-ddump-asm-native -- output of cmm -> native transform.
-ddump-asm-liveness -- code annotated with register liveness info
-ddump-asm-coalesce -- output of register move coalescing
(this is a separate pass when using the
coloring allocator) (this could change in
the future)
-ddump-asm-regalloc -- code after register allocation
-ddump-asm-regalloc-stages -- blocks after each build/spill stage of
coloring allocator -ddump-asm-conflicts -- a global register
liveness graph in graphviz format
The new register allocator will allocate some registers, but it's not quite
ready for prime-time yet. The spill code generator needs some work.
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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at cse.unsw.edu.au. The
darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn [Less]
|
Posted
over 16 years
ago
by
dons
Welcome to issue 64 of HWN, a weekly newsletter covering
developments in the Haskell community.
This issue marks the second anniversary of the Haskell (not quite) Weekly
News. Thanks to the Haskell community for support, content and for reading
... [More]
over
the last two years! Announcements OSCON Haskell
Tutorial. Simon Peyton-Jones
Appeared at the O'Reilly Open Source Convention (OSCON) in Portland,
delivering a range of talks, including A Taste
of Haskell, A
Keynote on Functional Languages, Nested
Data Parallelism and Transactional
Memory for Concurrent Programming. Videos are available for most of these
talks: A Taste of Haskell: Part 1,
A Taste of Haskell: Part 2, slides
for A Taste of Haskell, Transactional Memory for Concurrent
Programming and the NDP
talk at the London Hugs meeting.
hpodder 1.0. John Goerzen
announced
version 1.0.0 of hpodder, the command-line podcatcher (podcast downloader)
that just happens to be written in everyone's favorite language. You can get
it here. Version 1.0.0
sports a new mechanism for detecting and disabling feeds or episodes that
repeatedly result in errors, updates to the Sqlite database schema, and
several bugfixes.
encoding-0.1. Henning Günther
announced
the release of 'encoding', a Haskell library to cope with many character
encodings found on modern computers. At the moment it supports (much more is
planned): ASCII, UTF-8, -16, -32, ISO 8859-* (alias latin-*), CP125* (windows
codepages), KOI8-R, Bootstring (base for punycode)
Dimensional 0.6: Statically checked physical dimensions. Björn
Buckwalter
announced
a library providing data types for performing arithmetic with physical
quantities and units. Information about the physical dimensions of the
quantities/units is embedded in their types and the validity of operations is
verified by the type checker at compile time. The boxing and unboxing of
numerical values as quantities is done by multiplication and division with
units.
Hackage This week's new libraries in the Hackage library database.
hgal-1.0.1. Jean Philippe Bernardy.
Computation
automorphism group and canonical labeling of a graph
hpodder-1.0.3. John Goerzen.
Podcast
Aggregator (downloader)
dlist-0.3.1. Don Stewart.
Differences
lists: a list-like type supporting O(1) append
pointfree-1.0. Felix Martini.
Stand-alone
command-line version of the point-less plugin for
lambdabot
encoding-0.1. Henning Guenther.
A
library for various character encodings
AppleScript-0.1.3. Wouter Swierstra.
Call
AppleScript from Haskell
SDL-ttf-0.4.0. David Himmelstrup.
Binding
to libSDL_ttf
Finance-Quote-Yahoo-0.2. Brad Clawsie.
Obtain
quote data from finance.yahoo.com
xmobar-0.7. Andrea Rossato.
A
Minimalistic Text Based Status Bar
Conference roundup OSCON. Simon Peyton-Jones gave a series of popular
talks about Haskell and functional programming at OSCON, in Portland. Below are
collected just some of the posts about Haskell at OSCON. A
brief Haskell-at-OSCON trip report
Wow!
OSCON video viewing statistics OSCon
Wednesday Part 2 A
Taste of Haskell, A Taste of C OSCON
Day 1 A Taste
of Haskell OSCON 2007
Threading
Building Blocks and C OSCON:
Wednesday Morning OSCON:
Wednesday Afternoon OSCON 2007 (July
25) Nested
Data Parallelism in Haskell OSCON
2007: Wednesday Morning Keynotes A Taste of
Haskell
Blog noise Haskell news from
the blogosphere.
Ord,
Countable Ordinals, and an Idea of sigfpe
Word
numbers, Part 1: Billion approaches Implementing
SmallTalk in Haskell From
walking to zipping, Part 1: Moving right From
walking to zipping, Part 2: Down and up Irrefutable patterns for the
ignorant Making
Haskell nicer for game programming Nested
Data Parallelism in Haskell Compiling Haskell to
Erlang Peano's
Axioms IV: Advanced Functions and Integers 37
Reasons to Love Haskell On
the value of strong static typing Parsec
Parser Testing with QuickCheck Fallacies
in the Great Dynamic vs Static Debate Implementing a
dictionary using first class functions Strong
specifications in Coq: the type says everything Run length
encoding in Haskell Run length
encoding and arrows Playing
with Arrows Monads!
(and Why Monad Tutorials Are All Awful) Haskell:
Explaining Arrows through XML Transformations Monads as
computation Closed
Categories Good Haskell
Style Monads
are hard to teach Parsec
First
attempt at using GTK with Haskell Introduction
to Haskell, Part 3: Monads Programming
in Haskell Haskell
Fun Algebraic Data
Types again DFAs,
Categories, and Typecheckers Haskell
State Accessors (second attempt: Composability) Developing Programs and
Proofs Spontaneously using GADT Encoding Inductive and
Coinductive Types in Polymorphic Lambda Calculus Polymorphic Types in Haskell
without Constructors? Substraction not Definable in
Simply Typed Lambda Calculus Imperative
programming is a special type of functional programming Binding Haskell to C
structs
Quotes of the Week schluehk: ... Haskell taking over
the world and troubled parents ask why their kids have turned into math hippies
talking about nothing but love and abstract algebra...
JohnGoerzen: Haskell manipulates functions with the same ease
that Perl manipulates strings (anonymous Russian blogger):
Glory to Simons! Glory to Swedish professors! Laurent
Sansonetti: I appreciated so much the Haskell talks that I am now
learning the language. dcoutts: Apparently that's only
200x faster than the faster of two common python serialisation libs, so
we've got some way to go yet. slava: [on Isabelle for web
frameworks] IM IN UR WEB SITEZ, CODING PROVABLY-CORRECT BLINK TAG!!
gimboland: At present i'd say 'tinkering with a nuclear bomb'
is approximately where i am with monads... jcreigh: Could
not find instance Ord for type ProgrammingLanguage kowey:
i suspect we're one of the rare wikibooks to use higher order templates
monochrom: 'm a -> (a -> m b) -> m b' is much more to the point
than 'mumble computation mumble computation mumble computation mumble'
roconnor: damn it, Haskell pseudo code is indistinguishable
from actual code slava: Because top enterprise industry
analysts recommend Because top enterprise industry analysts recommend that
managers need to focus on Agile methodologies, SOA, B2B and Yoneda's lemma
in today's rich internet application-driven environment. Don't get left
behind by the AJAX craze by missing out on call center outsourcing and
Yoneda's lemma!
Code Watch Notable new features and bug fixes to the Haskell compilers.
Fri Jul 27 03:41:57 PDT 2007. Simon Marlow. Pointer
Tagging.
This patch implements pointer tagging as per our ICFP'07 paper 'Faster laziness
using dynamic pointer tagging'. It improves performance by 10-15% for most
workloads, including GHC itself.
The original patches were by Alexey Rodriguez Yakushev, with additions and
improvements by me. I've re-recorded the development as a single patch.
The basic idea is this: we use the low 2 bits of a pointer to a heap object (3
bits on a 64-bit architecture) to encode some information about the object
pointed to. For a constructor, we encode the 'tag' of the constructor (e.g.
True vs. False), for a function closure its arity. This enables some decisions
to be made without dereferencing the pointer, which speeds up some common
operations. In particular it enables us to avoid costly indirect jumps in many
cases.
More information in
the commentary. About the Haskell Weekly News Each week, 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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at cse.unsw.edu.au. The
darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn [Less]
|
Posted
almost 17 years
ago
by
dons
Welcome to issue 63 of HWN, a weekly newsletter covering
developments in the Haskell community.
This week, the HWN rises zombie-like from its repository, as your friendly
HWN editor tries to get his PhD finished. This bumper issue is filled out
... [More]
with
100 new Haskell blog articles and dozens of new libraries!
Announcements Learn Haskell in 10 minutes. Chris Smith
prepared
a new tutorial on the basics of Haskell
Haskell Program Coverage 0.4. Andy Gill
announced
release 0.4 of Hpc, a tool for Haskell developers. Hpc is a tool-kit to
record and display Haskell Program Coverage. Hpc includes tools that
instrument Haskell programs to record program coverage, run instrumented
programs, and display the coverage information obtained.
Uniplate 1.0. Neil Mitchell
announced
Uniplate (formerly known as Play), a library for boilerplate removal
requiring only Haskell 98 (for normal use) and optionally multi-parameter
type classes (for more advanced features).
Atom: Hardware description in Haskell. Tom Hawkins
announced
Atom, a high-level hardware description language embedded in Haskell that
compiles conditional term rewriting systems into conventional HDL.
Catch. Neil Mitchell
announced
a pattern-match checker for Haskell, named Catch. Do you sometimes encounter
the dreaded 'pattern match failure: head' message? Do you have incomplete
patterns which sometimes fail? Do you have incomplete patterns which you know
don't fail, but still get compiler warnings about them? Would you like to
statically ensure the absence of all calls to error? This is what Catch helps
... catch!
Haskell Communities and Activities Report. Andres Loeh
announced
that the Haskell Communities and Activities Report is now available, covering
the increasingly diverse groups, projects and individuals working on, with,
or inspired by Haskell.
The Reduceron. Matthew Naylor
announced
the Reduceron, a processor for executing Haskell programs on FPGA with the
aim of exploring how custom architectural features can improve the speed in
which Haskell functions are evaluated. Being described entirely in Haskell
(using Lava), the Reduceron also serves as an interesting application of
functional languages to the design of complex control circuits such as
processors.
Data.Derive. Neil Mitchell
announced
Data.Derive, a library and a tool for deriving instances for Haskell
programs. It is designed to work with custom derivations, SYB and Template
Haskell mechanisms. The tool requires GHC, but the generated code is portable
to all compilers. We see this tool as a competitor to DrIFT.
Piffle, a packet filter language. Jaap Weel
announced
Piffle, a compiler for a packet filter language in Haskell: a good example of
how Haskell can be used in an application domain (low level computer
networking) where people tend to use C for everything, including writing
compilers.
Towards a Programming Language Nirvana. Simon Peyton-Jones
appears on
video, talking about the Haskell path to programming language Nirvana
Yi 0.2. Jean-Philippe Bernardy
announced
the 0.2.0 release of the Yi editor. Yi is a text editor written and
extensible in Haskell. The goal of Yi is to provide a flexible, powerful and
correct editor core dynamically scriptable in Haskell. Yi si also a Haskell
interpreter, very much like emacs is a Lisp interpreter, this makes really
easy to dynamically hack, experiment and modify Yi. All tools and goodies
written in haskell are also readily available from the editor. This is
implemented by binding to the GHC API.
Foreign.AppleScript. Wouter Swierstra
announced
a library for compiling and executing AppleScript from Haskell. AppleScript
is a scripting language available on all modern Apple computers. It can be
used to script most applications on running on MacOS X.
Asterisk Gateway Interface. Jeremy Shaw
uploaded
a simple AGI interface to hackage.
For more about Asterix, see here.
Harpy. Dirk Kleeblatt
announced
Harpy, a library for run-time code generation of x86 machine code. It
provides not only a low level interface to code generation operations, but
also a convenient domain specific language for machine code fragments, a
collection of code generation combinators and a disassembler. Lennart
Augustsson has written a series of articles demonstrating its use for
fast EDSLs.
Yaml Reference. Gaal Yahas
announced a Haskell
(Cabal) package containing the YAML spec productions wrapped in Haskell magic
to convert them to an executable parser. The parser is streaming. It isn't
intended to serve as a basis for a YAML tool chain; instead it is meant to
serve as a reference implementation of the spec.
Haskell' This section covers the Haskell'
standardisation process. Dependent
types
Monomorphism
restriction Operator
backquoting Type
signatures in export lists Pragma
syntax inits is
too strict Module
system initialisation Polymorphic
strict fields
Libraries This week's proposals and extensions to the standard
libraries. Add
exeExtension to System.Info
The
drive functions in the filepath package Optimising
words Add
dropPrefix
Hackage This week's new libraries in the Hackage library database.
HsOpenSSL-0.1. Masatake Daimon
HsOpenSSL
0.1, OpenSSL binding for Haskell
Emping-0.3. Hans Van Thiel
Emping
derives heuristic rules from nominal data
parsely-0.1. Samuel Bronson
parsely,
Typeclasses for parsing monads, and some instances
sessions-2007.7.15. Matthew Sackman
sessions,
Session Types for Haskell
CC-delcont-0.1. Dan Doel
CC-delcont1,
An implementation of multi-prompt delimited continuations
gd-3000.3.0. Bjorn Bringert
gd,
A binding to the GD graphics library
StrategyLib-4.0.0.0. Samuel Bronson
StrategyLib,
Strafunski's StrategyLib
ports-0.4.3.2. Don Stewart
ports,
concurrent and distributed Haskell programming in the IO monad
without relying on mutable variables.
Finance-Quote-Yahoo-0.1. Brad Clawsie
Yahoo-0.1,
Obtain quote data from finance.yahoo.com
logict-0.2. Dan Doel
LogicT,
A continuation-based, backtracking, logic programming monad.
utf8-string-0.1. Eric Mertens
utf8-string,
Support for reading and writing UTF8 Strings
type-int-0.4. Edward Kmett
type-int,
Type level 2s- and 16s- complement Integers (positive and negative),
Booleans, Ord and Eq
cgi-3001.1.5. BjornBringert
cgi-3001,
a Haskell library for writing CGI programs
xmobar-0.6. AndreaRossato
xmobar,
Xmobar is a minimal status bar for the XMonad Window Manager
monad-param-0.0.2. EdwardKmett
monad-param,
parameterized monads
dfsbuild-1.0.1. JohnGoerzen
dfsbuild,
dfsbuild is the program used to create the Debian From Scratch CD
image.
Conference roundup AngloHaskell. is
coming up in
Cambridge, August 10-11
Haskell Hackathon 07 II. Hac07
coming
up in Freiburg, Oct 5-7
Blog noise Haskell news from
the blogosphere.
ONLamp:
An Introduction to Haskell
ONLamp:
An Introduction to Haskell: Part 2: Pure Functions Knuth-Morris-Pratt
in Haskell Towards
Better Error Handling Dynamic
epsilons in Haskell with a bit of type hackery Null pointers vs None
vs Maybe Lambda
calculus in alligator form Learning
Haskell databases liskell.org Norvig's
spell checker and idiomatic Haskell Trying
out functional programming Trying
out functional programming: part 2 Roll
Your Own Window Manager: Tracking Focus with a Zipper You Lazy Thunk!
What's a
monad? Erlang: how syntax can
discourage good programming practices Regular
expressions in Haskell Producing
diagrams Notes
on Chapter 2 of SOE Xmonad and KDE on kubuntu
feisty Does
XMonad crash? On proving pattern coverage with Catch A
simple echo server More
deforestation State
of the computer book market Pragmatic Haskell
Analysing
Haskell book sales Real-world
Haskell: it's time Real-World
Haskell Tim
O'Reilly: Real World Haskell title under development Haskell:
Ready for Prime Time Haskell's
time has come Haskell
Book in the Making! Finally,
a book on how Haskell can be applied to 'real-world' problems!
Haskell - Ready for the
mainstream? Great
news in the Haskell Books front Practical
reasons for learning some functional languages Preconditions
on XMonad Xmonad
does status bars right by not doing them at all Perfect
Programming Languages: Part 1, Syntactic Similarity Haskell
diary, day 1 A
functional programmer stole my job Haskell
incarnate: robots and Haskell Chapter 3 of
SOE Implementing
Network.HTTP with ByteStrings Signal handling in
Haskell ML,
Haskell and Coq Djinn, Coq, Monad and a bit
of Haskell A beginner with
Parsec A
perceptron in Haskell Piffle:
a packet filter language with a compiler written in Haskell OriDSEL:
a DSL for origami Joel's compiler
in OCaml and Haskell JGraph in
Haskell A
neural network in Haskell Scientific.Dimension:
Type Arithmetic and Physical Units in Haskell Flattening
an array of arrays Travelling
Salesman Problem: Introduction (in Haskell) Parallel
programming, functional vs. imperative languages The
impossible is only possible sometimes More
Scheming with Haskell How
to write tolerably efficient optimzation code without really
trying... Harpy:
generating machine code from a Haskell A
little DSL embedded in Haskell Generating
more code with Harpy Representing
DSL expressions in Haskell Disassembly
A
simple embedded compiler in Haskell Functional
composition Beautiful
Haskell implementation of a power set Constructability,
Uncountability, and w-Haskell Uncountable
Ordinals, part 2 Category Theory and Haskell
3 : Algebras and Monads The
Supermarket Pricing Kata in Haskell Implementing
a type for partial values Appreciating
Constraint Programming Continuing with continuations
in Haskell Find the
Bug Haskell
decision making Learning
Haskell and Number Theory: The End of GCD A
foray into number theory with Haskell Flatten
Benchmark for Haskell Solving
an arithmetic puzzle with Haskell Haskell
DataPipe Refining
my first steps with Parsec Equational
Reasoning in Haskell Peano's
Axioms Part I: Haskell and Type Theory, and Object Oriented
Programming Making
Haskell faster than C! Power serious: power
series in ten one-liners Haskell
for Programmers: a tutorial Parameterized
Monads in Haskell Monomorphism
and the unintentional fib Cohatoe - Contributing Haskell
to Eclipse Getting
started with HUnit A Neat
Problem Parsing,
CFGs, and Type Hacking Using
haskell for reading raw ethernet frames A
simple Haskell malware: X11 keylogger I'll
have a Buchburger with fries: solving XKCD's menu puzzle
Quotes of the Week Smith's Law: Any sufficiently large
test suite for a program written in a dynamic language will contain an ad-hoc,
informally-specified, bug-ridden, slow, patchy implementation of half of the
Haskell type system
pshaw: I think the key hook that allowed me to pass interview
#2 was that I put the word 'Haskell' on my resume.
monochrom: Fear leads to uncertainty. Uncertainty leads to
doubt. Doubt leads to theorem proving. Adam Turoff: Let me
start by being perfectly clear: if you are a professional programmer, then
Haskell is in your future. Apfelmus: In the end, I think
that strong types is only one thing that makes Haskell programs work after
compilation. The other ones are higher-order functions and *purity*. No type
system can achieve what purity offers.
About the Haskell Weekly News Each week, 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. Headlines
are available as PDF.
To help create new editions of this newsletter, please
see the contributing
information. Send stories to dons at cse.unsw.edu.au. The
darcs repository is available at darcs get http://www.cse.unsw.edu.au/~dons/code/hwn [Less]
|
Posted
almost 17 years
ago
by
jgoerzen
Hi everyone,
I've been hosting sequence.complete.org on my own server for awhile, but have found that I haven't had time to maintain it lately. I'm looking for someone else that might be willing/able to host and maintain it.
It's using Drupal on
... [More]
MySQL, though a fairly old version of Drupal at the moment.
One result of my lack of time is that there has been a problem with spam on the Sequence. I've had to disable new user account requests due to the hundreds of emails to bogus addresses this is generating (and a few to valid addresses that spammers use).
If you want an account, or would be interested in taking over the site, please send a note to me... jgoerzen on complete ,dot, org.
-- John [Less]
|