News aggregator

FGL: The cost and propoer way of changing the labelat a node.

haskell-cafe - Thu, 08/06/2015 - 11:29pm
Is changing the label at a node O(N)? The only way I can think of to do it is with a map, like the following -- which works, but seems like its speed must be linear in the number of nodes of the graph: 'b', adjOut); _ -> c} mkGraph [(1,'a')] [(1,1,())] mkGraph [(1,'b')] [(1,1,())] Is that in fact the right way? Am I somehow missing the point of FGL if I have to do a lot of that? _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >
Categories: Offsite Discussion

Library for package preprocessing

haskell-cafe - Thu, 08/06/2015 - 9:33pm
Hi all, I'm writing a tool to analyze source code of a package, which uses haskell-src-extra. As copied from hackage, libraries may contain some extra stuff (for example, cpp directives). What is the modern way to preprocess the package (configuring for the environment, running the cpp ecc) to obtain code which is guaranteed to be parsed by haskell-src-extra? Ideally I'd like to leave most of the logic for this part outside of the package. Could you point me towards some libraries doing a similar thing? Best regards
Categories: Offsite Discussion

Mark Jason Dominus: A message to the aliens (introduction)

Planet Haskell - Thu, 08/06/2015 - 4:26pm
In 1999, two Canadian astrophysicists, Stéphane Dumas and Yvan Dutil, composed and sent a message into space. The message was composed of twenty-three pages of bitmapped data, and was sent from the RT-70 radio telescope in Yevpatoria, Ukraine, as part of a set of messages called Cosmic Call.

The message images themselves are extremely compelling. I saw the first one in the book Beyond Contact by Brian McConnell:

I didn't think much of the rest of the book, but the image was arresting. After staring at it for a while, and convincing myself I understood the basic idea, I found the full set of images on Mike Matessa's web site, printed them out, and spent a happy couple of hours at the kitchen table deciphering them.

Sometimes when I gave conference talks, I would put this image on the screen during break, to give people something to think about before the class started up again. I like to say that it's fun to see if you're as smart as an alien, or at least if as smart as the Canadian astrophysicists thought the aliens would be.

I invite you to try to understand what is going on in the first image, above. In a day or two I will post a full explanation, along with the second image. Over the next few weeks I hope to write a series of blog articles about the 23 pages, explaining the details of each.

If you can't wait that long for the full set, you can browse them here, or download a zip file.

Categories: Offsite Blogs

Debugging monadic code?

Haskell on Reddit - Thu, 08/06/2015 - 11:58am

Today I had a discussion with a coworker about exceptions vs monads for error handling. One of the main things he talked about was that he prefers exceptions, and try catch blocks to monads because he wants to know the specific line number of when something failed.

So if you have a long chain of functions that operate on a Maybe value how can you know what function turned it into a Nothing?

I told him that in my experience I have never really needed to know the line number where something turned into a Nothing. I could know where to start debugging by the types, tests, input, or some other context. Any specific example I showed him was too simple and he wanted to know about when it is a large and complicated code base. So since I could not really answer his question based on my experience, and he made me a little curious, I want to know what you guys think.

So how does one go about debugging their monadic code?

Is it important to people to know the exact line number in the code when a value turned into a Nothing?

Has anyone run into debugging problems that are worse because you were using monads instead of exceptions?

submitted by whitehead1415
[link] [6 comments]
Categories: Incoming News

Functional Jobs: Software Engineer / Researcher at Galois Inc. (Full-time)

Planet Haskell - Thu, 08/06/2015 - 10:52am

We are currently seeking software engineers/researchers to play a pivotal role in fulfilling our mission to make critical systems trustworthy.

Galois engineers participate in one or more projects concurrently, and specific roles vary greatly according to skills, interests, and company needs. Your role may include technology research and development, requirements gathering, implementation, testing, formal verification, infrastructure development, project leadership, and/or supporting new business development.

Skills & Requirements

  • Education: Minimum of a Bachelor’s degree in computer science or equivalent. MS or PhD in CS or a related field desirable but optional, depending on specific role.
  • Required Technical Expertise: Must have hands-on experience developing software and/or performing computer science research. Demonstrated expertise in aspects of software development mentioned above.
  • Required General Skills: Must work well with customers, including building rapport, identifying needs, and communicating with strong written, verbal, and presentation skills. Must be highly motivated and able to self-manage to deadlines and quality goals.

Our engineers use tools such as functional programming languages (including Haskell) and formal verification techniques to design and develop advanced technologies for safety- and security-critical systems, networks, and applications. Our research areas include computer security, cyber physical systems, identity management, security risk analysis, machine learning, systems software, and networking. Engineers work in small team settings and must successfully interact with clients, partners, and other employees in a highly cooperative, collaborative, and intellectually challenging environment.

We’re looking for people who can invent, learn, think, and inspire. We reward creativity and thrive on collaboration. If you are interested, please send your cover letter and resume.

