News aggregator

Two research assistantships in model-driven engineeringand semantic technologies, University of Oxford

General haskell list - Fri, 01/16/2015 - 8:01am
We have two positions open in the Programming Languages and Software Engineering Research Group, for research assistants (postdocs) in model-driven engineering and semantic technologies. The positions are associated with the EU-funded “ALIGNED: Quality-Centric Software and Data Engineering” project, working with Jim Davies and Jeremy Gibbons. The primary selection criteria are strong design and development skills in object-oriented and functional programming, representation and manipulation of semi-structured data, and model transformation, together with a proven track record of relevant publications. (Although the posts won't be primarily focussed on FP, we would welcome applications from FPers interested in MDE.) Applicants should have a PhD in Computer Science. Full details are at and the closing date is 12 noon GMT on 9th February. Please contact me if you have any questions about the positions, and please distribute this notice to anyone who may be in
Categories: Incoming News

Undefined symbols when trying to use SDL-mixer

haskell-cafe - Thu, 01/15/2015 - 10:36pm
I'm trying to use SDL-mixer v0.6.1. When I add a dependency to my cabal file and run cabal repl I get the following error: Loading package SDL-mixer-0.6.1 ... <command line>: can't load .so/.DLL for: /home/prf/haskell/link-problem/.cabal-sandbox/lib/x86_64-linux-ghc-7.8.3/SDL-mi xer-0.6.1/ (/home/prf/haskell/link-problem/.cab al-sandbox/lib/x86_64-linux-ghc-7.8.3/SDL-mixer-0.6.1/libHSSDL-mixer-0.6.1-ghc7 undefined symbol: Mix_FreeChunk) I can see these undefined symbols when I run: nm -D SDL-mixer-0.6.1/ | grep Free U Mix_FreeChunk U Mix_FreeMusic Running ldd on this file and grepping for SDL gives => /home/prf/haskell/link-problem/.cabal-sandbox/lib /x86_64-linux-ghc-7.8.3/SDL-0.6.5/ (0x00007fb20b30600 0) => /usr/lib64/ (0x00007fb20a232000) It seems like a dependency to /usr/lib64/ is missing. Line 1815 of SDL-mixer-0.6.1/configure c
Categories: Offsite Discussion

Mathematics of Program Construction (MPC 2015): finalcall for papers

General haskell list - Thu, 01/15/2015 - 3:32pm
Apologies for multiple copies. FINAL CALL FOR PAPERS 12th International Conference on Mathematics of Program Construction, MPC 2015 Königswinter, Germany, 29 June - 1 July 2015 BACKGROUND The MPC conferences aim to promote the development of mathematical principles and techniques that are demonstrably practical and effective in the process of constructing computer programs, broadly interpreted. The 2015 MPC conference will be held in Königswinter, Germany, from 29th June to 1st July 2015. The previous conferences were held in Twente, The Netherlands (1989), Oxford, UK (1992), Kloster Irsee, Germany (1995), Marstrand, Sweden (1998), Ponte de Lima, Portugal (2000), Dagstuhl, Germany (2002), Stirling, UK (2004, colocated with AMAST), Kuressaare, Estonia (2006, colocated with AMAST), Marseille, France (2008), Québec City, Canada (2010, colocated with AMAST), and Madrid, Spain (2012). TOPICS Papers are solicited on mathematical methods and tools put to use i
Categories: Incoming News

I wish that `f` = flip f

Haskell on Reddit - Thu, 01/15/2015 - 3:26pm

A function f :: A -> B -> C can be applied in infix form where:

a `f` b <=> f a b

I think this is a mistake and that it should instead have been:

a `f` b <=> f b a

sepBy (from Parsec) is a typical example of the problem. In Haskell we can either write:

p `sepBy` (symbol ",")


sepBy p (symbol ",")

But the second form looks strange and swapping the arguments would make the infix form look strange instead.

A similar example is asTypeOf. Consider:

asTypeOf 1 int

It looks wrong because, like sepBy, it is made to appear natural when used in infix form:

1 `asTypeOf` int

If `f` = flip f this would not have been a problem. This would also allow the familiar object-method syntax (for those who like that):

[1,2,3] `map` f <=> map f [1,2,3] 'A' replicate 5 <=> replicate 5 'A' m `lookup` 'b' <=> lookup 'b' m 5 `mod` 2 <=> mod 2 5

Note that mod 2 would be a modulo 2 function, which IMO is more intuitive than a function taking 2 modulo something.


My wish was that infix function application should flip it's arguments to rid strange things like this:

subtract 2 5 == 3 -- good 5 `subtract` 2 == -3 -- what?

This discussion has given me insights to change my mind on this. Here is why.

First, some really good counter examples came up. Functions like zip and mappend works fine as things are now:

mappend [1,2] [3,4] == [1,2,3,4] == [1,2] `mappend` [3,4]

Flipping the arguments for the infix form would make it awkward.

Then it was pointed out that

(&) = flip ($)

can be used to "infix" a function to it's flipped form, so that

5 &subtract 2 == 3

as expected. (Compared to the infix form)

Also & is to be added to Data.Function (to my understanding) so will became standardized.

This means we can both eat the cake and have it too!

Still, I maintain that some functions such as mod and sepBy have their arguments in wrong order. Even more so when & comes along. I agree with fridofrido that argument order should by convention be driven by the pattern of partial application.

submitted by togrof
[link] [79 comments]
Categories: Incoming News

1/15/2015 3:46:00 PM

haskell-cafe - Thu, 01/15/2015 - 5:46am Diony Rosa 1/15/2015 3:46:00 PM_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >
Categories: Offsite Discussion

knupfer/haskell-emacs - Thu, 01/15/2015 - 1:34am
Categories: Offsite Blogs

Functional Jobs: Functional Software Developer at Moixa Technology (Full-time)

Planet Haskell - Thu, 01/15/2015 - 1:07am

Green energy / IoT startup Moixa Technology is seeking to add to our software team.

We're a small team dedicated to developing technology that enables a radical change in the way that energy is used in the home. We are just ramping up to deliver a project (working with large energy companies) demonstrating how communities can use the Maslow system across a group of homes to share energy in that community. We will need to deploy software that addresses some challenging problems to make this possible.

The code that we develop is built around providing services based on the hardware systems that we are deploying and so needs to work with the constraints and characteristics of the hardware & low level firmware we have built.

We're looking for individuals with generalist approach that are willing and and able to participate in all aspect of design, implementation and operation of our platform. The candidate must be happy in a small team, and also able to work autonomously. We are expanding as we ramp up to deliver the next generation of control software to our increasing number of deployed system. This is an exciting moment for the company.


  • Design & implemetation of all parts of our software stack (web frontend & backend, data analytics, high-level code on IoT devices)
  • Operations support (expected <20% of time)

Our current stack involves:

  • Scala (Akka, Play) / ClojureScript / Haskell
  • Postgres, neo4j
  • Raspberry PI / Arch Linux
  • PIC32 microcontroller / C

Skills and Requirements:

  • Experience in one or more functional languages
  • Familiarity with at least one database paradigm
  • Linux scripting and operation


  • Familiarity with (strongly) typed functional languages (Haskell/ML/Scala)
  • Embedded programming experience
  • Experience in data analytics (Spark or similiar)
  • Experience in IoT development
  • Open Source contributions

Moixa technology is based in central London (Primrose Hill), Salary depending on experience + performance based share options.

Get information on how to apply for this position.

Categories: Offsite Blogs

PhD position

General haskell list - Wed, 01/14/2015 - 10:26pm
****************************************************************** *** PhD Position *** *** Categories, Coalgebras and Types *** *** Mathematically Structured Programming Group *** University of Strathclyde *** ****************************************************************** Applications are invited for PhD study under the supervision of Prof Neil Ghani and Dr Conor McBride on any of the following topics * Dependently Typed Programming * Homotopy Type Theory * Coalgebra * Category Theory in Computer Science The position is fully funded for EU students (apologies to non EU-citizens for this ridiculous piece of non-meritocracy) and will last for 3 years.The applicant's motivation must centre on a desire for beautiful mathematics of lasting value. The applicant should also have an innate sense of the wonder of learning allied to the capacity to work hard and achieve their goals. The Mathematically Structured Programming G
Categories: Incoming News

Haskell IDE/Text Editor for Windows?

Haskell on Reddit - Wed, 01/14/2015 - 8:54pm

I'm in a computational physics class that is based on the Haskell programming language. My professor uses a linux machine and I have a windows machine (64 bit).

I'm having trouble finding a quick/simple/easy to use IDE/Text Editor for Haskell. So far, the best/easiest I've found is Sublime Text 2 with the Haskell extension (incredibly easy to install, very fluid interface)

It pains me to admit that I'm not too command line savvy... so a lot of these things go over my head. Do you guys know of any simple to install Text Editor that works with Haskell? I'm hoping I can just run a .exe and have the program install and work, rather than having to navigate through a maze of directories that I'm unfamiliar with.

Thanks for any help you can provide!

submitted by sqrlsattack
[link] [25 comments]
Categories: Incoming News

Strathclyde PhD position

Haskell on Reddit - Wed, 01/14/2015 - 8:26pm
Categories: Incoming News

TYPES 2015 call for contributions

General haskell list - Wed, 01/14/2015 - 7:43pm
CALL FOR CONTRIBUTIONS 21st International Conference on Types for Proofs and Programs, TYPES 2015 Tallinn, Estonia, 18-21 May 2015 Background The TYPES meetings are a forum to present new and on-going work in all aspects of type theory and its applications, especially in formalized and computer assisted reasoning and computer programming. The meetings from 1990 to 2008 were annual workshops of a sequence of five EU funded networking projects. Since 2009, TYPES has been run as an independent conference series. Previous TYPES meetings were held in Antibes (1990), Edinburgh (1991), Båstad (1992), Nijmegen (1993), Båstad (1994), Torino (1995), Aussois (1996), Kloster Irsee (1998), Lökeberg (1999), Durham (2000), Berg en Dal near Nijmegen (2002), Torino (2003), Jouy en Josas near Paris (2004), Nottingham (2006), Cividale del Friuli (2007), Torino (2008), Aussois (2009), Warsaw (2010), Berge
Categories: Incoming News