237
I Use This!
Very High Activity

News

Analyzed 1 day ago. based on code collected 1 day ago.
Posted almost 17 years ago by dons
Welcome to issue 62 of HWN, a weekly newsletter covering developments in the Haskell community. This week sees the release of Atom, a hardware description language embedded in Haskell, along with the usual suite of new libraries and tools. In ... [More] addition, The Monad.Reader Issue 7 was released, and the hackage upload festival continues unabated. Announcements Atom: Hardware Description in Haskell. Tom Hawkins announced the release of Atom, a high-level hardware description language embedded in Haskell, compiles conditional term rewriting systems into conventional HDL. The Monad.Reader: Issue 7. Wouter Swierstra announced the latest issue of The Monad.Reader. The Monad.Reader is a quarterly magazine about functional programming. It is less-formal than journal, but somehow more enduring than a wiki page or blog post. HDBC: Haskell Database Connectivity. John Goerzen announced that HDBC 1.1.2 is now released. HDBC provides an abstraction layer between Haskell programs and SQL relational databases. This lets you write database code once, in Haskell, and have it work with any number of backend SQL databases. FileManip: Expressive Filesystem Manipulation. Bryan O'Sullivan announced the FileManip package provides expressive functions and combinators for searching, matching, and manipulating files. photoname: manipulate photos using EXIF data. Dino Morelli announced the release of photoname, a command-line utility for renaming and moving photo image files. The new folder location and naming are determined by two things: the photo shoot date information contained within the file's EXIF tags and the usually-camera-assigned serial number, often appearing in the filename. RSA-Haskell: Command-line Cryptography. David Sankel announced the release of RSA-Haskell, a collection of command-line cryptography tools and a cryptography library written in Haskell. It is intended to be useful to anyone who wants to secure files or communications or who wants to incorporate cryptography in their Haskell application. Haskell modes for Vim. Claus Reinke summarised the various Haskell/Vim support currently available French Translation of Gentle Introduction to H98. The haskell-fr team announced a completed a translation into French of the 'Gentle Introduction to Haskell'. Haskell' This section covers the Haskell' standardisation process. Polymorphic strict fields Hackage This week's new libraries in the Hackage library database. BitSyntax-0.2. Adam Langley. A simple function for the construction of binary data. filepath-1.0. Neil Mitchell. Library for manipulating FilePath's in a cross platform way. Chart-2007.3.5. Tim Docker A library for generating 2D Charts and Plots. FileManip-0.1. Bryan O'Sullivan A Haskell library for working with files and directories. hsns-0.5.2. Austin Seipp A network sniffer written in a purely fun language. template-0.1. Johan Tibell Simple string substitution library that supports dollar-based substitution. ASN1-0.0.1. Dominic Steinitz ASN.1 suppport for X.509 identity and attribute certificates, PKCS8, PKCS1v15. Discussion The Proper Definition of (evaluate :: a -> IO a). Isaac Dupree described a variant of evaluate with modified semantics to the current implementation. Why is Data.Set not a monad?. Dan Doel documented the reasons why Data.Set is not currently an instance of Monad. Chaos. Andrew Coppin announced chaos, a fun image generating mystery program. The Functional Pearls. Don Stewart collected the functional pearls known to be available online, on to a single page on the Haskell wiki. Blog noise Haskell news from the blogosphere. HUG: Nested Data Parallelism in Haskell HUG: London Haskell User Group New York Functional Programmers meeting: roundup Python-style string split in Haskell Thinking in types Using the Haskell package system Fixed precision, an update Use of Text.XHtml.Strict for Outputting XHTML Idiom: Plan for Currying Bowling in Haskell The Trivial Monad Homeland Security Threat Level Monad Monads as universe helpers Understanding comonads Coding in Haskell: conciseness Functional programming in Wall Street Phantom Types for Real Problems Haskell rocks Advertising the ICFP Programming Contest Haskell wikibook Roll Your Own Window Manager: Part 1: Defining and Testing a Model Haskell and the Type Calculus: or, the Good -> Bad -> Ugliness of Types FileManip, an expressive Haskell library for manipulating files Programming in Haskell Parsing JSON in Haskell Namespace confusion A Scheme parser in Haskell Simple performance analysis Playing with Haskell unsafely repeat and sequence Haskell and C: functions returning more than one value Quotes of the Week Oleg K: So, `bind' is `let' and monadic programming is equivalent to programming in the A-normal form. That is indeed all there is to monads kc5tja: Premature evil is the root of all optimization Tommah: Remember, kids: if you program in a language with side effects, the terrorists win. ndm: Comments are for people who can't sense what their code does from the indentation jcreigh: GHC has lots of interesting features above Haskell98, I've noticed. 'You can take the red pill or the blue pill...' 'Hmm. What's the green pill?' 'What? Oh. That's GHC.' schluehk: It's about a variant of the other big Haskell credo: once it compiles it works. Once you have written a prototype you have also a spec. If this is not agile I don't know what? It is a quite remarkable inversion. Formerly people wanted tools that are so versatile that they let them express almost everything with great ease and where they didn't care a lot about speed optimizations and corner cases in the early iterations. Now people want tools that restricts intentionally their expressivity to let them do big upfront design as source code. They want to be guided to initial perfection. Let's face it: Haskell has quite some momentum in the dialectic move. Code Watch Notable new features and bug fixes to the Haskell compilers. Thu May 3 06:19:55 PDT 2007. Simon Marlow. Add history/trace functionality to the GHCi debugger. The debugger can now log each step of the evaluation without actually stopping, keeping a history of the recent steps (currently 50). When a (real) breakpoint is hit, you can examine previous steps in the history (and their free variables) using the :history, :back and :forward commands. Wed May 2 09:34:57 PDT 2007. Simon Peyton-Jones. Make records work properly with type families. This fixes Trac #1204. There's quite a delicate interaction of GADTs, type families, records, and in particular record updates. 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 61 of HWN, a weekly newsletter covering developments in the Haskell community. The last week was a very exciting week for the Haskell community, with a new GHC release, the first release of Xmonad, a window manager written in ... [More] Haskell, and DisTract, a new distributed bug tracker, written in Haskell. A number of new Haskell jobs were announced, and several new user groups were formed! Announcements GHC 6.6.1. Ian Lynagh announced a new patchlevel release of GHC. This release contains a significant number of bugfixes relative to 6.6, so we recommend upgrading. Release notes are here. GHC is a state-of-the-art programming suite for Haskell. Included is an optimising compiler generating good code for a variety of platforms, together with an interactive system for convenient, quick development. The distribution includes space and time profiling facilities, a large collection of libraries, and support for various language extensions, including concurrency, exceptions, and foreign language interfaces. Xmonad 0.1. Spencer Janssen announced the inaugural release of Xmonad. Xmonad is a minimalist tiling window manager for X, written in Haskell. Windows are managed using automatic layout algorithms, which can be dynamically reconfigured. At any time windows are arranged so as to maximise the use of screen real estate. All features of the window manager are accessible purely from the keyboard: a mouse is entirely optional. Xmonad is configured in Haskell, and custom layout algorithms may be implemented by the user in config files. DisTract: Distributed Bug Tracker implemented in Haskell. Matthew Sackman announced DisTract, a Distributed Bug Tracker. We're all now familiar with working with distributed software control systems, such as Monotone, Git, Darcs, Mercurial and others, but bug trackers still seem to be fully stuck in the centralised model: Bugzilla and Trac both have single centralised servers. This is clearly wrong, as if you're able to work on the Train, off the network and still perform local commits of code then surely you should also be able to locally close bugs too. DisTract allows you to manage bugs in a distributed manner through your web-browser. The distribution is achieved by making use of a distributed software control system, Monotone. Thus Monotone is used to move files across the network, perform merging operations and track the development of every bug. Finally, the glue in the middle that generates the HTML summaries and modifies the bugs is written in Haskell. IOSpec 0.1. Wouter Swierstra announced the first release of the Test.IOSpec library, that provides a pure specification of some functions in the IO monad. This may be of interest to anyone who wants to debug, reason about, analyse, or test impure code. Essentially, by importing libraries from IOSpec you can the same code you would normally write in the IO monad. Once you're satisfied that your functions are reasonably well-behaved, you can remove the Test.IOSpec import and replace it with the 'real' functions instead. wl-pprint-1.0: Wadler/Leijen pretty printer. Stefan O'Rear announced wl-pprint-1.0, the classic Wadler / Leijen pretty printing combinators, now in 100% easier to use Cabalised form! PPrint is an implementation of the pretty printing combinators described by Philip Wadler (1997). In their bare essence, the combinators of Wadler are not expressive enough to describe some commonly occurring layouts. The PPrint library adds new primitives to describe these layouts and works well in practice. London Haskell User Group. Neil Bartlett announced the first meeting of the London Haskell User Group on Wednesday 23rd May from 6:30PM. The meeting will be held at City University's main campus in central London, and Simon Peyton Jones will be coming to give a talk. New York Functional Programmers Network. Howard Mansell announced a New York area-based network for Haskell (and functional) programmers. The idea is to have a regular meeting through which functional programmers can meet to discuss experiences, get and give information, find jobs. Data.Proposition 0.1. Neil Mitchell announced the release of Data.Proposition, a library that handles propositions, logical formulae consisting of literals without quantification. It automatically simplifies a proposition as it is constructed using simple rules provided by the programmer. Implementations of propositions in terms of an abstract syntax tree and as a Binary Decision Diagram (BDD) are provided. A standard interface is provided for all propositions. Book reviews for the Journal of Functional Programming. Simon Thompson sought interested contributors for book reivews for the Journal of Functional Programming. There is a list of books currently available for review. Reminder: HCAR May 2007. Andres Loeh reminded us that the deadline for the May 2007 edition of the Haskell Communities and Activities Report is only a few days away -- but this is still enough time to make sure that the report contains a section on your project, on the interesting stuff that you've been doing; using or affecting Haskell in some way. Template 0.1: Simple string substitution. Johan Tibell announced a simple string substitution library that supports substitution ala Perl or Python. hpaste for emacs. David House announced hpaste.el, an Emacs Lisp library that integrates hpaste, the Haskell pastebin, into Emacs. It provides two functions, hpaste-paste-region and hpaste-paste-buffer, which send the region or buffer to the hpaste server as required. Haskell' This section covers the Haskell' standardisation process. General pattern bindings Relax the restriction on Bounded derivation data syntax Mathematical preludes Literate Haskell specification Libraries This week's proposals and extensions to the standard libraries. Add a MonadState instance for the Parsec monad Use 'Wide' API if System has it Hackage This week's new libraries in the Hackage library database. X11-extras-0.1 hinstaller-2007.4.24 IOSpec-0.1.1 gd-3000.0.1 xmonad-0.1 YamlReference-0.3 parsedate-2006.11.10 chunks-2007.4.18 wl-pprint-1.0 Emping-0.1 hsns-0.5.1 htar-0.1 cabal-upload-0.3 unix-compat-0.1 tar-0.1 Discussion GHC Release Plans. Simon Marlow initiated a discussion on possibe release timelines for upcoming GHC versions. More inlining. Duncan Coutts asked about more fine grained control over inlining in GHC, to ease term rewriting with RULES Haskell version of Norvig's Python Spelling Corrector. Pete Kazmier spawned a long thread covering various implementations of spelling correctors in Haskell Jobs Quantitative Functional Programmer. Credit Suisse. The Global Modelling and Analytics Group (GMAG) is responsible for producing state-of-the-art pricing, trading and hedging models for Credit Suisse. These models are used across a range of businesses in the Fixed Income and Equity Divisions. The groups mandate covers all major asset classes including Credit Derivatives, Commodities, Emerging Markets, Equity Derivatives and Convertibles, Exotics, Foreign Exchange, Fund Linked Products, Interest Rate Products and Mortgage Derivatives. GMAG operates globally with 85 members located in New York, London, Hong Kong and Tokyo. We are currently building a Domain Specific Language (embedded in Haskell) that will be used within GMAG. We require intelligent, motivated people to develop and extend this language. These individuals will also work with modellers to aid them in effectively applying these new tools. Haskell programmer positions. HAppS. HAppS LLC has part-time and full-time positions open for Haskell programmers to: improve the open source Haskell codebase at HAppS.org; implement infrastructure to make it work well in Amazon S3/EC2 environments; make http://pass.net reliable enough to be used by live apps; build the mass market apps we want to run on top of the HAppS/Pass.net platform. We are looking for people who: have substantial experience programming Haskell; have experience building Internet apps (not necessarily in Haskell but would be good), and live in any of these places: the Internet, New York, San Francisco Los Angeles. Vacancy for a PhD student. Johan Jeuring announced a vacancy for a PhD student in the Strategy Feedback project. Knowledge of Haskell is a big plus; implementation of most of the tools will be done in Haskell. Length: 1 3 years, Open University the Netherlands, Location: Heerlen. Blog noise Haskell news from the blogosphere. Overloading Haskell numbers, part 1, symbolic expressions Overloading Haskell numbers, part 2, Forward Automatic Differentiation Overloading Haskell numbers, part 3, Fixed Precision More Haskell parallelism Haskell status: impressed On haskell: writing a packet sniffer Must-see Haskell talks at OSCON 07 Zen and the Art of Functional Programming Playing with sections in Haskell More playing with sections (and flip) Thinking in objects Robot localization using a particle system monad 21 open problems in typed lambda calculus Arrows and security in Haskell Haskell GUI Programing Splitting a string in Haskell Introduction to Haskell: I like it a lot Haskell (ish) code, Java gui Haskell wikibook blurb Functional and Object-Oriented Programming Xmonad: a lightweight window manager Xmonad: a tiling window manager written in Haskell Xmonad: Haskell window management has arrived Xmonad: a minimal window manager in Haskell Xmonad: in the footsteps of wmii Xmonad: a new window manager Haskell code IO in Haskell Haskell records considered grungy Quotes of the Week apfelmus: Programming in Haskell is like dual-wielding two light sabers whereas programming in imperative languages is like being equipped with a blunt kitchen knife. mwc: C is multiparadigm in the same way a dog with 4 table legs nailed onto it is an octopus ptolomy: Sometimes Haskell feels like a personal trainer for proper program construction. You half-ass something, and the compiler doesn't let you get away with it and won't let you move on until you do it right. dons: I wish you success and may your lambdas always beta reduce quicksilver: May your years be long and your type inference algorithms sound. inverselimit: So I tried as my first project in Haskell to write something that decomposes modules of polynomials using Schur-Weyl duality. This turned out to be a little tricky without being comfortable with the syntax jcreigh: Could not find instance Ord for type ProgrammingLanguage Code Watch Apr 19 07:23:58 PDT 2007. Simon Marlow. More debugger improvements. :list shows the code around the current breakpoint. Also it highlights the current expression in bold (the bold/unbold codes are hardwired to the ANSI codes right now, I'll provide a way to change them later). :set stop cmd' causes cmd to be run each time we stop at a breakpoint. In particular, :set stop :list is particularly useful. Wed Apr 25 03:18:32 PDT 2007. simonpj. Add -fwarn-monomorphism-restriction (on by default) to warn when the MR is used. Users often trip up on the Dreaded Monomorphism Restriction. This warning flag tells you when the MR springs into action. Currently it's on by default, but we could change that. Thu Apr 26 02:37:19 PDT 2007. Pepe Iborra. New section on debugging lambdas in the ghci user guide 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 about 17 years ago by dons
Welcome to issue 60 of HWN, a weekly newsletter covering developments in the Haskell community. With the ICFP deadline passed, your Haskell Weekly News returns to its regularly scheduled programming. This week: a truckload of new libraries! ... [More] Announcements ndp-0.1: nested data parallelism in Haskell. Roman Leshchinskiy announced the first release of the NDP package, a library for writing nested data-parallel programs in Haskell, on shared-memory multiprocessors. The NDP library is part of the Data Parallel Haskell project. The paper Data Parallel Haskell: a status report describes the underlying design and go through an example program. binary 0.3: bigger, better, faster. Lennart Kolmodin announced binary 0.3. The 'binary' package provides efficient serialization of Haskell values to and from lazy ByteStrings. ByteStrings constructed this way may then be written to disk, written to the network, or further processed (e.g. stored in memory directly, or compressed in memory with zlib or bzlib). It's available through Hackage, or via its homepage. Text.HTML.Chunks. Matthew Sackman announced the Text.HTML.Chunks library, a clone with improvements of the Perl HTML::Chunks module. The main achievement is the use of template-haskell to combine the template into the code at compile time. This then allows for static checking that the variables/fields that the templates are expecting are indeed being provided and that the templates the code is trying to use do indeed exist. The template is then incorporated within the code, removing the dependency on the template. Phooey 1.0 and GuiTV 0.3. Conal Elliott announced a new version of Phooey, a library for functional user interfaces. Highlights in this release: uses new TypeCompose package, which includes a simple implementation of data-driven computation; new Applicative functor interface; eliminated the catch-all Phooey.hs module. Now import any one of Graphics.UI.Phooey.{Monad ,Applicative,Arrow}; Phooey.Monad has two different styles of output widgets, made by owidget and owidget' and more. Phooey is also used in GuiTV, a library for composable interfaces and 'tangible values'. The real Monad Transformer. Henning Thielemann announced the real monad transformer! It has been argued that people avoid Haskell because of terms from Category theory like 'Monad'. This problem can now be solved by a wrapper which presents all the internet entirely without monads! Start the parallel Haskell wiki. Of course the tool is written in Haskell, that is, Haskell helps solving problems which only exist because of Haskell. Bug reports and feature requests can be tracked at here. GHC 6.6.1 Release Candidate. Ian Lynagh announced the Release Candidate phase for GHC 6.6.1. Snapshots beginning with 6.6.20070409 are release candidates for 6.6.1. You can download snapshots from here. Haskell Cryptographic Library 4.0.3. Dominic Steinitz announced the release of a new version of the Haskell Cryptographic Library based on the crypto proposal. See the crypto home for more details. There is now no dependency on NewBinary. The downside is the library contains no support for ASN.1 which will be released in separate package. TagSoup library 0.1. Neil Mitchell announced TagSoup, a library for extracting information out of unstructured HTML code, sometimes known as tag-soup. The HTML does not have to be well formed, or render properly within any particular framework. This library is for situations where the author of the HTML is not cooperating with the person trying to extract the information, but is also not trying to hide the information. The library provides a basic data type for a list of unstructured tags, a parser to convert HTML into this tag type, and useful functions and combinators for finding and extracting information. ParseP library 0.1. Twan van Laarhoven announced a generalized/improved variant of the ReadP parser library. Unlike ReadP ParseP can handle any type of token, and actually generates error messages in case something goes wrong. It is also possible to use things other then a list as an input stream, for example ByteStrings. Debian library for Haskell. Jeremy Shaw announced the availability of a library for interacting with the Debian system from Haskell. This library does not (currently) depend on dpkg or apt for any functionality. Contributions are welcome, and the library is available from Hackage. Well-Support Modules: parsing/Printing Debian control files, parsing/printing sources.list files, comparing Debian version numbers, a data type for encoding Debian relations and more. Call for Contributions: HC and A Report. Andres Loeh mentioned that it is nearly time for the twelfth edition of the Haskell Communities and Activities Report. If you are working on any project that is in some way related to Haskell, write a short entry and submit it. Even if the project is very small or unfinished or you think it is not important enough -- please reconsider and submit an entry anyway! System.FilePath 1.0. Neil Mitchell announced the System.FilePath 1.0 release! The FilePath library is a library for manipulating FilePaths in a cross platform way on both Windows and Unix. Documentation. FGL - A Functional Graph Library. Martin Erwig announced a new release of the Functional Graph Library for Haskell. This release fixes some bugs in the implementation of several basic inspection functions. TypeCompose 0.0. Conal Elliott announced TypeCompose, which provides some classes and instances for forms of type composition. It also includes a very simple implementation of data-driven computation. Haskell SWF generation library. Jeremy Shaw announced the availability of an Adobe Shockwave Flash (SWF) library for Haskell. It is primarily useful for compiling ActionScript assembly into a .swf file. New web-devel mailinglist for Haskell. Marc Weber announced a new web-devel mailinglist on haskell.org has been set up. You can subscribe here. strict-0.1: strict versions of Haskell types. Roman Leshchinskiy announced the first release of package 'strict' which provides strict versions of standard Haskell types. At the moment, pairs, Maybe and Either are defined. The library is available from hackage. Chess in Haskell. Steffen Mazanek announced a straightforward implementation of a chess engine in Haskell, available as a tutorial exercise. storylen: story word count and categorization. Dino Morelli announced storylen, a command-line utility that counts the words in files and classifies them into story types (short story, novella, novel...). Its operation and output are very similar to the *nix program wc. This is useful for books in plain ascii text. Haskell' This section covers the Haskell' standardisation process. Type aliases and Id Strict bits of datatypes Literate Haskell specification Libraries This week's proposals and extensions to the standard libraries. Reduce base from the top Make Data.Graph.Inductive.NodeMap handle slightly messy input without crashing ByteString based datagram communication Discussion Haskell in the real world: building a commercial website in Haskell with WASH. Adam Peacock described how he implemented a commercial website in Haskell, using WASH Haskell communities worthy of academic study?. Claus Reinke wondered about the software archeology of Haskell. Type level programming to eliminate array bound checking in the real world. Vivian McPhail mentioned an attempt to write code that will receive an array from C land and convert it to a type safe representation. Conference roundup Commercial Users of Functional Programming. Simon Peyton-Jones announced the call for speakers for this year's CUFP. If you use functional programming as a means, rather than as an end, this message is an invitation for you to offer to give a talk at the workshop. Jobs One-year INRIA post-doctoral position. Frederic Blanqui announced a one-year INRIA post-doctoral position is available investigating 'Generation of construction functions guaranteeing algebraic invariants on concrete data types' Blog noise Haskell news from the blogosphere. What Programming Languages Should You Know? Monads in 15 minutes: Backtracking and Maybe Time to learn a little Haskell... Say what you mean, mean what you say Fundamental Ideas of Computing On Code Generation Monads in the unix shell Haskell Eye for the Ruby Guy 2D Mouse Picking with OpenGL and GLUT Implementing chess in Haskell Command line arguments in Haskell IFS In Haskell Spider Solitaire, Intro Learning Haskell... Quick and Dirty Theorem Prover. Software Transactional Memory for concurrency Haskell thoughts. What Haskell teaches us about writing Enterprise-scale software Unit testing in Haskell The imaginary concurrency debate: Erlang versus Haskell On Haskell: Writing a black-list filter using the Writer Monad A simple file filter Haskell: an Imperative Language with Mutable State Pattern matching in Haskell and Ruby Haskell for C# Programmers Quotes of the Week AdamPeacock: Once I looked at the source code, 25000 lines of ASP, I reckoned it would be easier to rewrite it in a real language. JesseVincent: Perl's idea of a type system is: 'La-La-La, I don't hear you' LPhas: [In reference to HAppS.SimpleHTTP] When I first saw the type of 'h' my reaction was to hide under my bed SvenPanne: Taking away the prelude is a little bit like taking away 'int', 'double', 'for' and 'while' from a C programmer sjanssen: Threads are fine, its your language that sucks. thorat: C should only be used to implement something better 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]