News aggregator

Interesting abstract concepts in Functional Programming/Category Theory

Haskell on Reddit - Wed, 10/21/2015 - 6:38am

What are the interesting abstract and general concepts that a Haskeller might want to learn about? (when I say concepts I mean monads, lenses, ...) What are the examples of application of these concepts?

I would be most grateful for mentions of concepts based on some actual theory (in other words I prefer reading about discovered stuff rather than invented, to use the differentiation I hear from Philip Wadler).

submitted by jd823592
[link] [2 comments]
Categories: Incoming News

Install Haste, windows

Haskell on Reddit - Wed, 10/21/2015 - 6:20am


Im using winGHCi but Im not quite sure how to install haste, I have downloaded and installet the haste installer from their website but then Im not sure how to use it. Do I have to install in in a certain path or something?


submitted by Kablaow
[link] [2 comments]
Categories: Incoming News

PhD and Postdoc Positions - KWARC,Jacobs University Bremen

General haskell list - Wed, 10/21/2015 - 6:17am
The KWARC group [1] at Jacobs University Bremen [2] is looking for Ph.D. candidates and PostDocs in multiple projects, e.g. [3,4]. See also Jacobs University Bremen is a private, English-speaking research university in Germany. The KWARC group conducts research on the representation and management of formal and informal knowledge in the STEM disciplines (Science, Technology, Engineering, and Mathematics). Our interests cover the whole range from formal to informal knowledge and include - logics and foundations of mathematics - formalizing/verifying knowledge - informal and semi-formal documents (specifications, papers, web pages, etc.) - domain-specific applications (spreadsheets, CAD, etc.) - knowledge management (search, user interfaces, system integration, etc.) We build systems that cover these diverse areas uniformly and integrate across domains, languagues, and tools, always combinng logical correctness, wide-range applicabi
Categories: Incoming News

How do you do a Hex board in Haskell?

Haskell on Reddit - Wed, 10/21/2015 - 4:24am

Hi. I'm planning to (maybe) write a game of Hex in Haskell. How would I represent the board? Should I use a quadtree, or Vectors of Vectors, or something else? I need to be able to check easily if both ends are connected.

I'm planning to call it Hexal.

I'm planning to use minmax and I want to use pure code.

submitted by jkabrg
[link] [27 comments]
Categories: Incoming News

Johan Tibell: Video of my Haskell eXchange 2015 talk

Planet Haskell - Wed, 10/21/2015 - 1:22am

Thanks to the fast people at Skill Matter, my Haskell eXchange 2015 talk is now available online (slides).

Categories: Offsite Blogs

Google styleguide for Haskell

Haskell on Reddit - Tue, 10/20/2015 - 10:43pm

Since Google also has a few projects in Haskell I was wondering if there is a styleguide that they use? It appears there are quite a few of them for other languages, see e.g. here.

submitted by kapuzineralex
[link] [26 comments]
Categories: Incoming News

Haskell.SG Octorber Talks' Recordings

Haskell on Reddit - Tue, 10/20/2015 - 9:03pm

"Monadic Parsers: Implementing a micro Parsec" -- Omer Iqbal

"Explaining type classes that seem difficult for beginners" -- Tim Oxley and Michał J. Gajda

submitted by MnO2
[link] [comment]
Categories: Incoming News

3 release policy

libraries list - Tue, 10/20/2015 - 8:55pm
A "3 release policy" has been recently mentioned several times, whereby it should always be possible to write code that compiles with the last three releases of GHC, without generating any -Wall warnings. The no warning requirement seems excessively harsh. Will early warnings of impending breakage really cause so much trouble that accepted proposals have to be dragged out over several years to avoid them? If so, would a flag to suppress the warnings suffice? I should note that GHC has traditionally had no qualms about introducing new warnings, on by default. -- View this message in context: Sent from the Haskell - Libraries mailing list archive at
Categories: Offsite Discussion

