News aggregator

Big Data & Haskell

haskell-cafe - Tue, 02/04/2014 - 4:11pm
Is Haskell ready? Are there library which can - distribute data on multiple machines (similar to cassandra) - implement multi index things, such as having fields - name (eg of stores) - geo location (x/y) keys so that you can find items nearby a location fast - additional data to be searched as needed Maybe have server which gets "code" sent by a master to be compiled defining the data to host or such? I know that this could be done - just wondering whether it has been done already. Marc Weber
Categories: Offsite Discussion

fromString and toString

haskell-cafe - Tue, 02/04/2014 - 3:55pm
I know we have class IsString a where fromString :: String -> a But do we have an inverse generic function toString defined anywhere? IsString implies that the type `a` is a subset of String; if all we have is fromString, then IsString defines *supersets* of String. To me, the most logical thing would be that IsString defines bijections to String (i.e. things that are subsets *and* supersets). The reason this came up is that I'm getting pretty sick of type-juggling different string types from different libraries (String, Text, various ByteStrings), especially since I have to tweak all the functions I use if a type changes; discovering fromString was fantastic, but without toString, I can't define something like reString :: (IsString a, IsString b) => a -> b which is great to have if your putStrLn only accepts one kind of string, and you have several distinct ones floating around. Thanks, Ben _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe< at >haskell.org http://ww
Categories: Offsite Discussion

GHC dev. env. using rake and cabal: https://github.com/topos/hray

Haskell on Reddit - Tue, 02/04/2014 - 3:23pm

This may too biased to be useful to others but in case you have similar sensibilities, the above github link may make your life easier if you want to play around with Haskell.

It will only work on Ubuntu 13.10 (Saucy) and you'll need to understand rake/ruby to make it work for you.

If you have any problems, please email me at my github account.

submitted by slacket
[link] [3 comments]
Categories: Incoming News

[ANNOUNCE] tasty-hunit-adapter and tasty-program

haskell-cafe - Tue, 02/04/2014 - 2:21pm
Dear Haskellers, I recently released two small packages that extend functionality of Roman Cheplyaka's tasty testing framework: 1. tasty-hunit-adapter allows to import existing HUnit tests into tasty. Hackage: http://hackage.haskell.org/package/tasty-hunit-adapter GitHub: https://github.com/jstolarek/tasty-hunit-adapter 2. tasty-program allows to run external program and test whether it terminates successfully. Hackage: http://hackage.haskell.org/package/tasty-program GitHub: https://github.com/jstolarek/tasty-program These packages are inspired by similar packages for test-framework. tasty-program has very basic functionality at the moment, most notably it completely ignores stdout and stderr of a program. If you want this functionality please say so here: https://github.com/jstolarek/tasty-program/issues/1 Jan Stolarek
Categories: Offsite Discussion

How I Develop with Nix

Haskell on Reddit - Tue, 02/04/2014 - 1:23pm
Categories: Incoming News

[proposal] Cabal Daemon: Thoughts?

Haskell on Reddit - Tue, 02/04/2014 - 10:24am

Given that cabal updates almost every day with new packages, I feel that it would be pretty awesome if a cabal-daemon were developed. I often forget to 'cabal update' before performing installs.

Said daemon would poll hackage for package update notifications, and update the local cabal package index with any changes. Being a daemon, it would run as a low-priority process in the background. I imagine said daemon polling once every 15-30 minutes is more than enough, though a push-based design might be even better.

Thoughts?

submitted by alejcabrera
[link] [7 comments]
Categories: Incoming News

Jan Stolarek: Two new libraries to extend tasty testing framework

Planet Haskell - Tue, 02/04/2014 - 6:43am

When I recently wrote about porting my haskell-testing-stub project to tasty I mentioned that test-framework still has more libraries than tasty. I decided to contribute to changing that and released two small packages that extend tasty with extra functionality:

  • tasty-hunit-adapter allows to import existing HUnit tests into tasty (hackage, github): module Main where   import Test.HUnit ( (~:), (@=?) ) import Test.Tasty ( defaultMain, testGroup ) import Test.Tasty.HUnit.Adapter ( hUnitTestToTestTree )   main :: IO () main = defaultMain $ testGroup "Migrated from HUnit" $ hUnitTestToTestTree ("HUnit test" ~: 2 + 2 @=? 4)
  • tasty-program allows to run external program and test whether it terminates successfully (hackage, github): module Main ( main ) where   import Test.Tasty import Test.Tasty.Program   main :: IO () main = defaultMain $ testGroup "Compilation with GHC" $ [ testProgram "Foo" "ghc" ["-fforce-recomp", "foo.hs"] Nothing ]
  • This package has only this basic functionality at the moment. A missing feature is the possibility of logging stdout and stderr to a file so that it can later be inspected or perhaps used by a golden test (but for the latter tasty needs test dependencies).

