background preloader

Haskell

Facebook Twitter

What’s good for C++ is good for … Haskell!? A few days ago, my Facebook colleague Andrei Alexandrescu posted a note entitled Three Optimization Tips for C++, which reminded me that I had unfinished business with Haskell’s text package.

What’s good for C++ is good for … Haskell!?

I took his code, applied it to the text package, and this is the story of what happened. The text package provides a type named Builder for efficiently constructing Unicode strings from smaller fragments. A couple of years after Johan contributed the initial Builder implementation, I wrote some helper functions to perform recurring tasks, such as rendering numbers. Haskell « Daniel's Notebook. Let’s start with a simple “Hello World” application.

Haskell « Daniel's Notebook

The idea is to achieve the following: The input to the system is static signal with value “Hello Yampa”. This signal will be piped through the main program without being changed. Thus, the resulting signal should be just “Hello Yampa”. All the output function has to do is to print it via putStrLn and indicate that it wants to terminate the program.

Frp

Learn Me A Haskell. Javascript. Learn You a Haskell for Great Good! - Chapters. Text/Printf.hs. GTK+ and Haskell (gtk2hs) on Windows. Gtk2hs is my favorite way to do cross-platform GUI programming in Haskell — and it’s the toolkit to use if you want to work through the examples in the excellent *Real World Haskell*.

GTK+ and Haskell (gtk2hs) on Windows

But the official instructions for building gtk2hs on Windows leave out some important information, so here’s how I got it all working on Windows 7… Haskell Platform First of all, if you haven’t done so already, download and install the latest release of the Haskell Platform for Windows (version 2010.2.0.0 at the time of this writing). Opt for the installer to add GHC and friends to your %PATH%. Next download the GTK+ 2.16 all-in-one bundle and extract it to C:\Gtk, then add C:\Gtk\bin to %PATH% by hand.

Verify that the library is installed correctly by running: pkg-config.exe --modversion gtk+-2.0 The above will report the version number of your installed GTK+ library, e.g. 2.16.6. Sifflet Tutorial. Gregory D.

Sifflet Tutorial

Weber August 12, 2013 Sifflet Version 2.2 Just as water flows through rivers, and as rivers flow into other rivers and join their waters, so data flows through channels and mingles with other flows of data. Just as factories, sewage processing plants, dams, or power plants on a river may alter its water (unfortunately, often for the worse), so information processing units transform the data that flow through them (but for the better, we hope). Haskell « A Critical Systems Blog. Looking to make a statement this holiday season?

Haskell « A Critical Systems Blog

You could try to win the office “ugly holiday sweater” contest. Or, you could play “Jingle Bells” on your Arduino microcontroller, using Haskell. This post is about the latter. We’re going to write this small program using the Copilot embedded domain-specific language (on Hackage and the source on Github). Apprendre Haskell vous fera le plus grand bien ! - Fonctions d’ordre supérieur. Les fonctions Haskell peuvent prendre d’autres fonctions en paramètres, et retourner des fonctions en valeur de retour.

Apprendre Haskell vous fera le plus grand bien ! - Fonctions d’ordre supérieur

Une fonction capable d’une de ces deux choses est dite d’ordre supérieur. The Haskell Cheatsheet. » GPS to HTML Report with Haskell. Aug-15th-2012 Ever wanted a full DBLP database file containing all publication information for a given author (presumably yourself)?

» GPS to HTML Report with Haskell

DBLP is a computer science bibliography database. Journals tracked on this site include VLDB, the IEEE Transactions, the ACM Transactions, and conference data. I’ve put together a dblp2bibtex utility, written in Haskell, that enables authors to download all publication data from DBLP, for a given author. Actors with Multi-Headed Receive Clauses.

The actor model provides high-level concurrency abstractions to coordinate simultaneous computations by message passing.

Actors with Multi-Headed Receive Clauses

Languages implementing the actor model such as Erlang commonly only support single-headed pattern matching over received messages.In Martin Sulzmann, Edmund S. L. Lam, Peter Van Weert: Actors with Multi-headed Message Receive Patterns. Haskell DLL's on Windows. The current section of the GHC manual on creating DLL's on Windows is fairly confusing to read, and has some bugs (i.e. 3605).

Haskell DLL's on Windows

Since I got tripped up by the current documentation, I offered to rewrite sections 11.6.2 and 11.6.3 (merging them in the process). Creating Windows DLL's with GHC is surprisingly easy, and my revised manual section includes an example which can be called from both Microsoft Word (using VBA) and C++. I've pasted the revised manual section as the rest of this blog post.

Sound

Hledger.org - hledger. GF - Grammatical Framework. Natural Language Processing for the Working Programmer. Real world haskell. Apprendre Haskell vous fera le plus grand bien ! - Compiler. Blog. Planet Haskell. 99 questions/1 to 10. Things that amuse me. Http. Blog » Blog Archive » Building a shared library in Haskell. A lot has been written on the topic of Foreign Function Interface and its use for calling Haskell from C, yet the official GHC and FFI documentation lack a description of an easy way to create a shared library that may be used from C in a regular way.

blog » Blog Archive » Building a shared library in Haskell

In this article I present a little bit hacky, but still very simple and comfortable way to do this on Linux (which hopefully applies to all similar Unixes as well). The FFI documentation as well as the GHC manual explain that you have to call hs_init before calling into Haskell. I will present a C helper that does this automatically, I shall explain why it really works and I will provide a Makefile that makes this all pretty easy. In the end, we're going to be able to simply write Haskell modules with a few foreign export declarations and get working shared libraries out of the box. Introduction Haskell.pdf (Objet application/pdf)

Parsing

Monad. Leksah - Haskell IDE in Haskell. Introduction Haskell. Functional Reactive Programming. Functional Reactive Programming (FRP) integrates time flow and compositional events into functional programming. This provides an elegant way to express computation in domains such as interactive animations, robotics, computer vision, user interfaces, and simulation. 1 Introduction The original formulation of Functional Reactive Programming can be found in the ICFP 97 paper Functional Reactive Animation by Conal Elliott and Paul Hudak.