Get information on how to apply for this position.

Categories: Offsite Blogs

Is there a way to enable help à la Python in REPL?

Haskell on Reddit - Thu, 08/06/2015 - 10:41am

It would be very helpful if one would type


And the haddock information are obtained directly. I'm not talking about search using hoogle and hayoo, it's rather a help about loaded library and data in the ghci (ala python interpreter).

submitted by BanX
[link] [12 comments]
Categories: Incoming News

Looking for a proper URL library

Haskell on Reddit - Thu, 08/06/2015 - 5:41am

Do we have a decent URL library, which does not confuse URL with the more general URI, like "uri" and "network-uri" do, and does not revolve around String?

submitted by nikita-volkov
[link] [24 comments]
Categories: Incoming News

Haskell LTS 3 coming soon

Haskell on Reddit - Thu, 08/06/2015 - 3:45am
Categories: Incoming News

Jens Petersen: Haskell LTS 3 coming soon

Planet Haskell - Thu, 08/06/2015 - 2:57am
[edit: The correct naming in the title should be "LTS Haskell".]
Recently Michael Snoyman asked for help with maintaining Stackage. Dan Burton, Adam Bergmark, and I volunteered and we have been helping maintain it now for the last 3 weeks: I think it is going pretty well.

"Heads-up, we're going to bump to LTS 3.0, so if you wanted to break any APIs, last chance for LTS for 3-6 months."  — Michael

Today Stackage Nightly moved from ghc-7.10.1 to 7.10.2, and we are excited to announce that we are planning to bump LTS Haskell to 3.0 hopefully by the start of next week based on current Nightly. So this week now is really the last chance for any breaking API changes for lts-3. From this point on then lts-2 will basically be frozen (like lts-1 is now) unless some exceptional updates should be needed.

This will be the first ghc version change for LTS Haskell (which is still on ghc-7.8.4) so it feels like an important milestone for LTS Haskell and Stackage.

Categories: Offsite Blogs

Pandoc and org headers

Haskell on Reddit - Thu, 08/06/2015 - 12:07am

Hi everyone!

I am trying to read org file using function readOrg from Text.Pandoc.Readers.Org. The problem is that I don't want it to include the org file header (or how is it properly called?). I mean, that I don't want the result to contain following information:

#+TITLE: The Title #+AUTHOR: Author #+EMAIL: Email #+DATE: <2015-08-06> #+STARTUP: showeverything #+OPTIONS: a bunch of options ...

I tried to look at ReaderOptions but it doesn't look relevant (they are common options). I looked through the source code, but I couldn't find anything helpful. Looks like it's not possible to achieve out of box. However I might miss something, that's why I am here.

The only solution I came to is dropping first lines of file that starts with #+.

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

Voleon Capital Management Hiring Senior SoftwareEngineer

haskell-cafe - Wed, 08/05/2015 - 10:48pm
Voleon Capital Management LP is a startup quantitative hedge fund located in Berkeley, California. We would like to hire a senior software engineer as soon as possible. Voleon's founders previously worked together at one of the most successful quantitative hedge funds in the world. Our CEO has a PhD in Computer Science from Stanford and has been CEO and founder of a successful Internet infrastructure startup. Our Chief Investment Officer has a PhD in Statistics from Berkeley. Voleon's team includes PhD's from leading departments in statistics, computer science, and mathematics. We have made several unpublished advances in the field of machine learning and in other areas as well. Here is our formal job description: ********************************************************** * Senior Software Engineer * Technology-driven investment firm employing cutting-edge statistical machine learning techniques seeks an exceptionally capable software engineer. You will architect and implement new production trading syst
Categories: Offsite Discussion

simultaneous ghc versions

glasgow-user - Fri, 07/31/2015 - 7:10pm
The recent release of ghc 7.10.2 reminded me of something I meant to ask about a long time ago. Most of the binaries ghc installs are versioned (x linked to x-7.10.2), with some exceptions (hpc and hsc2hs). Shouldn't they all be versioned? Also, 'haddock' is inconsistent with all the rest, in that it's haddock linked to haddock-ghc-7.10.2. I've long used a few shell scripts (recently upgraded to python) to manage ghc installs. A 'set' which creates symlinks to make a particular version current, and an 'rm' to remove all traces of a version. But due to the inconsistency, I have to remember to run "fix" first, which moves the unversioned binaries to versioned names. As an aside, I have three scripts I use all the time: set version, remove version, and remove library. Come to think of it, shouldn't ghc include this, instead of everyone creating their own shell scripts by hand?
Categories: Offsite Discussion

broken source link

glasgow-user - Fri, 07/24/2015 - 8:59am
Hi, when trying to look up the original definition for Data.List.transpose in I found that the source link does not work. Could this be fixed? Or should I look elsewhere for the sources? Cheers Christian P.S. my looking up transpose was inspired by
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