Categories: Offsite Blogs

5th Answer Set Programming Competition 2014 - CALL FORPARTICIPANTS

General haskell list - Tue, 02/04/2014 - 12:50am
[apologies for any cross-posting] ======================================================================== ================================================================== 5th Answer Set Programming Competition 2014 Call for Participant Systems Aalto University, University of Calabria, University of Genova Spring/Summer 2014 https://www.mat.unical.it/aspcomp2014 aspcomp2014< at >mat.unical.it ================================================================== Special edition of the ASP competition series -system track- part of the Olympic Games of the Vienna Summer of Logic 2014 == Important Dates == * March 1st, 2014: Participant registration opens * March 31st, 2014: The competition starts * July 2014: Awards are presented at FLoC (22nd) and at ICLP (19th-22nd) ======================================================================== Answer Set Programming (ASP) is a well-established
Categories: Incoming News

Yesod Web Framework: conduit 1.0.13 and ZipSource

Planet Haskell - Tue, 02/04/2014 - 12:41am

A few months ago, Petr Pudlák kicked off the conduit-extra package with the addition of ZipSink. As a refresher, ZipSink provides an alternative Applicative instance for Sink which allows multiple Sinks to consume the same stream.

I've just release version 1.0.13 of conduit which promotes ZipSink from conduit-extra into conduit itself. This abstraction has proven to be generally useful, and I hope others enjoy it as well. If you want a more in-depth review of it, please see the original blog post. The only change since then is renaming broadcast to sequenceSinks.

Along with this change, version 1.0.13 adds a new, similar concept: ZipSource and sequenceSources. The idea here is to combine together multiple streams, instead of sequencing one stream after another.

As a simple motivating example, let's say we have some files on the filesystem, where each file contains a list of student test scores. We want to combine together the test scores for all students for each of the tests. The following program does the job:

import Control.Monad.Trans.Class (lift) import qualified Data.ByteString.Char8 as S8 import Data.Conduit import qualified Data.Conduit.Binary as CB import qualified Data.Conduit.List as CL import qualified Data.Map as Map type Name = String people :: [Name] people = words "alice bob charlie" files :: Map.Map Name FilePath files = Map.fromList $ map (\name -> (name, name ++ ".txt")) people scores :: MonadResource m => FilePath -> Source m Int scores fp = CB.sourceFile fp $= CB.lines $= CL.map (read . S8.unpack) sources :: MonadResource m => Map.Map Name (Source m Int) sources = fmap scores files sources' :: MonadResource m => Source m (Map.Map Name Int) sources' = sequenceSources sources main :: IO () main = runResourceT $ sources' $$ CL.mapM_ (lift . print)

The important bit is the definition of sources'. We use sequenceSources to combine together each of the individual test scores into a single test score map. With some basic input files, the output looks like:

fromList [("alice",1),("bob",3),("charlie",2)] fromList [("alice",2),("bob",2),("charlie",2)] fromList [("alice",3),("bob",1),("charlie",2)]
Categories: Offsite Blogs

ANNOUNCE: GHC 7.8.1 Release Candidate 1

glasgow-user - Tue, 02/04/2014 - 12:35am
We are pleased to announce the first release candidate for GHC 7.8.1: http://www.haskell.org/ghc/dist/7.8.1-rc1/ http://www.haskell.org/ghc/docs/7.8.1-rc1/html/ This includes the source tarball and bindists for Windows, Linux, OS X, FreeBSD, and Solaris, on x86 and x86_64. There is a signed copy of the SHA256 hashes available (attached) using my GPG key (keyid 0x3B58D86F). We plan to make the 7.8.1 RC2 release quite soon, as we're aware of some existing issues. Please test as much as possible; bugs are much cheaper if we find them before the release!
Categories: Offsite Discussion

CTO Opportunity

haskell-cafe - Mon, 02/03/2014 - 11:19pm
My name is Charles Weitzer. I do recruiting for major quantitative hedge funds worldwide. I have a client, a startup quantitative hedge fund located in Northern California, that would like to hire a Chief Technology Officer as soon as possible. Their job description can be found below. * Chief Technology Officer Fast-growing science and technology driven company seeks a Chief Technology Officer. We apply statistical machine learning to develop automated trading systems. We are a growing group of exceptional software and infrastructure professionals and seek an experienced candidate to lead and grow the team. The CTO will manage the implementation of our next generation infrastructure, including production trading systems, software infrastructure for our research department, and our compute and storage hardware systems. The CTO will work directly with the Head of Research and the CEO to set the technical direction of the company. A strong candidate will be well-versed in state-of-the-art technology (pa
Categories: Offsite Discussion