Russell O'Connor: Stochastic Elections Canada 2015 Update

Planet Haskell - Tue, 10/20/2015 - 7:56pm

The rule of the people has the fairest name of all, isonomia, and does none of the things that a monarch does. The lot determines offices, power is held accountable, and deliberation is conducted in public. — Herodotus

In Athenian democracy, sortition was used to select their magistrates in order to avoid the oligarchs buying their way into the office. What would happen if we used a form of sortition to to select our parliament? Since most people are too busy and unprepared to sit in parliament, I propose the next best thing: the drawing of lots in a riding to select a person to chose the representative for the riding. What would happen?

The resulting system is a unique system that provides local representation and approximately proportional representation. Each party gets a chance to represent a riding in roughly proportion to the amount of support they have in the riding. Democracy means “rule of people”, not “rule of the majority” (nor “rule of the plurality”). Not only is it perfectly democratic for the minority to get an opportunity to be represented in parliament, it is more democratic than what we have in Canada now.

Of course, directly selecting a random person in a riding is fraught with difficulties, so instead one would vote, as we do now, for one’s preferred candidate. Then, once the votes are tallied, a candidate is selected randomly with probability proportional to the vote they received. In this system it is always best to vote for your preferred candidate. There will be no more strategic votes or vote splitting. Voting participation would go up since every vote increases the chances of your preferred candidate being selected. The resulting parliament will be close to the proportion of the number of votes received for each party without having MPs selected from a party list.

Imagine a world where we have Stochastic Elections Canada. Stochastic Election law requires that all counts be validated and recounted, if requested, before seat selection takes place. Because in every vote influences the outcome, we must await the return of the writs, scheduled by electoral law for Monday, November 9, 2015. For now, we can bring you our seat expectation chart based on preliminary 2015 election results:

Expected Seat Distribution Party Expected Number of Seats
(95% confidence) Distribution Shape Animal Alliance/Environment Voters 0 – 1 ATN 0 Bloc Québécois 9 – 22 Canada Party 0 CAP 0 Christian Heritage Party 0 – 2 Communist 0 – 1 Conservative 91 – 122 Democratic Advancement 0 – 1 Forces et Démocratie - Allier les forces de nos régions 0 – 1 Green Party 5 – 18 Liberal 119 – 153 Libertarian 0 – 3 Marxist-Leninist 0 – 1 NDP-New Democratic Party 54 – 81 PACT 0 PC Party 0 – 1 Pirate 0 Radical Marijuana 0 – 1 Rhinoceros 0 – 1 Seniors Party 0 The Bridge 0 United Party 0 Independent 0 – 3 No Affiliation 0 – 1

Related info

Categories: Offsite Blogs

Callstack Implicit Param for Unsafe Prelude Functions

haskell-cafe - Tue, 10/20/2015 - 6:29pm
Since the latest base now has a way of getting generating stack traces via the `CallStack` implicit param, is there any reason not to add that param to the error messages of unsafe functions in the Prelude ( and even commonly used modules like Data.Maybe/Data.List)? The type signature will change but for most users it should be a drop-in replacement and a great aid to debugging. Thanks! -deech _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >
Categories: Offsite Discussion

Understanding type signature.

Haskell on Reddit - Tue, 10/20/2015 - 5:49pm

Why does the following: let fn x = ceiling.negate.tan.cos.max 50 x

result in the following type signature fn :: (Floating a1, Integral c, Num (a -> a1), Ord (a -> a1), RealFrac a1) => (a -> a1) -> a -> c

2) And the following: let fn x = (ceiling.negate.tan.cos.max 50) x

results in the following type signature: fn :: (Floating a, Integral c, RealFrac a) => a -> c

submitted by learnhaskell123
[link] [1 comment]
Categories: Incoming News

Using a custom Prelude

Haskell on Reddit - Tue, 10/20/2015 - 5:37pm

I'd like to have your comments on using a custom Prelude module. We have quite a large code base in Haskell consisting of a few dependent projects. Using a custom Prelude, we can enforce some nice coding habits, e.g., avoiding using partial functions by hiding them. Additionally, currently we use ghc 7.8.4, but we want to move to ghc 7.10 in the near future. A custom Prelude allows us to gradually follow the changes that are made to base 4.7.

I am currently using the way Pandoc uses a custom Prelude. That is having a Prelude in your source structure and importing the base Prelude using {-# LANGUAGE PackageImports #-} pragma. This works fine for a single project, but I have no idea how to extend it to multiple projects. Of course I don't like to replicate the same file in different projects.

Another approach would be to use the NoImplicitPrelude extension and import the custom prelude in every single module that we want to use. I don't really like this approach since we have to import it in thousands of modules and it does not enforce using this custom Prelude.

Update: I found a new approach that looks more promising: base-noprelude is a package that replicates the base package with Prelude removed. Using this package instead of base, you can provide your own Prelude.

submitted by gtab62
[link] [9 comments]
Categories: Incoming News

Plausability of a SalesForce written in Haskell

Haskell on Reddit - Tue, 10/20/2015 - 5:06pm

I have some time to learn new technology right now. Oddly enough I am torn between learning two totally different things. The very practical and totally object oriented SalesForce and Haskell.

My main question is, wouldn't Haskell actually be better suited to designing massive data systems than an object oriented language like Apex (basically Java)?

Unless SalesForce isn't as OOP as I thought. But Haskell has a really clean way of creating Data and applying simply functions to that data.

submitted by analogphototaker
[link] [8 comments]
Categories: Incoming News

Job opportunities at Kaspersky Lab (Moscow)

haskell-cafe - Tue, 10/20/2015 - 3:48pm
Here at Kaspersky Lab, we are developing a secure platform&framework. We have two job opportunities right now. Both opportunities assume good command of Haskell, since we use Haskell extensively. These are full time positions, available at our Moscow (Russia) office. If you are interested, please apply on the corporate site or send your CV to me directly at dmitry.kulagin< at > Descriptions: Software Engineer: Responsibilities: * Development of core of the security system * Tools development (such as compilers/DSL) Skills/experience: * Strong experience developing with Haskell * C/C++ development experience * Good knowledge of basic algorithms and data structures * Compilers/DSLs development experience (desirable) * System programming experience (desirable) * Understanding of OS internals (desirable) * Experience in development of embedded and/or real-time applications (desirable) URL: * Researcher (formal methods/com
Categories: Offsite Discussion


Haskell on Reddit - Tue, 10/20/2015 - 3:46pm
Categories: Incoming News

Problems with Stack on Gentoo Linux

haskell-cafe - Tue, 10/20/2015 - 11:19am
Hi all I’m sorry if this is not the right list to ask, I was unsure. I’m having problems compiling a project with stack on a Gentoo machine. I only have shell access to the machine, so I don’t have too much info about it, but the admin assured me that everything is up to date. I’ve upgraded to the latest stack, but the problem was also present with 0.1.4. While doing stack build on my project with resolver lts 3.10 I get the following strange error: ----------------------------------------------------------------------------------------------
Categories: Offsite Discussion

Default definition for fromRational

libraries list - Thu, 10/15/2015 - 11:51pm
A suitable default definition for fromRational could be the following: fromRational n = fromInteger (numerator n) / fromInteger (denominator n) Changing the MINIMUM pragma to just {-# MINIMAL recip | (/) #-} - Joe
Categories: Offsite Discussion

New gtk2hs 0.12.4 release

gtk2hs - Wed, 11/21/2012 - 12:56pm

Thanks to John Lato and Duncan Coutts for the latest bugfix release! The latest packages should be buildable on GHC 7.6, and the cairo package should behave a bit nicer in ghci on Windows. Thanks to all!


Categories: Incoming News